题
我想在 xxx_SOURCES = ...
部分的一个 Makefile.am
文件中包含许多文件。有没有办法在那里使用典型的shell扩展?我正在寻找的是等效于:
xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c
解决方案
1)在便携式Make语法中无法做到这一点(ephemient的答案仅适用于GNU Make) 2)使用Automake也无法做到这一点。 (虽然这个功能不应该太难以由需要它的人实现......)
就我个人而言,我并没有真正看到使用
的优势foo_SOURCES = subdir/{foo,bar,baz}.c
在
foo_SOURCES = \ subdir/foo.c \ subdir/bar.c \ subdir/baz.c
我发现前者更加神秘,而且不易变形(例如回答问题“哪个 Makefile
提到 foo.c
?”)。 / p>
其他提示
我不知道这是不是最好的方式,但这是我一直以来所做的:
xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)
不隶属于 StackOverflow