Bob Friesenhahn wrote: > > On Thu, 4 Dec 2003, Gary V. Vaughan wrote: > > I would be happy if I could do this:
> I tend to disagree with you on this point. I will agree if the system > has three levels plus a way to provide overrides...... > > Automake should support > > o inheritance of standard configure flags > o flags common across all targets > o additional flags common to a grouping of targets > o additional flags specific to just one target > o a way to override common flags at any level. The best is to be able to easily express which sets of command options should be applied to various build rules, beit for compile, link or any other build rule. Part of the problem is that the expressiveness of pseudo-make variable names is rather constrained. Anyway, the "add to higher level flag lists" versus "replace higher level flag lists" can be solved most easily by always replacing, but allowing the replacement to specify which of the higher level flags to incorporate. e.g. module_group_tool_FLAGS = $(tool_FLAGS) -x YYY would say to ignore $(group_tool_FLAGS) when applying the "tool" tool to the "module" module for the "group" thing. For the C compiler, you might spell "tool_FLAGS" as "CFLAGS" for historical purposes and spell as AM_CFLAGS at the top. So, for another example: mumble_CFLAGS = $(AM_CFLAGS) -specific-for-mumble-modules for specifying all the "mumble" module compiles that do not have a $(mod_mumble_CFLAGS) set. Please, forget the "noinst_LTLIBRARIES_LDFLAGS" stuff -- it is too obtuse for the non-automake junkies. Me. :-) Just use mumble_LDFLAGS, stumble_LDFLAGS and grumble_LDFLAGS. If the mumble, stumble and grumble libraries happen to be convenience libraries, then great. If you want them to be the same, then set them all to $(WHATEVER) and tell your clients that adding ``WHATEVER=else'' on the make line will change LD flags for the mumble, stumble and grumble libraries. The real deal is that the scheme needs an extremely high degree of consistency between various build tools and it needs to be as simple to use as absolutely possible. Automake is already too complicated. :) Cheers - Bruce