Unix BSD生成文件中的${+;{}
我在中找到了Unix BSD生成文件中的${+;{},unix,makefile,bsd,Unix,Makefile,Bsd,我在中找到了${{+} BSD Makefiles中${{{+}的含义是什么?${{+}指的是一个变量。它是由make进程在其中读取的定义。因此,用户扎克在评论中指出了正确的方向;在某些情况下,此变量会扩展为+符号,具体取决于给定的标志: .if !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n" _+_ ?= .else _+_ ?= + .endif 这方面的基本原理可在和的注释中找到,其中引入了符号:
${{+}
BSD Makefiles中
${{{+}
的含义是什么?${{+}
指的是一个变量。它是由make进程在其中读取的定义。因此,用户扎克在评论中指出了正确的方向;在某些情况下,此变量会扩展为+
符号,具体取决于给定的标志:
.if !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n"
_+_ ?=
.else
_+_ ?= +
.endif
这方面的基本原理可在和的注释中找到,其中引入了符号:
Make make recurse into sub-directories and sub-makes when given
two -n flags. If only one -n flag is given the old behaviour
is retained (POLA).
我可以告诉您,Makefile中命令行开头的裸
+
表示“即使在-n
模式下运行此命令”。你发现的结构似乎与此有关。有可能,+
只是一个不寻常的变量名,可以设置为+
或为空(Make允许您在变量名中放置几乎任何内容),但我看不到它的位置,所以我只能做到这一点。谢谢您的友好回答:)