Проект, над которым я работаю, связан с несколькими архитектурами.Код разделен на специфичные для архитектуры и общие модули (которые могут совместно использоваться архитектурами).
Я планирую организовать код следующим образом:
TOP
|
|---- Makefile
|
|---- src (arch independent)
|---- inc (arch independent)
|
|----arch1 (arch specific)
|---- src
|---- inc
|---- Makefile
|----arch2 (arch specific)
|---- src
|---- src
|---- Makefile
Проект для конкретной арки будетскомпилирован Makefile в каталоге arch.Этот make-файл включает Makefile на верхнем уровне.
Идея заключалась в том, что в конкретном make-файле arch будет весь код src из каталога arch, а Makefile верхнего уровня определяет переменную, которая является просто путемкаталог верхнего уровня, так что специфичный для arch Makefile может включать в себя код из папки src на верхнем уровне.
Однако при включении Makefile верхнего уровня определяется определенная переменная пути (с помощью команды shell pwd)на уровне директории, специфичной для архива.
Как я могу решить эту проблему?Это лучший способ сделать это?
Сейчас это двухуровневая структура.Но в будущем я планирую сделать его многоуровневым, причем внутренний уровень будет зависеть от арки, и слои будут становиться все более общими по мере продвижения на верхний уровень.