У меня есть следующий Makefile:
PROG := "prog -o1 one -o2 two --"
, где ничто не может прийти после --
.Обычно это шаблон вызова, который я хочу для prog
:
thing:
$(PROG) some files here
, но есть особая цель, которую я хочу назвать как prog -o1 one -o2 two -o3 three -- some other file
, поэтому вот что я попытался сделать (предполагая :=
установите переменную для отложенной оценки, хотя кажется, что я неправильно понял контекст там:
PROG := "prog -o1 one -o2 two $(OTHER_PROG_ARGS) --"
thing:
$(PROG) some files here
other : OTHER_PROG_ARGS="-o3 three"
other:
$(PROG) some other file
Кажется, что PROG
расширяется при назначении с :=
;Есть ли способ сделать, я хочу, я хочу (например, с помощью какого-то ленивого расширения)?