Волею судеб оказался заброшен в фирму, которая занимается водружением Линуксов на всякие экзотические дивайсы.
Соответсвенно приходится разбираться с make-файлами для различных программ и их подкручиванием.
Если бы это было один-два раза, я бы разобрался просто с помощью головы, но программ много (сотни штук).
Соответственно хочется иметь какую-то тулзу, которая облегчает понимание развесистых (более мегабайта) make-файлов.
Ну например — смотрю в текст, вижу переменную $Variable — хочу увидеть где она определяется и присваивается и чему равна.
Про ключ make -d знаю. Но это — отладка. Но ведь IDE позволяет не только отладку делать.
Здравствуйте, Kernighan, Вы писали:
K>(более мегабайта) make-файлов.
слишком большой размер. наверное, они генерятся. поэтому в них разбираться нет смысла.
лучше написать себе простые make-файлы для изучения, а потом сопоставить с тем, что видишь в нагенеренном.
Здравствуйте, neFormal, Вы писали:
F>Здравствуйте, Kernighan, Вы писали:
K>>(более мегабайта) make-файлов.
F>слишком большой размер. наверное, они генерятся. поэтому в них разбираться нет смысла. F>лучше написать себе простые make-файлы для изучения, а потом сопоставить с тем, что видишь в нагенеренном.
Разумеется они генерятся с помошью configure.
Но генерятся они все равно из makefile.in которые столь же монстрообразны.
Может быть где-то во вселенной есть какие-то более компактные "исходники make-файлов",
но обычно они недоступны. Например glibc. Из чего там был нагенерён этот монстрообразный Makefile?
А что толку в "простых make-файлах"? Ну я умею писать простые make-файлы.
Уж двадцать лет пишу. Но я в них не делаю десять уровней косвенности.
Это когда одна переменная определяется через другую, другая через третью и так десять раз.
Здравствуйте, Kernighan, Вы писали:
K>Про ключ make -d знаю. Но это — отладка. Но ведь IDE позволяет не только отладку делать.
на счёт отладки.
когда сам занимался всякими гну-мейками, чуть помогла установка переменной SHELL перед запуском мейков:
за одним исключением, оно работает если сам мейк файл не перегрузил эту переменную. иначе приходиться добавлять это в мейкфайл. но это всё равно проще, — можно просто прошерстить все мейк файлы поиском и найти все использования этой переменной.
а так, придётся тебе, всё равно, копаться в этих мейках и ручками править его и для исправления и для проверки того как работает. по другому — никак.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Kernighan, Вы писали:
K>А что толку в "простых make-файлах"? Ну я умею писать простые make-файлы. K>Уж двадцать лет пишу. Но я в них не делаю десять уровней косвенности.
и IDE делают. тот же eclipse генерит такие дикие майки, что страшно становится.
может проще будет туда их скормить.
K>Товарищи линуксоиды! Хочу странного.
K>Волею судеб оказался заброшен в фирму, которая занимается водружением Линуксов на всякие экзотические дивайсы. K>Соответсвенно приходится разбираться с make-файлами для различных программ и их подкручиванием. K>Если бы это было один-два раза, я бы разобрался просто с помощью головы, но программ много (сотни штук).