Makefile.am
パーツ内の1つのファイルに多くのファイルを含めたいですxxx_SOURCES = ...
。そこで典型的なシェル拡張を使用する方法はありますか? 私が探しているのは、次のものと同等の機能です。
xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c
それが最善の方法かどうかはわかりませんが、これは私がいつも行ってきたことです。
xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)
1)移植可能なMake構文でそれを行う方法はありません(ephemientの答えはGNU Makeでのみ機能します)2)Automakeを使用してそれを行う方法もありません。(ただし、機能を必要とする人が実装するのはそれほど難しくないはずです...)
個人的には使用する利点があまりわかりません
foo_SOURCES = サブディレクトリ/{foo,bar,baz}.c
以上
foo_SOURCES = \ サブディレクトリ/foo.c \ サブディレクトリ/bar.c \ サブディレクトリ/baz.c
前者の方が不可解であり、grep 可能ではありません (たとえば、「どれがMakefile
言及しているfoo.c
か?」という質問に答えるために)。