我想在 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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top