%% James Coleman <[EMAIL PROTECTED]> writes: jc> Build & install on solaris 2.9 (sparc) using gcc (3.4.5) looks jc> fine. make check all good. Parallel builds for making make as jc> well as building our stuff.
Good stuff. jc> The issue is with echoing a # to file from a Makefile. We use jc> $(shell echo "\#... This gives us a # in the file with make 3.80. jc> With make 3.81 we get a \# in the file. We then include that file jc> as a makefile so the \# breaks things. I think that is a jc> bug/feature that was fixed. Can see some things in ChangeLog that jc> might be it but I cannot see exactly what it was. Hm. I don't remember offhand changing that exactly, but it's been a long time since 3.80, and there've been a lot of changes :-/. I have a vague recollection of something like this but if I fixed it, it was a long time ago. Personally I feel that the old behavior is wrong and this is simply a bug fix: make was being too aggressive about detecting make comments, even inside of functions or variables. jc> It is easy to fix my particular occurence of this but it has the jc> potential to break various Makefiles. So maybe it is a change that jc> could cause trouble? How long has the old behaviour been in make jc> I wonder? Would it be worth a mention in NEWS with a "WARNING: jc> Backward-incompatibility" maybe? jc> Is it the same issue as the backslash-newline? No; the backslash-newline stuff is ONLY relevant for commands. This is a backslash inside a function. jc> $(shell echo "\#STACKS=\"$(STACKS)\" OBSERVERS=\"$(OBSERVERS)\" BUILD=\"$(BUILD)\"" > $(COMPONENTS_DETAIL_FILE).new) jc> Anyone wishing to have a line beginning with a # has a difficulty. jc> Not sure would it be easy to fix and be compatible with both make jc> 3.80 and 3.81rc1? It should be pretty easy: put the "#" in a variable, like this: SHC = \# $(shell echo "$(SHC)STACKS=\"$(STACKS)\" OBSERVERS=\"$(OBSERVERS)\" BUILD=\"$(BUILD)\"" > $(COMPONENTS_DETAIL_FILE).new) This will work in both 3.80 and 3.81. Make only checks for either backslashes or comments in the original text, before expansion. I'll add a note about this as it's a behavior change, even though I consider it a bug fix. -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make