1

$(APPS)である部分的なターゲットをコンパイルしたいのですが、makefileの$(OFF)のターゲットを除外します。

APPS = a b c d e f g
OFF = d e

all: $(APPS)

partial: $(APPS) - $(OFF)

これどうやってするの?

4

1 に答える 1

1

私はおそらく少し異なるアプローチを取るでしょう:

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))
于 2012-07-19T02:04:21.037 に答える