Я хотел бы сделать что-то вроде этого:
PHONY += bar
bar:
$(MAKE) foo_$@
PHONY += foo_%
foo_%:
cp somedir/%.a someotherdir/
.PHONY: $(PHONY)
Но %
не оценивается в рецепте (часть cp).
Мой обходной путь был создать фальшивую цель с тем же именем файла, который я хочу использовать, но я бы предпочел лучшее решение:
PHONY += bar
bar:
$(MAKE) foo_$@
PHONY += foo_%
foo_%: %.a
@:
PHONY += %.a
%.a:
cp somedir/$@ someotherdir/
.PHONY: $(PHONY)
Есть ли способ передать расширение %
в команду оболочки