#makefile #gnu-make
#makefile #gnu-make
Вопрос:
Как передать всю командную строку (включая цели, строки ссылок, параметры make и т.д.) Из make верхнего уровня в рекурсивный make:
targets : prerequisites
$(MAKE) $(this should expand to top level command line) additional_args
Спасибо.
Ответ №1:
Я думаю, что самое близкое, что вы можете получить, это использовать комбинацию из $(MAKE)
, которая содержит точное имя файла, с которым был вызван make, $(MAKECMDGOALS)
, которая содержит цели, указанные вами в командной строке, и $(MAKEFLAGS)
, которая содержит определения любых переменных и (подмножество) переключателей, указанных в командной строке.
Ответ №2:
$(MAKE)
Макрос является специальным и расширяется, чтобы включать некоторые соответствующие параметры. Смотрите раздел, как работает переменная MAKE в документации Make для получения более подробной информации. Однако это не включает полную строку, включая цели и т.д., И я не уверен, что это возможно.
Обычно я стараюсь избегать рекурсивного использования Make, здесь есть хорошая статья об этом: Рекурсивный Make считается вредным.