Когда делал SDCC framework для v6z80p,
то долго думал, как бы попроще и по эффективнее решить задачу сборки проектов SDCC.
Сначала юзал обычный make, но походу, при добавлении либ и других сорцов, мэйк файлы уже превращались в некие "непроходимые джунгли".
Плюс, была необходимость собирать и под Линуксом и под Виндой (два юзера на линухе, а другие юзера то на винде были).
Долго выбирал - хотелось, что по проще, перебрал кучу всяких lua сборщиков. Главная проблема - это сложно вставить внутрь поддержку sdcc, плюс ещё и баги могут вылазить, в самом сборщике.
Вернулся, "к истокам" - cmake или scons - стабильные системы.
cmake - слишком тяжеловесен для такого небольшого проекта и там M4 подобный язык, мне не понравился
scons
- мульти платформер (Linux, Windows)
- хорошо-читаемый язык python 2
- легко вставить/прописать новый компилер, линковщик, асм
(прописал два асма sdasz80 и pasmo)
Принцип работы scons, такой же как у makefile:
1. строится дерево зависимостей
2. дерево собирается
Только scons строит это дерево, исполняя скрипт на питоне.
Но, если заюзаете scons, приготовитесь потратить немного времени именно на написание питон кода + чтение доков.
Пример: питон файлы sdcc для для scons
sdcclib.py
sdasz80.py
sdcc.py
pasmo.py
http://sourceforge.net/p/v6z80p/code...ns/site_tools/
И собственно мои файлы, там где сборка реализована. (может пригодится)
http://sourceforge.net/p/v6z80p/code...ms/site_scons/




Ответить с цитированием