[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Setting ACLOCAL_AMFLAGS with ':=' vs '='
From: |
Nick Bowler |
Subject: |
Re: Setting ACLOCAL_AMFLAGS with ':=' vs '=' |
Date: |
Thu, 18 Sep 2014 10:36:03 -0400 |
User-agent: |
Mutt/1.5.22 (2013-10-16) |
On 2014-09-18 09:36 +0100, R. Diez wrote:
> If I add this line to my Makefile.am (and I make sure that the 'm4'
> subdir is created beforehand), then it works as intended:
>
> ACLOCAL_AMFLAGS = -I m4
>
> However, if I use this syntax:
>
> ACLOCAL_AMFLAGS := -I m4
>
> Then I get the following warning:
>
> libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
This may be a slight bug in libtoolize, which is not part of Automake.
I have added the libtool list to Cc. If libtoolize is still properly
copying its macros into your m4 directory then I would ignore the
warning.
But two things to consider:
(1) Automake is designed to produce makefiles which are portable
in practice (i.e., run on a variety of make implementations).
Use of := assignments fails on heirloom make, for example,
and probably other implementations.
(2) There is no functional difference between "=" and ":=" if the
right hand side does not contain any variable references (as in
your example).
As an alternative, with recent versions of Automake you can try using
AC_CONFIG_MACRO_DIRS in configure.ac rather than setting m4 directories
in Makefile.am. I'm not sure if all the tooling has been updated to
fully handle this new feature yet, though.
[snip description of GNU make semantics]
> That flavor is now a POSIX standard (with syntax "::="), so it should
> be portable too (at least in the future).
Well no, it doesn't follow that := assignments will become portable in
the future just because POSIX standardized ::= syntax.
Cheers,
--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Setting ACLOCAL_AMFLAGS with ':=' vs '=',
Nick Bowler <=