help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnu.org #580172] Makefile Problems


From: Paul Smith
Subject: Re: [gnu.org #580172] Makefile Problems
Date: Wed, 2 Jun 2010 15:43:30 -0400

Questions about GNU make are best addressed to the address@hidden
mailing list.

On Wed, 2010-06-02 at 15:19 -0400, Kelly Hopkins via RT wrote:
> > address@hidden - Wed Jun 02 08:24:22 2010]:
> > 
> > Our establishment has moved up to GNU Make 3.81.
> > We notice a problem with the Make processor.
> > The following Make command does not work any more when using Make 3.81
> > 
> > $(CMDS): ./src/address@hidden ./inc/address@hidden ./inc/ldi_globals.h
> > 
> > I had to change the command to the following in order to make it work
> > for me.
> > 
> > $(CMDS): ./src/*.C ./inc/*.h ./inc/ldi_globals.h
> > 
> > Did the Make processor change to cause it to fail for me?

>From the GNU make 3.81 NEWS file:

* WARNING: Backward-incompatibility!
  GNU make now implements a generic "second expansion" feature on the
  prerequisites of both explicit and implicit (pattern) rules.  In order
  to enable this feature, the special target '.SECONDEXPANSION' must be
  defined before the first target which takes advantage of it.  If this
  feature is enabled then after all rules have been parsed the
  prerequisites are expanded again, this time with all the automatic
  variables in scope.  This means that in addition to using standard
  SysV $$@ in prerequisites lists, you can also use complex functions
  such as $$(notdir $$@) etc.  This behavior applies to implicit rules,
  as well, where the second expansion occurs when the rule is matched.
  However, this means that when '.SECONDEXPANSION' is enabled you must
  double-quote any "$" in your filenames; instead of "foo: boo$$bar" you
  now must write "foo: foo$$$$bar".  Note that the SysV $$@ etc. feature,
  which used to be available by default, is now ONLY available when the
  .SECONDEXPANSION target is defined.  If your makefiles take advantage
  of this SysV feature you will need to update them.


There are other issues described there, which would be good to read
about.

Cheers!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]