Лзз потрясающе! Это как раз то, что я искал http://groups.google.com/group/comp.lang.c++/browse_thread/thread/c50de73b70a6a957/f3f47fcdcfb6bc09
На самом деле все, что вам нужно, это зависеть (обычно) от foo.o в вашем правиле ссылки и шаблонном правиле для вызова lzz:
%.cpp %.h: %.lzz
lzz $(input)
Остальные автоматически встанут на свои места. При компиляции любого источника, включающего foo.h, или связывании foo.o с библиотекой или программой, lzz сначала будет вызываться автоматически.
Makepp также распознает, изменилась ли только временная метка, но не содержимое созданного файла, и проигнорирует это. Но это не помешает сделать меньше, используя опции lzz для подавления воссоздания идентичного файла.
С уважением - Даниэль