Regla de makefile para construir con el mismo nombre, pero directorio diferente

Me gustaría una regla algo como:

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

Tengo un directorio de archivos en una carpeta que deseo optimizar y luego dar salida a una carpeta diferente. Sin embargo, los archivos tienen el mismo nombre en las carpetas de entrada y salida. He intentado varias iteraciones de la regla anterior, pero haré que se reconstruya siempre o nunca, dependiendo de cómo modifiqué lo anterior. Sugerencias?

EDITAR: acabé con la siguiente solución, que funciona muy bien!

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;

Respuestas a la pregunta(1)

Su respuesta a la pregunta