我有以下非常简单的makefile代码段:
# Set the default goal to build.
.DEFAULT_GOAL = build
$(info BUILD GOALS: $(MAKECMDGOALS))
.PHONY: test
test:
@echo testing
.PHONY: build
build:
@echo building
当我不带参数(没有目标)调用make
时,默认目标应该是build
-看起来确实是(即,尽管测试是第一个目标)。
我的(非常小的)问题是我想打印当前的目标。因此,我尝试使用MAKECMDGOALS,但它只打印一个空值。如果我调用make build
或make test
,则MAKECMDGOALS将显示相关值...但是当它也使用默认值时,我想显示构建目标。注意:我不只是想在目标规则中打印它-因为在我的真实makefile中,我有很多这样的东西,我只想使用makefile $(info ...)或类似的东西来打印当前的GOAL。>
有可能吗?
答案 0 :(得分:1)
您为什么不只打印.DEFAULT_GOAL
?
$(info BUILD GOALS: $(or $(MAKECMDGOALS),$(.DEFAULT_GOAL)))