This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
user hostile gobbledygook in top level Makefile
- To: gcc at gcc dot gnu dot org
- Subject: user hostile gobbledygook in top level Makefile
- From: "Zack Weinberg" <zackw at stanford dot edu>
- Date: Sun, 19 Nov 2000 14:48:24 -0800
So I'm trying to figure out why I can't override BOOT_CFLAGS on the
command line from the top level - not in the gcc subdirectory - and I
see this in the top Makefile.in:
EXTRA_GCC_FLAGS = \
'AR=$(AR)' \
'AS=$(AS)' \
'CC=$(CC)' \
'CXX=$(CXX)' \
'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
'HOST_CC=$(CC_FOR_BUILD)' \
'HOST_PREFIX=$(HOST_PREFIX)' \
'HOST_PREFIX_1=$(HOST_PREFIX_1)' \
'NM=$(NM)' \
'RANLIB=$(RANLIB)' \
'WINDRES=$$(WINDRES_FOR_TARGET)' \
"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
"`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s/.*=$$/XFOO=/`" \
"`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s/.*=$$/XFOO=/`" \
"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s/.*=$$/XFOO=/`" \
"`echo 'LIBGCC1_TEST=$(LIBGCC1_TEST)' | sed -e s/.*=$$/XFOO=/`" \
"`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
"`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
"`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s/.*=$$/XFOO=/`" \
"`echo 'ENQUIRE=$(ENQUIRE)' | sed -e s/.*=$$/XFOO=/`" \
"`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s/.*=$$/XFOO=/`"
Now, unless I am sorely confused, the effect of those echo | sed
commands is to convert "BOOT_CFLAGS=-fwhatever" into
"XFOO=-fwhatever", which means the subdir makefile won't see it.
1) What is the point of doing that? Why not just leave them out of
the list?
2) Why are we preventing people from overriding these at the top
level?
zw