Re: Нужен ли bash
30 сентября 2008 г. 18:50 пользователь Dmitry E. Oboukhov написал:
> DF>>> http://makepp.sourceforge.net/
> кстати ковыряясь с многими deb-пакетами натыкался на рекурсии в make
> в 100% случаев введением дополнительных целей или зависимостей рекурсии
> отлично убирались
> может кто-то показать мне make-задачу/случай нерешабельный без
> рекурсивного перевызова того же make?
Оно решабельно без рекурсии, но я не хочу решать это таким способом.
0. Мои makefiles "гладкие", все общие правила и определения переменных
вынесены во включаемые defs.make и rules.make
и они параметризуются использующим их Makefile через определения
управляющих переменных.
1. Каждый непустой подкаталог проекта имеет свой makefile
со своими особенностями (типом подпроекта) и мне нужны
пространства имен для управляющих переменных.
Для обычного (традиционного) make я не вижу другого способа, кроме
рекурсивного вызова make.
2. Я не хочу засорять корневой makefile проекта явным включением
makefiles подкаталогов, делая как бы namespace префиксами в именах
переменных да и вручную перечислять файлы я тоже не хочу.
И так, решается это всё одним из следующих способов:
0. Рекурсивно вызываем make. Признано вредным.
1. Генерим Makefiles. Но тогда мы неправильно выбрали инструмент и
этот make не нужен, а нужен тот язык, из которого makefiles генерятся.
Причем тут make вообще?
2. Используем другие make-подобные утилиты: SCons, makepp, ...
где можно без рекурсии и есть namespaces.
Reply to: