metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-04-25 09:28 pm

Makefile

Это, а как правильно makefile делать? А то что-то руками писать зависимости быстро начинает надоедать.

[identity profile] besm6.livejournal.com 2012-04-25 07:03 pm (UTC)(link)
Про -MM уже сказали. Подробно и аккуратно, если это линукс и, соответственно, GNU make, разобрано в его мануале. В целом - решение далеко от идеала, но лучше средствами make не делается, вылезает проблема курицы и яйца. У bsd make (pmake в линуксах) средства иные. Сделать makefile так, чтобы жрали оба - задача сложная, и автоподхват зависимостей будет делаться только в два прохода (make depend && make).

Да, в случае генерируемых включаемых файлов gcc -MM тоже порой обламывается.

Кстати, вообще рекомендую посмотреть на "старую добрую" идею двухпроходного подхода. Она тоже по-своему корява, но зато мейкфайл будет читаем.