Makefile-Regel zum Erstellen mit demselben Namen, aber anderem Verzeichnis

Ich möchte in der Regel so etwas wie:

build/%.ext: src/%.ext
    action

Ich habe ein Verzeichnis mit Dateien in einem Ordner, den ich optimieren und dann in einen anderen Ordner ausgeben möchte. Die Dateien haben jedoch den gleichen Namen in den Eingabe- und Ausgabeordnern. Ich habe verschiedene Iterationen der obigen Regel ausprobiert, aber make wird entweder immer oder nie neu erstellt, je nachdem, wie ich die obigen Einstellungen vorgenommen habe. Vorschläge?

EDIT: Am Ende hatte ich die folgende Lösung, die großartig 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 $@ | ./bin/jsmin > 
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 $@ | ./bin/jsmin > $<
lt;

Antworten auf die Frage(1)

Ihre Antwort auf die Frage