0

我想在零件的一个Makefile.am文件中包含许多文件xxx_SOURCES = ...。有没有办法在那里使用典型的外壳扩展?我正在寻找的是一个等效的工作:

xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c
4

2 回答 2

1

我不知道这是否是最好的方法,但这是我一直在做的:

xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)
于 2009-11-25T22:43:35.877 回答
1

1)在可移植的 Make 语法中没有办法做到这一点(ehemient 的答案只适用于 GNU Make) 2)也没有办法使用 Automake 做到这一点。(虽然该功能不应该太难由需要它的人实现......)

就个人而言,我并没有真正看到使用的优势

foo_SOURCES = subdir/{foo,bar,baz}.c

超过

foo_SOURCES = \
  子目录/foo.c \
  子目录/bar.c \
  子目录/baz.c

我发现前者更神秘,而且它不是 grepable (例如回答“哪个Makefile提到foo.c?”的问题)。

于 2009-11-26T17:04:38.180 回答