Кстати, под Makefile тоже засадисто получается, ибо обычно Makefile не входит в список зависимостей. Если при сборке проекта поменялись -D<glob_define> то можно легко прозевать тот факт, что какие-то файлы не пересобрались. Лучше уж завести какой-нить superglob.h (супержлоб.х

)