automake
[Top][All Lists]
Advanced

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

Re: automake's Per-Object Flags Emulation --- CFLAGS override or just pr


From: Stefano Lattarini
Subject: Re: automake's Per-Object Flags Emulation --- CFLAGS override or just prepend ?
Date: Sat, 09 Mar 2013 17:58:54 +0100

On 03/09/2013 04:43 PM, Michele Martone wrote:
> Hi,
> 
> I'm using the "Per-Object Flags Emulation" functionality of automake
> to build a single library (.a) file from two .a files, each made of .o
> files compiled with different flags.
> 
> In order to apply the example of
>  
> http://www.gnu.org/software/automake/manual/automake.html#Per_002dObject-Flags
>  
> in my Makefile.am, I declare something similar to
>   libfoo_a_CFLAGS = -some -other -flags
> expecting that libfoo.a will be compiled with -some -other -flags 
> rather than CFLAGS.
> 
> However in the resulting Makefile I see that something like the
> following:
>  libfoo_a-foo.o: foo.c
>          $(CC) ... $(libfoo_a_CFLAGS) $(CFLAGS) ...
> is being generated instead.
> In other words, CFLAGS is not being replaced by libfoo_a_CFLAGS: only
> prepended:
>
This is correct: CFLAGS is a user-reserved variable, so it should always
be honoured and should never be overridden by Automake rules (nor by
package developers).  The correct developer-reserved variable to specify
extra C compilation flags is AM_CFLAGS -- and *that* is being correctly
overwritten.

> this does not seem neither what the documentation says nor
> what I need.
> 
> Am I doing something wrong ? 
>
If you are defining CFLAGS in your Makefile.am, yes.  Use AM_CFLAGS
instead.

HTH,
  Stefano




reply via email to

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