我希望 make 过程仅在执行的第一个目标上有条件地回显在以下 makefile 中,它应该只打印 'a'、'b' 或 'goal'
目前,由于 L 没有被修改,它打印为执行的任何目标。
我已经使用外部临时文件和脚本完成了它,但我想知道如果没有外部文件/脚本是否有可能?
L=1
goal: a b
ifeq ($(L),1)
@echo goal
@L=0
endif
@echo done > goal
a:
ifeq ($(L),1)
@echo a
@L=0
endif
@echo done > a
b:
ifeq ($(L),1)
@echo b
@L=0
endif
@echo done > b