Рекурсивный Makefile - передача переменных в корневой Makefile - PullRequest
0 голосов
/ 03 июля 2011

В настоящее время у меня проблемы с make-файлом из-за непредвиденной рекурсии и необходимого набора имен файлов. Я хочу рекурсивно вызвать Makefile в корневой папке моего проекта, и он должен пройти через все возможные подпапки (и их подпапки ...) с целью собрать все файлы и записать их в переменную, которая будет использоваться в качестве "целей". "или зависимые файлы.

Например: /Makefile проходит через /Source, /Source/Boot и находит /Source/Boot/Boot.s (-> поэтому одной целью является /Source/Boot/Boot.o), и оно продолжается с /Source/Kernel и находит /Source/Kernel/Foo.c (-> следовательно, вторая цель - /Source/Kernel/Foo.o). Я могу скомпилировать эти файлы в Makefiles в подпапках, но мне нужно связать их, когда мой корневой Makefile вернется в корень.

Итак, вопрос в том, как я могу адекватно передать пути к этим объектным файлам в корневой make-файл, чтобы связать их?

1 Ответ

2 голосов
/ 03 июля 2011

Рекурсивно вызываемые make-файлы не могут передавать информацию обратно вызывающей стороне (если только вы не прибегаете к взлому, как, например, использование внешних файлов для сбора имен объектных файлов).Взгляните на бумагу, на которую ссылается Марк.Он показывает способ организации вашего проекта, чтобы делать то, что вы хотите, в поддерживаемом виде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...