$(APPS)である部分的なターゲットをコンパイルしたいのですが、makefileの$(OFF)のターゲットを除外します。
APPS = a b c d e f g
OFF = d e
all: $(APPS)
partial: $(APPS) - $(OFF)
これどうやってするの?
私はおそらく少し異なるアプローチを取るでしょう:
ON = a b c f g
OFF = d e
APPS = $(ON) $(OFF)
partial: $(ON)
ただし、これがニーズに対して単純すぎる場合は、必要な操作を正確に提供できるfilter-out
関数があります。
objects=main1.o foo.o main2.o bar.o
mains=main1.o main2.o
$(filter-out $(mains),$(objects))
この形式で例を書き直すと、次のようになります。
APPS = a b c d e f g
OFF = c d
partial: $(filter-out $(APPS),$(OFF))