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/)