0

前提条件として必要ないくつかの JavaScript ファイルをダウンロードするための Makefile があります。r.js

それぞれについて、ファイルをダウンロードできる.urlURL を含むファイルを作成し、次のようなパターン ルールを設定しました。.js

static/js/lib/%.js: jslibsurls/%.url
    curl -L -s -o $@ `cat $<`

.jsただし、Makefile のどこかに明示的な依存関係がある場合にのみ、ファイルをダウンロードします...

ターゲットがまだ使用されていない場合でも、一致する依存関係がある場合にパターンルールを実行する方法はありますか (作成されるとワイルドカードで使用されます)。

4

1 に答える 1

1

私はそれを理解したと思います。ファイルpatsubstの名前を使用してを作成し、その結果を電話ルールへの依存関係として使用し、それをステップの依存関係として使用する必要があります。.url.jsr.js

DOWNLOADED_LIBS+=$(patsubst jslibsurls/%.url,static/js/lib/%.js,$(wildcard jslibsurls/*.url))

download-libs: $(DOWNLOADED_LIBS)

#this downloads a .js in static/js/lib/ file for each .url file in jslibsurls/
static/js/lib/%.js: jslibsurls/%.url
    curl -L -s -o $@ `cat $<`

.PHONY: download-libs
于 2013-02-07T17:36:04.483 に答える