OSDN Git Service

* Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.
[pf3gnuchains/gcc-fork.git] / Makefile.in
index b7f9c27..a49621d 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Makefile for directory with subdirs to build.
-#   Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 1997 Free Software Foundation
+#   Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -41,6 +41,8 @@ man8dir = $(mandir)/man8
 man9dir = $(mandir)/man9
 infodir = $(prefix)/info
 includedir = $(prefix)/include
+# Directory in which the compiler finds executables, libraries, etc.
+libsubdir = $(libdir)/gcc-lib/$(target_alias)/$(gcc_version)
 GDB_NLM_DEPS = 
 
 SHELL = /bin/sh
@@ -100,6 +102,7 @@ GZIPPROG = gzip
 # These values are substituted by configure.
 DEFAULT_YACC = yacc
 DEFAULT_LEX = lex
+DEFAULT_M4 = m4
 
 BISON = `if [ -f $$r/bison/bison ] ; then \
            echo $$r/bison/bison -L $$s/bison/ ; \
@@ -121,7 +124,7 @@ LEX = `if [ -f $$r/flex/flex ] ; \
 
 M4 = `if [ -f $$r/m4/m4 ] ; \
        then echo $$r/m4/m4 ; \
-       else echo m4 ; fi`
+       else echo ${DEFAULT_M4} ; fi`
 
 MAKEINFO = `if [ -f $$r/texinfo/makeinfo/Makefile ] ; \
        then echo $$r/texinfo/makeinfo/makeinfo ; \
@@ -151,7 +154,7 @@ OTHERS =
 
 # This is set by the configure script to the list of directories which
 # should be built using the target tools.
-TARGET_CONFIGDIRS = libiberty libgloss newlib libio librx libstdc++ libg++ winsup
+TARGET_CONFIGDIRS = libiberty libgloss newlib libio librx libstdc++ libg++ libf2c libchill libobjc winsup
 
 # Target libraries are put under this directory:
 # Changed by configure to $(target_alias) if cross.
@@ -175,18 +178,24 @@ REALLY_SET_LIB_PATH = \
 
 ALL = all.normal
 INSTALL_TARGET = installdirs \
+       install-gcc \
        $(INSTALL_MODULES) \
        $(INSTALL_TARGET_MODULES) \
        $(INSTALL_X11_MODULES) \
-       install-gcc \
        $(INSTALL_DOSREL)
 
+INSTALL_TARGET_CROSS = installdirs \
+       install-gcc-cross \
+       $(INSTALL_MODULES) \
+       $(INSTALL_TARGET_MODULES) \
+       $(INSTALL_X11_MODULES) \
+       $(INSTALL_DOSREL)
 
 CC_FOR_TARGET = ` \
   if [ -f $$r/gcc/xgcc ] ; then \
     if [ -f $$r/$(TARGET_SUBDIR)/newlib/Makefile ] ; then \
       if [ -f $$r/$(TARGET_SUBDIR)/winsup/Makefile ] ; then \
-        echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/newlib/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
+        echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/$(TARGET_SUBDIR)/newlib/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
       else \
         echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
       fi; \
@@ -212,7 +221,7 @@ CXX_FOR_TARGET = ` \
   if [ -f $$r/gcc/xgcc ] ; then \
     if [ -f $$r/$(TARGET_SUBDIR)/newlib/Makefile ] ; then \
       if [ -f $$r/$(TARGET_SUBDIR)/winsup/Makefile ] ; then \
-        echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/newlib/ -L$$r/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
+        echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/$(TARGET_SUBDIR)/newlib/ -L$$r/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
       else \
         echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
       fi; \
@@ -338,18 +347,22 @@ BASE_FLAGS_TO_PASS = \
        "MAKE=$(MAKE)" \
        "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
        "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
        "SHELL=$(SHELL)" \
        "EXPECT=$(EXPECT)" \
        "RUNTEST=$(RUNTEST)" \
        "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+       "TARGET_SUBDIR=$(TARGET_SUBDIR)" \
        "WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \
        "YACC=$(YACC)" \
        "exec_prefix=$(exec_prefix)" \
        "prefix=$(prefix)" \
-       "tooldir=$(tooldir)" 
+       "tooldir=$(tooldir)" \
+       "gxx_include_dir=$(gxx_include_dir)" \
+       "gcc_version=$(gcc_version)" \
+       "gcc_version_trigger=$(gcc_version_trigger)" \
+       "target_alias=$(target_alias)" \
+       "libsubdir=$(libsubdir)"
 
 # Flags to pass down to most sub-makes, in which we're building with
 # the host environment.
@@ -395,7 +408,6 @@ EXTRA_TARGET_FLAGS = \
        'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
        'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
        'NM=$$(NM_FOR_TARGET)' \
-       'PICFLAG=$$(PICFLAG_FOR_TARGET)' \
        'RANLIB=$$(RANLIB_FOR_TARGET)' \
        'WINDRES=$$(WINDRES_FOR_TARGET)'
 
@@ -612,7 +624,6 @@ INSTALL_MODULES = \
        install-sn \
        install-tar \
        install-tcl \
-       install-texinfo \
        install-textutils \
        install-tgas \
        install-time \
@@ -665,6 +676,9 @@ ALL_TARGET_MODULES = \
        all-target-librx \
        all-target-libg++ \
        all-target-newlib \
+       all-target-libf2c \
+       all-target-libchill \
+       all-target-libobjc \
        all-target-winsup \
        all-target-libgloss \
        all-target-libiberty \
@@ -679,6 +693,9 @@ CONFIGURE_TARGET_MODULES = \
        configure-target-librx \
        configure-target-libg++ \
        configure-target-newlib \
+       configure-target-libf2c \
+       configure-target-libchill \
+       configure-target-libobjc \
        configure-target-winsup \
        configure-target-libgloss \
        configure-target-libiberty \
@@ -692,6 +709,9 @@ CHECK_TARGET_MODULES = \
        check-target-libstdc++ \
        check-target-libg++ \
        check-target-newlib \
+       check-target-libf2c \
+       check-target-libchill \
+       check-target-libobjc \
        check-target-winsup \
        check-target-libiberty \
        check-target-gperf
@@ -703,6 +723,9 @@ INSTALL_TARGET_MODULES = \
        install-target-libstdc++ \
        install-target-libg++ \
        install-target-newlib \
+       install-target-libf2c \
+       install-target-libchill \
+       install-target-libobjc \
        install-target-winsup \
        install-target-libgloss \
        install-target-libiberty \
@@ -774,6 +797,9 @@ CLEAN_TARGET_MODULES = \
        clean-target-librx \
        clean-target-libg++ \
        clean-target-newlib \
+       clean-target-libf2c \
+       clean-target-libchill \
+       clean-target-libobjc \
        clean-target-winsup \
        clean-target-libgloss \
        clean-target-libiberty \
@@ -890,7 +916,7 @@ install-info: do-install-info dir.info
        else true ; fi
 
 local-clean:
-       -rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E
+       -rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E *.log
 
 local-distclean:
        -rm -f Makefile config.status config.cache mh-frag mt-frag
@@ -945,10 +971,32 @@ check: $(CHECK_MODULES) \
        $(CHECK_X11_MODULES) \
        check-gcc
 
+# Automated reporting of test results.
+
+warning.log: build.log
+       $(srcdir)/contrib/warn_summary build.log > $@
+
+mail-report.log:
+       if test x'$(BOOT_CFLAGS)' != x''; then \
+           BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
+       fi; \
+       $(srcdir)/contrib/test_summary -t >$@
+       chmod +x $@
+       echo If you really want to send e-mail, run ./$@ now
+
+mail-report-with-warnings.log: warning.log
+       if test x'$(BOOT_CFLAGS)' != x''; then \
+           BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
+       fi; \
+       $(srcdir)/contrib/test_summary -t -i warning.log >$@
+       chmod +x $@
+       echo If you really want to send e-mail, run ./$@ now
+
 # Installation targets.
 
-.PHONY: install uninstall source-vault binary-vault vault-install
+.PHONY: install install-cross uninstall source-vault binary-vault vault-install
 install: $(INSTALL_TARGET) 
+install-cross: $(INSTALL_TARGET_CROSS) 
 
 uninstall:
        @echo "the uninstall target is not supported in this tree"
@@ -1157,11 +1205,13 @@ $(CONFIGURE_TARGET_MODULES):
              libsrcdir="$$s/$${dir}"; \
            fi; \
            if [ -f $${libsrcdir}/configure ] ; then \
-             $(SHELL) $${libsrcdir}/configure \
+             rm -f no-such-file; \
+             CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
                $(CONFIG_ARGUMENTS) $${srcdiroption} \
                --with-target-subdir="$(TARGET_SUBDIR)"; \
            else \
-             $(SHELL) $$s/configure \
+             rm -f no-such-file; \
+             CONFIG_SITE=no-such-file $(SHELL) $$s/configure \
                $(CONFIG_ARGUMENTS) $${srcdiroption} \
                --with-target-subdir="$(TARGET_SUBDIR)"; \
            fi; \
@@ -1283,8 +1333,8 @@ all-gcc:
 # In theory, on an SMP all those dependencies can be resolved
 # in parallel.
 #
-.PHONY: bootstrap bootstrap2 bootstrap3
-bootstrap bootstrap2 bootstrap3: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
+.PHONY: bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean
+bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
        @r=`pwd`; export r; \
        s=`cd $(srcdir); pwd`; export s; \
        $(SET_LIB_PATH) \
@@ -1292,26 +1342,25 @@ bootstrap bootstrap2 bootstrap3: all-texinfo all-bison all-byacc all-binutils al
        cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) $@
        @r=`pwd`; export r; \
        s=`cd $(srcdir); pwd`; export s; \
+       case "$@" in \
+         *bootstrap4-lean ) \
+                       msg="Comparing stage3 and stage4 of the compiler"; \
+                       compare=compare3-lean ;; \
+         *bootstrap4 ) msg="Comparing stage3 and stage4 of the compiler"; \
+                       compare=compare3 ;; \
+         *-lean )      msg="Comparing stage2 and stage3 of the compiler"; \
+                       compare=compare-lean ;; \
+         * )           msg="Comparing stage2 and stage3 of the compiler"; \
+                       compare=compare ;; \
+       esac; \
        $(SET_LIB_PATH) \
-       echo "Comparing stage2 and stage3 of the compiler"; \
-       cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) compare
-       @echo "Building runtime libraries"; \
-       $(MAKE) all
-
-.PHONY: bootstrap-lean
-bootstrap-lean: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
+       echo "$$msg"; \
+       cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare
        @r=`pwd`; export r; \
-       s=`cd $(srcdir); pwd`; export s; \
+       s=`cd $(srcdir); pwd` ; export s; \
        $(SET_LIB_PATH) \
-       echo "Bootstrapping the compiler"; \
-       cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) $@
-       @r=`pwd`; export r; \
-       s=`cd $(srcdir); pwd`; export s; \
-       $(SET_LIB_PATH) \
-       echo "Comparing stage2 and stage3 of the compiler"; \
-       cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) compare-lean
-       @echo "Building runtime libraries"; \
-       $(MAKE) all
+       echo "Building runtime libraries"; \
+       $(MAKE) $(BASE_FLAGS_TO_PASS) all
 
 .PHONY: cross
 cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
@@ -1320,8 +1369,11 @@ cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
        $(SET_LIB_PATH) \
        echo "Building the C and C++ compiler"; \
        cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++"
-       @echo "Building runtime libraries"; \
-       $(MAKE) all LANGUAGES="c c++"
+       @r=`pwd`; export r; \
+       s=`cd $(srcdir); pwd` ; export s; \
+       $(SET_LIB_PATH) \
+       echo "Building runtime libraries"; \
+       $(MAKE) $(BASE_FLAGS_TO_PASS) all LANGUAGES="c c++"
 
 .PHONY: check-gcc
 check-gcc:
@@ -1345,7 +1397,16 @@ install-gcc:
          true; \
        fi
 
-
+.PHONY: install-gcc-cross
+install-gcc-cross:
+       @if [ -f ./gcc/Makefile ] ; then \
+         r=`pwd`; export r; \
+         s=`cd $(srcdir); pwd`; export s; \
+         $(SET_LIB_PATH) \
+         (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++" install); \
+       else \
+         true; \
+       fi
 # EXPERIMENTAL STUFF
 # This rule is used to install the modules which use FLAGS_TO_PASS.
 # To build a target install-X means to cd to X and make install.
@@ -1415,11 +1476,15 @@ configure-target-libgloss: $(ALL_GCC)
 all-target-libgloss: configure-target-libgloss configure-target-newlib
 configure-target-libio: $(ALL_GCC)
 all-target-libio: configure-target-libio all-gas all-ld all-gcc all-target-libiberty all-target-newlib
+check-target-libio: all-target-libstdc++
 all-libiberty:
 configure-target-librx: $(ALL_GCC) configure-target-newlib
 all-target-librx: configure-target-librx
 configure-target-libstdc++: $(ALL_GCC)
 all-target-libstdc++: configure-target-libstdc++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio
+all-target-libf2c: configure-target-libf2c all-gas all-ld all-gcc all-target-libiberty all-target-newlib
+all-target-libchill: configure-target-libchill all-gas all-ld all-gcc all-target-libiberty all-target-newlib
+all-target-libobjc: configure-target-libobjc all-gas all-ld all-gcc all-target-libiberty all-target-newlib
 all-m4: all-libiberty
 all-make: all-libiberty
 all-mmalloc:
@@ -1487,7 +1552,7 @@ TAGS: do-TAGS
 
 # with the gnu make, this is done automatically.
 
-Makefile: Makefile.in configure.in $(host_makefile_frag) $(target_makefile_frag)
+Makefile: Makefile.in configure.in $(host_makefile_frag) $(target_makefile_frag) $(gcc_version_trigger)
        $(SHELL) ./config.status
 
 #