Makefileを書くとき、別の場所にある不特定多数の複数のファイルのベースファイル名だけが定義されたマクロを定義したいとする。
GNU makeだと
DIR = xxx/yyy/zzz
FILES = $(shell cd $(DIR); echo *.cc)
Solaris makeだと
DIR = xxx/yyy/zzz
CMD = cd $(DIR); echo *.cc
FILES = $(CMD:sh)
でできるらしい。
でも、できれば同じMakefileを使いたいものだ。いろいろ迷って
DIR = xxx/yyy/zzz
CMD = cd $(DIR); ls *.cc
FILES = $(CMD:sh) $(shell $CMD)
としてみた。一応動くけど… 微妙
サブMakefileを動的に作って、それを読み込ませるべきかな?
2008-11-08
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿