This is the mail archive of the
automake-prs@sourceware.org
mailing list for the automake project.
Re: automake/518: subdirs.am processing of MAKEFLAGS does nothandle embedded spaces
- From: <mwutzke at xtra dot co dot nz>
- To: adl at sources dot redhat dot com
- Cc: automake-prs at sources dot redhat dot com,
- Date: 24 Feb 2007 19:51:01 -0000
- Subject: Re: automake/518: subdirs.am processing of MAKEFLAGS does nothandle embedded spaces
- Reply-to: <mwutzke at xtra dot co dot nz>
The following reply was made to PR automake/518; it has been noted by GNATS.
From: <mwutzke@xtra.co.nz>
To: automake-gnats@sources.redhat.com, mwutzke@xtra.co.nz,
adl@sources.redhat.com
Cc:
Subject: Re: automake/518: subdirs.am processing of MAKEFLAGS does not
handle embedded spaces
Date: Sun, 25 Feb 2007 8:47:51 +1300
Ralf,
I've been thinking about this some more, and doing some checking of how GNU
Make processes command line arguments. Looking at GNU Make 3.80 and the
current CVS archive, it appears that no matter which way the user specifies the
'-k' option (either as '-k' or as '--keep-going') it will always be propogated to
sub-make's in MAKEFLAGS as '-k' (more specifically, it will be the 'k' in the
combined argument list of all single letter arguments, that start with a single '-')
So this would mean that some of the exsiting tests for 'k' in $(RECURSIVE_TARGETS)
are unnecessary, and the test can be simplified, and as a result be more accurate,
to only look for the 'k' in the argument that starts with a single '-'. This can be
acheived as follows:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
--*);; \
-*k*) failcom='fail=yes';; \
esac; \
done; \
This will ignore all arguments starting with '--', and any argument that doesn't start with '-' (which will solve my original problem). The only parameters that will
be checked will be those that start with a single '-'.
Does this make sense ? Is there any other issue I've overlooked ?
Regards,
MarkW