Я хочу запустить определенные правила, если какая-либо конкретная переменная среды задана иначе, запустив правила по умолчанию. В качестве примера, я хочу запустить test1 and test2
, если переменная окружения MYTARGETS1
НЕ установлена. Однако с приведенным ниже кодом всегда выполняется правило test1
, когда я использую команду make run
.Makefile не устанавливает целевые объекты на основе значения переменной среды
MYTARGETS1 ?= True
ifeq (${MYTARGETS1},True)
MYTARGETS = test1 test2
else
MYTARGETS = test1
endif
test1:
echo "test1"
test2:
echo "test2"
run: common $(MYTARGETS)
common:
echo "common"
Почему downvote? Это мое требование, я знаю, что одним из решений может быть использование «MYTARGETS» как env и передача правил для запуска, но я не хочу этого так! – sarbjit