bug-make
[Top][All Lists]
Advanced

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

Re: make-4.0 allows empty ARFLAGS to be passed to ar


From: Paul Smith
Subject: Re: make-4.0 allows empty ARFLAGS to be passed to ar
Date: Mon, 21 Oct 2013 00:02:20 -0400

On Mon, 2013-10-21 at 04:05 +0100, Ken Moffat wrote:
>  With GNU Make 4.0 on x86_64-unknown-linux-gnu I am unable to build
> qemu 1.6.{0,1} because it fails with
>          AR libfdt/libfdt.a
> ar: two different operation options specified
> Makefile:234: recipe for target 'libfdt/libfdt.a' failed
> 
>  If I try to build it with make V=1 the output shows it has
> ARFLAGS=""
> 
>  It builds if I export ARFLAGS="rv".  If I have understood
> the reply on the qemu-devel list correctly, qemu deliberately passes
> empty ARFLAGS and relies on the following in 'info make' :
> `ARFLAGS'
>      Flags to give the archive-maintaining program; default `rv'.

There must be something else going on in your makefile.  The built-in
value for ARFLAGS is still present; you can see it set:

  $ make -p -f /dev/null | grep ARFLAGS
  make: *** No targets.  Stop.
  ARFLAGS = rv
          $(AR) $(ARFLAGS) $@ $<

Something in your makefile is overriding this value.

Perhaps you are setting MAKEFLAGS to add the -R flag (which disables
built-in variables)?  Or, you're overriding it somehow.

If you run:

  $ make -p -n

and search the output for ARFLAGS, the comment before should tell you
where that variable is being assigned.




reply via email to

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