Automake handles only simple cases. Consider automatically generated include files, or an m4 script that sinclude's the generated dependency file. I am reluctant to design features that handle only simple cases.
The execution time of m4 scripts has never been a serious factor in my experience. This still leaves problem #1 wide open. On Tue, 2010-10-26 at 07:56 -0600, Eric Blake wrote: > On 10/26/2010 07:41 AM, David M. Warme wrote: > > 2. By creating both the dependency file and the actual m4 target > > file in one step, you wind up being in danger of "circular > > dependencies" -- running make twice in a row causes stuff to > > be remade the second time. In certain cases, even an endless > > succession of "make" invocations causes stuff to get remade > > every time. Single commands that update two or more targets > > at once are the usual cause of this behavior. The fix is to > > have two separate rules in your Makefile: > > I'm reluctant to have to require to run m4 twice per file. Dependencies > as a side effect of compilation is the most efficient way to generate > dependencies, and running twice defeats this. There's a reason that > automake prefers to generate dependencies during compilation, and if > automake can write portable makefiles with gcc dependencies generated > during compilation, then I see no reason why m4 can't be hooked up to do > the same. > _______________________________________________ M4-patches mailing list M4-patches@gnu.org http://lists.gnu.org/mailman/listinfo/m4-patches