1
我正在嘗試學習在我的應用程序中創建和構建一個Makefile以幫助我構建和最小化稍後使用組合加載器服務器應用程序的我的.js文件。已建立/最小化已更改的JS文件
我試圖完成的是,當我運行make時,它將複製到build目錄中,只有自上次運行後發生更改的.js文件,然後縮小該文件並生成-min .js複製。最後,我需要始終確保生成一個新的meta.js文件。
我已經粘貼了我在下面的工作,這樣做的麻煩在於它不是隻選擇已更改的.js文件,而是每次運行時都選擇每個文件。我錯過了如何讓Make在這個實例中只選擇已更改的文件。
BOOKIE_JS = bookie/static/js/bookie
JS_BUILD_PATH = bookie/static/js/build
JS_META_SCRIPT = scripts/js/generate_meta.py
jsbuild: $(JS_BUILD_PATH)/bookie/meta.js
clean_js:
rm -rf $(JS_BUILD_PATH)/*
$(JS_BUILD_PATH)/bookie/meta.js: $(BOOKIE_JS)/y*-min.js
$(JS_META_SCRIPT) -n YUI_MODULES -s $(BOOKIE_JS)/y* -o $(JS_BUILD_PATH)/bookie/meta.js
$(BOOKIE_JS)/y*-min.js: $(BOOKIE_JS)/y*.js
scripts/js/jsmin_all.py $(JS_BUILD_PATH)/bookie
# this is the part that runs for each .js file and I'd like it to only run for the *modified* files
$(BOOKIE_JS)/y*.js: $(JS_BUILD_PATH)/bookie
cp [email protected] $(JS_BUILD_PATH)/bookie/
$(JS_BUILD_PATH)/bookie:
mkdir $(JS_BUILD_PATH)/bookie
clean: clean_js
.PHONE: clean clean_js
電流輸出:
cp bookie/static/js/bookie/yapi.js bookie/static/js/build/bookie/
cp bookie/static/js/bookie/ymodel.js bookie/static/js/build/bookie/
cp bookie/static/js/bookie/ytagcontrol.js bookie/static/js/build/bookie/
cp bookie/static/js/bookie/yview.js bookie/static/js/build/bookie/
scripts/js/jsmin_all.py bookie/static/js/build/bookie
scripts/js/generate_meta.py -n YUI_MODULES -s bookie/static/js/bookie/y* -o bookie/static/js/build/bookie/meta.js
我想看到的僅僅是修改過的文件的CP。
感謝,完全錯過了* VS% – Rick