Я нашел ${_+_}
в файле Makefile FreeBSD.
Что означает ${_+_}
в файлах Makefile BSD?
${_+_}
относится к переменной. Он определен в share/mk/sys.mk который считывается процессом make. Таким образом, пользователь 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).
+
в начале командной строки в Makefile означает выполнение этой команды даже в режиме-n
. Найденная вами конструкция, похоже, как-то связана с этим. Вполне возможно, что_+_
— это просто необычное имя для переменной, предназначенное для установки либо в+
, либо в пустое (Make позволяет поместить в имя переменной почти что угодно), но я не вижу, где это установить где угодно, так что это, насколько я могу получить. - person zwol   schedule 01.04.2013