ich eine Regel so etwas wie möchte:Makefile Regel mit dem gleichen Namen zu bauen, aber anderes Verzeichnis
build/%.ext: src/%.ext
action
Ich habe ein Verzeichnis von Dateien in einem Ordner, die wir optimieren wollen und dann an einen anderen Ordner . Die Dateien haben jedoch denselben Namen in den Eingabe- und Ausgabeordnern. Ich habe verschiedene Iterationen der oben genannten Regel ausprobiert, aber make wird entweder immer oder nie neu aufbauen, je nachdem, wie ich das obige tweeze. Vorschläge?
EDIT: Ich endete mit der folgenden Lösung, die gut funktioniert!
JS = \
src/js/script2.js \
src/js/script1.js
JS_OPT = $(patsubst src/js/%.js,web/js/%.js, $(JS))
all: $(JS_OPT)
$(JS_OPT): web/js/%.js: src/js/%.js
cat [email protected] | ./bin/jsmin > $<
Machen Sie Änderungszeiten schaut, um zu entscheiden, ob optimierte Datei neu erstellen werden sollte. Also schau dir den Mod an. Zeit der src-Datei und der entsprechenden optimierten Dateizeit, um zu verstehen, ob make die optimierte Datei wirklich neu erstellen sollte. Verwenden Sie "stat", um die Modifikationszeit in Sekunden Auflösung anzuzeigen. –
dimba
Ich verstehe, wie make funktioniert. Ich habe die Quelldateien nicht in Stunden geändert und sie werden immer noch neu erstellt. –
Sie hatten es richtig gemacht. Ich habe gerade ein paar Tippfehler gemacht. Vielen Dank! –