Automakeパターン拡張
質問
xxx_SOURCES = ...
部分の1つの Makefile.am
ファイルに多くのファイルを含めたい。そこに典型的なシェル拡張を使用する方法はありますか?私が探しているのは、次のものと同等の機能です:
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
前者はより不可解であり、grepableではないことがわかります(例: foo.c
?"に言及している質問に答えるため)。
他のヒント
それが最善の方法であるかどうかはわかりませんが、これは私がいつもしてきたことです:
xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)
所属していません StackOverflow