Может ли кто-нибудь объяснить, что означает $ (% SYMBOLIC) в целевом файле make-файла ниже?
R_all: $(%SYMBOLIC)
$(CD_MAKE) $(BASE_ROOT) R_all
Может ли кто-нибудь объяснить, что означает $ (% SYMBOLIC) в целевом файле make-файла ниже?
R_all: $(%SYMBOLIC)
$(CD_MAKE) $(BASE_ROOT) R_all
Это просто переменная, называемая %SYMBOLIC
. Из-за %
характера, вы не можете установить такие переменный с нормальным =
или :=
в Makefile, но вы можете установить его с define
или в окружающей среде, если вы запустите сделать непосредственно execve
Вы определенно можете использовать либо '=', либо ': =' для назначения переменной, где имя содержит символ '%' ...? – MadScientist
Я думаю, это может зависеть от версии make относительно того, считает ли он '%' особым символом, который в противном случае мешает назначению. –
Возможно, какая-то реализация сделана неправильно, но никакая версия GNU make не допустит эту ошибку. Вначале анализатор GNU ищет «разделитель», который представляет собой двоеточие или знак равенства и т. Д., И как только он обнаруживает, что он интерпретирует остальную часть строки на основе этого. Поэтому, если разделитель является '=' или ': =', тогда первое слово всегда будет считаться именем переменной, даже если оно содержит символ '%'. – MadScientist
сообщения всего Makefile –