有没有办法知道Makefile是否使用该--dry-run选项调用GNU make ?
我正在寻找类似的东西:
ifeq (dry-run)
; # do not create a rule
else
; # create a custom rule
endif
Run Code Online (Sandbox Code Playgroud)
这也可以是任何其他解决方法.
原因是我引用了另一个Makefile依赖于.PHONY目标的规则,因此在干运行时它会显示所有目标,而不仅仅是过时的目标.
您可以检查值MAKEFLAGS以查看设置了哪些标志.如果该-n选项存在,那么您知道make正在空运行模式下运行(MAKEFLAGS始终包含短单字符选项,如果存在,则无论在命令行上指定了哪个选项).
像这样的东西:
ifeq (n,$(findstring n,$(firstword -$(MAKEFLAGS))))
# run with -n / --dry-run
else
# not run with -n / --dry-run
endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1682 次 |
| 最近记录: |