diff options
author | Geoffrey Keating <geoffk@apple.com> | 2004-11-05 04:49:19 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2004-11-05 04:49:19 +0000 |
commit | 53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8 (patch) | |
tree | 9c0488dfa9919d3ba6f1c976082a924834f13942 /gcc/Makefile.in | |
parent | 9a3990559f9f8d09ce6fae8ef38e93c2e2b8abca (diff) | |
download | gcc-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.in | 80 |
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)"' \ |