The odd thing is that even though it complains, it still generates the correct Makefile in the first case:
SYMFILES = $(srcdir)/uni.h $(shell $(CC) $(CFLAGS) -E $(srcdir)/header.c | $(AWK) -f $(srcdir)/script.awk) Does automake need to be $(shell ...)-aware? The code in question lives here. http://linux-atm.cvs.sourceforge.net/viewvc/linux-atm/linux-atm/ Also in the case of nested directories where everything is built recursively from a single invocation at the project root directory, what is the methodology for specifying one compiler for host builds, i.e. $(HOSTCC), one compiler for target builds i.e. $(CC), one set of CFLAGS for stuff compiled natively (e.g. in this case we build and run a preprocessor that generates intermediate state tables, which we then include as a header file that then gets cross-compiled to the target binary). In that case, we have CFLAGS for the local host that the build is running on, and CFLAGS for the target host as well, and need to specify both. http://linux-atm.cvs.sourceforge.net/viewvc/linux-atm/linux-atm/src/qgen/Makefile.am?view=markup -------- Original Message -------- Subject: Due for a new release? Date: Sun, 19 Dec 2010 20:14:28 -0800 From: Philip Prindeville <[email protected]> To: [email protected] 2.5.1 has now been out over a year. Noticed that there are some issues w/ building this version, especially in cross-compilation environments. ... Running libtoolize... libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./ltmain.sh' libtoolize: You should add the contents of the following files to `aclocal.m4': libtoolize: `/usr/share/aclocal/libtool.m4' libtoolize: `/usr/share/aclocal/ltoptions.m4' libtoolize: `/usr/share/aclocal/ltversion.m4' libtoolize: `/usr/share/aclocal/ltsugar.m4' libtoolize: `/usr/share/aclocal/lt~obsolete.m4' libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. Running aclocal... Running autoconf... Running autoheader... Running automake... src/q2931/Makefile.am:21: shell $(CC: non-POSIX variable name src/q2931/Makefile.am:21: (probably a GNU make extension) src/qgen/Makefile.am:8: `CFLAGS' is a user variable, you should not override it; src/qgen/Makefile.am:8: use `AM_CFLAGS' instead. Finished... Now run './configure' and 'make'... ... The first warning comes from: SYMFILES = $(srcdir)/uni.h $(shell $(CC) $(CFLAGS) -E $(srcdir)/header.c | $(AWK) -f $(srcdir)/script.awk) and the second warning from: CFLAGS = @CFLAGS_FOR_BUILD@ Could we do a little cleanup on it and release 2.5.2? Thanks, -Philip
