gpt4 book ai didi

gnu-make - 在Makefile中,知道GNU make是否在--dry-run中吗?

转载 作者:行者123 更新时间:2023-12-04 17:44:20 35 4
gpt4 key购买 nike

有没有办法知道Makefile中是否使用--dry-run选项调用了GNU make?

我正在寻找类似的东西:

ifeq (dry-run)
; # do not create a rule
else
; # create a custom rule
endif

这也可以是任何其他解决方法。

原因是我引用了另一个依赖于 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

关于gnu-make - 在Makefile中,知道GNU make是否在--dry-run中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41302443/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com