aboutsummaryrefslogtreecommitdiff
path: root/gcc/Makefile.in
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2004-11-05 04:49:19 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2004-11-05 04:49:19 +0000
commit53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8 (patch)
tree9c0488dfa9919d3ba6f1c976082a924834f13942 /gcc/Makefile.in
parent9a3990559f9f8d09ce6fae8ef38e93c2e2b8abca (diff)
downloadgcc-53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8.zip
gcc-53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8.tar.gz
gcc-53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8.tar.bz2
Index: ChangeLog
2004-11-04 Geoffrey Keating <geoffk@apple.com> * Makefile.def: Build fixincludes for the host, too. * Makefile.in: Regenerate. * configure.in (host_tools): Add fixincludes. * configure: Regenerate. Index: fixincludes/ChangeLog 2004-11-04 Geoffrey Keating <geoffk@apple.com> * configure.ac: Add code to determine noncanonical_target, local_prefix, gcc_version; process mkheaders.in to make mkheaders. * configure: Regenerate. * fixinc.in: Move here from gcc/; fix many cross-hosting bugs. * mkfixinc.sh: Move here from gcc/; update for changes to fixinc.in. * mkheaders.in: Move here from gcc/; remove some unnecessary macros; update for changes to fixinc.in. * Makefile.in: Add many new macros. (install): New target. (mkheaders): New target. (fixinc.sh): New target. (all): Add mkheaders and fixinc.sh. * README-fixinc: Move here from gcc/. Index: gcc/ChangeLog 2004-11-04 Geoffrey Keating <geoffk@apple.com> * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory. (install-mkheaders): Install the version built for the host, not for the build machine. * configure.ac: Always run fixincludes. (all_outputs): Remove mkheaders. * configure: Regenerate. * fixinc.in: Move to fixincludes/. * mkfixinc.sh: Likewise. * mkheaders.in: Likewise. * README-fixinc: Likewise. From-SVN: r90117
Diffstat (limited to 'gcc/Makefile.in')
-rw-r--r--gcc/Makefile.in80
1 files changed, 26 insertions, 54 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 125dee4..1c4fcc7 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1080,9 +1080,6 @@ gccbug: $(srcdir)/gccbug.in
mklibgcc: $(srcdir)/mklibgcc.in
CONFIG_FILES=mklibgcc CONFIG_HEADERS= ./config.status
-mkheaders: $(srcdir)/mkheaders.in
- CONFIG_FILES=mkheaders CONFIG_HEADERS= ./config.status
-
# cstamp-h.in controls rebuilding of config.in.
# It is named cstamp-h.in and not stamp-h.in so the mostlyclean rule doesn't
# delete it. A stamp file is needed as autoheader won't update the file if
@@ -2783,31 +2780,24 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) xlimits.h
chmod a+r include/limits.h
# Install the README
rm -f include/README
- cp $(srcdir)/README-fixinc include/README
+ cp $(srcdir)/../fixincludes/README-fixinc include/README
chmod a+r include/README
$(STAMP) $@
-# fixinc.sh depends on this, not on specs directly.
-# The idea is to make sure specs gets built, but not rerun fixinc.sh
-# after each stage just because specs' mtime has changed.
-# It also depends on cc1 since fixinc.sh uses it.
-specs.ready: specs cc1$(exeext)
- -if [ -f specs.ready ] ; then \
- true; \
- else \
- $(STAMP) specs.ready; \
- fi
-
-fixinc.sh: mkfixinc.sh fixinc.in
- build_subdir="$(build_subdir)" srcdir="$(srcdir)" \
- $(SHELL) $(srcdir)/mkfixinc.sh $(build) $(target)
-
.PHONY: install-gcc-tooldir
install-gcc-tooldir:
$(mkinstalldirs) $(DESTDIR)$(gcc_tooldir)
+macro_list : $(GCC_PASSES)
+ echo | $(GCC_FOR_TARGET) -E -dM - | \
+ sed -n 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p ; \
+ s/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p' | \
+ sort -u > $@
+
# Build fixed copies of system files.
-stmp-fixinc: fixinc.sh gsyslimits.h specs.ready
+stmp-fixinc: gsyslimits.h macro_list \
+ ../$(build_subdir)/fixincludes/fixincl \
+ ../$(build_subdir)/fixincludes/fixinc.sh
@if test ! -d ${SYSTEM_HEADER_DIR}; then \
echo The directory that should contain system headers does not exist: >&2 ; \
echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
@@ -2817,24 +2807,20 @@ stmp-fixinc: fixinc.sh gsyslimits.h specs.ready
rm -rf include; mkdir include
-chmod a+rx include
(TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
- SHELL='$(SHELL)' ;\
- export TARGET_MACHINE srcdir SHELL ; \
- $(SHELL) ./fixinc.sh `${PWD_COMMAND}`/include $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS); \
- rm -f include/syslimits.h; \
+ SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
+ export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
+ cd ../$(build_subdir)/fixincludes && \
+ $(SHELL) ./fixinc.sh ../../gcc/include \
+ $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) )
+ rm -f include/syslimits.h
if [ -f include/limits.h ]; then \
mv include/limits.h include/syslimits.h; \
else \
cp $(srcdir)/gsyslimits.h include/syslimits.h; \
- fi; \
- chmod a+r include/syslimits.h)
+ fi
+ chmod a+r include/syslimits.h
$(STAMP) stmp-fixinc
-# We can't run fixinc (it's being built for a different host), but we still
-# need to install it so that the user can run it when the compiler is
-# installed.
-stmp-install-fixinc: fixinc.sh gsyslimits.h
- $(STAMP) $@
-
# Files related to the fixproto script.
# gen-protos and fix-header are compiled with CC_FOR_BUILD, but they are only
# used in native and host-x-target builds, so it's safe to link them with
@@ -3065,10 +3051,8 @@ mostlyclean: lang.mostlyclean
-rm -f specs $(SPECS) SYSCALLS.c.X SYSCALLS.c
-rm -f collect collect2 mips-tfile mips-tdump
# Delete files generated for fixproto
- -rm -rf fix-header$(build_exeext) xsys-protos.h deduced.h tmp-deduced.h \
+ -rm -rf $(build_exeext) xsys-protos.h deduced.h tmp-deduced.h \
gen-protos$(build_exeext) fixproto.list fixtmp.* fixhdr.ready
-# Delete files generated for fixincl
- -rm -rf fixinc.sh specs.ready
# Delete unwanted output files from TeX.
-rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg
-rm -f */*.toc */*.log */*.vr */*.fn */*.cp */*.tp */*.ky */*.pg
@@ -3126,12 +3110,11 @@ distclean: clean lang.distclean
-cd testsuite && rm -f *.out *.gcov *$(coverageexts)
-rm -rf ${QMTEST_DIR} stamp-qmtest
-rm -f cxxmain.c
- -rm -f mklibgcc mkheaders gccbug .gdbinit configargs.h
+ -rm -f mklibgcc gccbug .gdbinit configargs.h
-rm -f gcov.pod
- -rm -f fixinc/Makefile
# Delete po/*.gmo only if we are not building in the source directory.
-if [ ! -f po/exgettext ]; then rm -f po/*.gmo; fi
- -rmdir ada cp f java objc fixinc intl po testsuite 2>/dev/null
+ -rmdir ada cp f java objc intl po testsuite 2>/dev/null
# Get rid of every file that's generated from some other file, except for `configure'.
# Most of these files ARE PRESENT in the GCC distribution.
@@ -3361,28 +3344,18 @@ install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
itoolsdir = $(libexecsubdir)/install-tools
itoolsdatadir = $(libsubdir)/install-tools
-# Don't install the headers. Instead, install appropriate scripts
-# and supporting files for fixincludes to be run later.
+# Install supporting files for fixincludes to be run later.
install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
- mkheaders xlimits.h
- -rm -rf $(DESTDIR)$(itoolsdir) $(DESTDIR)$(itoolsdatadir)
- $(mkinstalldirs) $(DESTDIR)$(itoolsdatadir)/include
- $(mkinstalldirs) $(DESTDIR)$(itoolsdir)
+ macro_list xlimits.h
for file in $(USER_H); do \
realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
$(INSTALL_DATA) $$file \
$(DESTDIR)$(itoolsdatadir)/include/$$realfile ; \
done
$(INSTALL_DATA) xlimits.h $(DESTDIR)$(itoolsdatadir)/include/limits.h
- if [ x$(STMP_FIXINC) != x ] ; then \
- $(INSTALL_DATA) $(srcdir)/README-fixinc \
- $(DESTDIR)$(itoolsdatadir)/include/README ; \
- $(INSTALL_SCRIPT) fixinc.sh $(DESTDIR)$(itoolsdir)/fixinc.sh ; \
- $(INSTALL_PROGRAM) ../$(build_subdir)/fixincludes/fixincl$(build_exeext) \
- $(DESTDIR)$(itoolsdir)/fixincl ; \
- $(INSTALL_DATA) $(srcdir)/gsyslimits.h \
- $(DESTDIR)$(itoolsdatadir)/gsyslimits.h ; \
- else :; fi
+ $(INSTALL_DATA) $(srcdir)/gsyslimits.h \
+ $(DESTDIR)$(itoolsdatadir)/gsyslimits.h
+ $(INSTALL_DATA) macro_list $(DESTDIR)$(itoolsdatadir)/macro_list
if [ x$(STMP_FIXPROTO) != x ] ; then \
$(INSTALL_SCRIPT) $(mkinstalldirs) \
$(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
@@ -3390,7 +3363,6 @@ install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
$(INSTALL_PROGRAM) build/fix-header$(build_exeext) \
$(DESTDIR)$(itoolsdir)/fix-header$(build_exeext) ; \
else :; fi
- $(INSTALL_SCRIPT) mkheaders $(DESTDIR)$(itoolsdir)/mkheaders
echo 'SYSTEM_HEADER_DIR="'"$(SYSTEM_HEADER_DIR)"'"' \
> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \