On Sun, 1 Aug 2010, Ralf Wildenhues wrote:
Ludovic (and others?) suggested a different approach for easier file name handling in nonrecursive makefile setups: provide GNU make-like substitution functions, such as addprefix. They could be expanded at automake run time to still produce portable makefiles.
I remember suggesting some sort of substitution syntax for non-recursive Makefiles sometime in 2003. :-)
My experience has been that the target names are the biggest chore with a non-recursive build since it is common to place targets in the same directory level as the source code. Providing a short-hand which allows elimination of foo_blah_blah_blah_SOURCES (so that foo_blah_blah_blah can be replaced with a simple name) would be extremely useful. Automake can easily perform substitutions so that the result is a portable makefile.
Supporting a generic pre-processing capability in Automake would be quite valuable. This would allow makefile inclusion and simple string substitutions to occur prior to the rest of normal Automake processing logic. If a generic pre-processing approach is used, then the need to anticipate every future requirement is removed. Macros defining useful values would simply be available in the pre-processor when the makefile source is expanded. The pre-processor itself can be quite simplistic.
The value provided by a pre-processor would not be limited to only nonrecursive makefiles.
Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/