質問

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ではないことがわかります(例: Makefile が foo.c ?"に言及している質問に答えるため)。

他のヒント

それが最善の方法であるかどうかはわかりませんが、これは私がいつもしてきたことです:

xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top