Здравствуйте, jazzer, Вы писали:
vsb>>Сложно делать обобщённые конструкции.
J>по паттернам, по переменным можно делать/генерить зависимости. В сложных случаях можно и скрипт какой-нть дергнуть, а его результат заинклудить просто (так выкусывание зависимостей по хедерам работает, только в роли скрипта компилятор выступает)
В makefile проблема с динамическими зависимостями. Т.е. если надо сделать какую-то обработку, сохранить в переменную и для цели вставить список зависимостей из переменной.
Для этого приходится использовать ужас под названием secondary expansion:
http://make.mad-scientist.net/secondary-expansion/ или заниматься генерированием вложенных makefile'ов (путь automake). Ещё есть ужас под в виде промежуточных файлов, порождаемых цепочками wildcard-правил.
Добавим сюда ещё жуткий язык для выражений, так что задачи типа замены части имени файла становятся похожими на монстров из фильмов ужасов.
PS: на make у нас написан мегапайплайн для биоинформатики, который собирает зависимости, нарезает данные, обсчитывает их на кластере, готовит кофе, стирает бельё и вообще делает примерно 100500 других вещей.