4

${_+_}FreeBSD Makefile中找到了。

${_+_}BSD Makefiles中的含义是什么?

4

1 回答 1

4

${_+_}指一个变量。它在由 make 进程读取的share/mk/sys.mk中定义。所以用户 Zack 在他的评论中指出了正确的方向;在某些情况下,此变量会扩展为一个+符号,具体取决于为 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).
于 2013-04-01T18:56:10.160 回答