linux - 没有目标通过时打印默认目标
问题描述
我有以下非常简单的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
- 这似乎是(即 build 被调用而不是 test,即使 test 是第一个目标)。
我遇到的(非常小的)问题是我想打印当前的目标。所以我尝试使用 MAKECMDGOALS,但它只打印一个空值。如果我打电话make build
或make test
然后 MAKECMDGOALS 显示相关值......但我想在使用默认值时显示构建目标。注意:我不只是想在目标规则中打印它 - 因为在我真正的 makefile 中我有很多这些,我只想使用 makefile $(info ...) 或类似的东西打印当前的目标。
那可能吗?
解决方案
你为什么不直接打印.DEFAULT_GOAL
?
$(info BUILD GOALS: $(or $(MAKECMDGOALS),$(.DEFAULT_GOAL)))
推荐阅读
- excel - 将 MMM:SS 格式转换为 HH:MM:SS
- parsing - 使用 m 修饰符的扫描功能未按预期工作
- html - BootStrap 5.0:具有多个目标的药丸标签
- flutter - 使用屏幕加载启动动画 - Flutter
- java - 用于 Java CompletableFuture 组合的线程?
- javascript - jquery:如何访问 createdRow() 回调中的底层 DataTable?
- julia - 在 julia 中,python 与 open(file) 的等价物是什么?
- d3.js - d3js v5错误显示多线时间表
- cplex - 在 CPLEX 中连续定义多个相同类型的决策变量
- java - Android ImageView在RelativeLayout中的Buttons下消失