8

ビルド ターゲット foo があるとします。

foo:foo.c
    $(CC) $(CFLAGS) $(ARGS) -c foo.c -o foo

今、ARGS私がコマンドラインで渡すものです:

$ make ARGS:=-DX=1 foo

fooそのため、ターゲットは変更されたファイルだけでなく、 の値にも依存するため、make の巧妙さを回避する必要がありますARGS

これを行うための何かがありますか?私のハック(回答を参照)は最もエレガントではないようですが、機能します。もっと良いものはありますか?

4

2 に答える 2

0

私の解決策は、ダミーの偽のターゲットを作成することでした:

.PHONY:dummy
dummy:
    @:

が空でないかどうかfooに依存しています:dummyARGS

foo:foo.c $(patsubst %,dummy,$(ARGS))
于 2014-10-01T15:46:40.837 に答える