Для нормальных переменных, которые установлены в make-файле, например, FOO = bar
, они вообще не передаются под-маркам.
Если вы пометите нормальную переменную как экспортированную (через export FOO
) тогда они будут переданы субмейкам в среде, как и любая другая переменная среды. Обратите внимание, что назначения в make-файле субмаки, такие как FOO = baz
, будут иметь приоритет над любым значением, полученным из среды.
Для переменных, которые установлены в командной строке, таких как make FOO=bar
, они передаются через специальный MAKEFLAGS
переменная, и они будут иметь приоритет над любыми переменными, установленными в подмаке.
Однако для последнего следует помнить, что когда вы вызываете подмодель, вы должны всегда используйте переменную $(MAKE)
(или ${MAKE}
, то же самое) и никогда используйте голое изготовление как make
.
См. документы по рекурсивное использование марки .