Вопрос гуру make – как организовать правильно (так что би через 20 лет было не стыдно) make файл для следующего:
Есть три проекта с++. Все они лежат в общей папочке. Один из проектов как бы главный и использует остальные два. Остальные два могут собираться в своих папочках в основном для исполнения UNIT тестов. Однако главная цель таки собрать основной проект для 32 и 64 платформ. Вопрос как лучше поступить — сделать основной Makefile в общей папочке и держать в каждой подпапочке свой Makefile и основной Makefile просто будет инклюдить все остальные и можно ожидать что они будут последовательно исполнятся. Хотя как я понял цель all может быть только одна и если мы инклюдим в один файл три других то будет ругань со стороны make что мол цель all должна быть одна.
Либо сделать общий для всех проектов Makefile там определить цель all и в одном файле прописывать все зависимости. В этом случае у нас проект получается жесткой структуры – все завсит от одного файла, страдает модульнось.
Посоветуйте как сделать именно правильно. Что бы бабушка гордилась
Еще вдогонку — проект должен быть под 32 и 64 — как лучше поступить — сделать специальную цель для скажем 32 если я ожидаю, что большинство будет строить под 64 или держать два Makefile каждый для своей платформы в отдельных подпапках или как? Или скрипты специальные строительные сделать...