我们正在努力让我们的makefile自我记录,并希望能够做类似
的事情make targets
并列出用户可能想要使用的目标。作为其中一部分,我们希望显示所有.PHONY
目标。有没有办法从另一个规则获得一个目标(特别是.PHONY
)的先决条件?
我希望能够做类似
的事情.PHONY: clean build
targets:
@echo $(prerequisites .PHONY)
然后将其作为
运行$ make targets
clean build
我们正在使用GNU make,但如果可能的话,我更喜欢与其他make一起使用的解决方案。
这可能吗?
答案 0 :(得分:1)
不,这在GNU make中是不可能的,当然也不是在通用make中。如果变量中有目标,则可以保留列表,然后使用变量两次:
PHONY = clean build
.PHONY: $(PHONY)
targets:
@echo $(PHONY)
就是这样。