나중에 내 콤보 로더 서버 응용 프로그램을 사용하기 위해 .js 파일을 만들고 최소화하는 것을 돕기 위해 Makefile을 만들고 응용 프로그램에 빌드하는 방법을 배우려고합니다.은 변경된 빌드/최소화 된 JS 파일을 가지고 있습니다.
내가 수행하려고하는 것은 make를 실행하면 마지막 실행 이후 변경된 .js 파일 만 빌드 디렉토리로 복사 한 다음 해당 파일을 축소하고 -min을 생성합니다. .js 사본. 마지막으로 항상 새로운 meta.js 파일을 생성해야합니다.
내가 아래에서 작업 한 내용을 붙여 넣었으므로이 문제는 변경된 .js 파일 만 선택하지 않고 각 파일을 실행할 때마다 발생합니다. 이 인스턴스에서 변경된 파일 만 선택하는 방법에 뭔가 빠져 있습니다.
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를보고 싶습니다.
감사에만 의존하므로
는 다음
%
가, 양쪽에 같은 문자열로 교체해야 완전히 * % 대를 놓쳤다 – Rick