Adding the automake list, since that is the impacted project:

On 2/21/19 1:05 PM, Carlo Wood wrote:
> Hi,
> 
> I'm using a Makefile.am that has an include, like so:
> 
> ---begin of Makefile.am---
> include $(srcdir)/cwm4/root_makefile_top.am
>  
> SUBDIRS = googletest @CW_SUBDIRS@ src 
> 
> include $(srcdir)/cwm4/root_makefile_bottom.am ---end of Makefile.am
> ---end of Makefile.am
> 
> I do this because every project that I have is the same, except for
> SUBDIRS :p.
> 
> This works fine with all autotools except autoreconf;
> for example
> 
> sean:~/projects/aicxx/ai-evio-testsuite/ai-evio-testsuite>autoreconf -v -i -s 
> --no-recursive
> autoreconf: Entering directory `.'
> autoreconf: configure.ac: not using Gettext
> autoreconf: running: aclocal 
> 
> which is wrong because autoreconf ignores the line
> 
> ACLOCAL_AMFLAGS = -I cwm4/aclocal -I m4/aclocal
> 
> in $(srcdir)/cwm4/root_makefile_top.am
> 
> See https://www.gnu.org/software/automake/manual/html_node/Include.html
> why this is legal usage of automake.

Makefile fragments are valid, but it is not immediately obvious if
makefile fragments are allowed to have ACLOCAL_AMFLAGS that affect the
overall file, or if it is better to put ACLOCAL_AMFLAGS directly in the
primary file rather than hidden in an include file.  At any rate, if
automake is happy finding that definition after chasing through
includes, I'm happy to accept a patch to autoreconf to do similar
chasing when building the command line to pass to automake, but I'm not
sure how easy it would be for me to write the patch myself.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

Reply via email to