#makefile #gnu-make
#makefile #gnu-make
Вопрос:
У меня в моем makefile есть несколько похожих правил:
include .env include .env.local var/make/.env: .env | var/make @sed 's/=/?=/'
lt; > $@
var/make/.env.local: .env.local | var/make
@sed 's/=/?=/'lt; > $@
var/make:
mkdir $@
Есть ли способ создать общее правило?var/make/.env*: name-matching-previous-.env* | var/make @sed 's/=/?=/'
lt; > $@
.env* одновременное использование одного файла
Ответ №1:
Да, вы можете написать шаблонное правило:
var/make/.en%: .en% | var/make @sed 's/=/?=/'
lt; > $@
%
Соответствует переменной части целевого имени. (Цель должна заканчиваться наen%
, а неenv%
потому%
, что не может соответствовать пустой строке.)