* gdb.c++/cplusfuncs.cc: Include <stddef.h>, not <sys/types.h>,
[deliverable/binutils-gdb.git] / Makefile.in
index 4774c504f166573c506af544401d5b6342de199e..5bffcefcfa3a45719ef6eadb2769c0c14d7753c9 100644 (file)
@@ -50,11 +50,19 @@ INSTALL_PROGRAM = $(INSTALL)
 INSTALL_DATA = $(INSTALL) -m 644
 INSTALL_XFORM = $(INSTALL) -t='$(program_transform_name)'
 
+INSTALL_DOSREL = install-dosrel-fake
+
 AS = as
 AR = ar
 AR_FLAGS = rc
 CC = cc
 
+# Special variables passed down in EXTRA_GCC_FLAGS.  They are defined
+# here so that they can be overridden by Makefile fragments.
+HOST_CC = $(CC_FOR_BUILD)
+HOST_PREFIX = 
+HOST_PREFIX_1 = loser-
+
 # We don't specify -g -O because many compilers don't support -g -O,
 # and/or -O is broken in and of itself.
 CFLAGS = -g
@@ -66,11 +74,10 @@ CHILL_LIB = -lchill
 CXX = gcc
 
 # Use -O to stress test the compiler.
-CXXFLAGS = -g -O
+CXXFLAGS = -g -O -fexternal-templates
 
 RANLIB = ranlib
 NM = nm
-MUNCH_NM = $(NM)
 # Not plain GZIP, since gzip looks there for extra command-line options.
 GZIPPROG = gzip
 
@@ -122,16 +129,22 @@ INSTALL_TARGET = install-dirs \
        $(INSTALL_MODULES) \
        $(INSTALL_TARGET_MODULES) \
        $(INSTALL_X11_MODULES) \
-       install-gcc
+       install-gcc \
+       $(INSTALL_DOSREL)
+
 
 CC_FOR_TARGET = ` \
   if [ -f $$r/gcc/Makefile ] ; then \
-    echo $$r/gcc/xgcc -B$$r/gcc/; \
+    if [ -f $$r/newlib/Makefile ] ; then \
+      echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/newlib/targ-include -idirafter $${srcroot}/newlib/libc/include -nostdinc; \
+    else \
+      echo $$r/gcc/xgcc -B$$r/gcc/; \
+    fi; \
   else \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
       echo $(CC); \
     else \
-      t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
+      t='$(program_transform_name)'; echo gcc | sed -e 's/brokensed/brokensed/' $$t; \
     fi; \
   fi`
 
@@ -143,7 +156,7 @@ CHILL_FOR_TARGET = ` \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
       echo $(CC); \
     else \
-      t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
+      t='$(program_transform_name)'; echo gcc | sed -e 's/brokensed/brokensed/' $$t; \
     fi; \
   fi`
 
@@ -151,12 +164,16 @@ CHILL_FOR_TARGET = ` \
 
 CXX_FOR_TARGET = ` \
   if [ -f $$r/gcc/Makefile ] ; then \
-    echo $$r/gcc/xgcc -B$$r/gcc/; \
+    if [ -f $$r/newlib/Makefile ] ; then \
+      echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/newlib/targ-include -idirafter $${srcroot}/newlib/libc/include -nostdinc; \
+    else \
+      echo $$r/gcc/xgcc -B$$r/gcc/; \
+    fi; \
   else \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
       echo $(CXX); \
     else \
-      t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
+      t='$(program_transform_name)'; echo gcc | sed -e 's/brokensed/brokensed/' $$t; \
     fi; \
   fi`
 
@@ -167,7 +184,7 @@ AS_FOR_TARGET = ` \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
       echo $(AS); \
     else \
-       t='$(program_transform_name)'; echo as | sed -e '' $$t ; \
+       t='$(program_transform_name)'; echo as | sed -e 's/brokensed/brokensed/' $$t ; \
     fi; \
   fi`
 
@@ -178,7 +195,7 @@ AR_FOR_TARGET = ` \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
       echo $(AR); \
     else \
-       t='$(program_transform_name)'; echo ar | sed -e '' $$t ; \
+       t='$(program_transform_name)'; echo ar | sed -e 's/brokensed/brokensed/' $$t ; \
     fi; \
   fi`
 
@@ -189,32 +206,21 @@ RANLIB_FOR_TARGET = ` \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
       echo $(RANLIB); \
     else \
-       t='$(program_transform_name)'; echo ranlib | sed -e '' $$t ; \
+       t='$(program_transform_name)'; echo ranlib | sed -e 's/brokensed/brokensed/' $$t ; \
     fi; \
   fi`
 
 NM_FOR_TARGET = ` \
   if [ -f $$r/binutils/Makefile ] ; then \
-    echo $$r/binutils/nm ; \
+    echo $$r/binutils/nm.new ; \
   else \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
       echo $(NM); \
     else \
-       t='$(program_transform_name)'; echo nm | sed -e '' $$t ; \
+       t='$(program_transform_name)'; echo nm | sed -e 's/brokensed/brokensed/' $$t ; \
     fi; \
   fi`
 
-# FIXME: This is badly named.
-XTRAFLAGS = ` \
-  if [ -f $$r/gcc/Makefile ] ; then \
-    if [ -f $$r/newlib/Makefile ] ; then \
-      echo -I$$r/newlib/targ-include -I$${srcroot}/newlib/libc/include -I$$r/gcc/include -nostdinc ; \
-    else \
-      echo -I$$r/gcc/include ; \
-    fi ; \
-  else \
-     echo ; \
-  fi`
 
 #### host and target specific makefile fragments come in here.
 ###
@@ -246,14 +252,12 @@ BASE_FLAGS_TO_PASS = \
        "LEX=$(LEX)" \
        "M4=$(M4)" \
        "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "MUNCH_NM=$(MUNCH_NM)" \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
        "SHELL=$(SHELL)" \
        "EXPECT=$(EXPECT)" \
        "RUNTEST=$(RUNTEST)" \
        "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "XTRAFLAGS_FOR_TARGET=$(XTRAFLAGS)" \
        "YACC=$(BISON)" \
        "exec_prefix=$(exec_prefix)" \
        "prefix=$(prefix)" \
@@ -268,8 +272,7 @@ EXTRA_HOST_FLAGS = \
        'CC=$(CC)' \
        'CXX=$(CXX)' \
        'NM=$(NM)' \
-       'RANLIB=$(RANLIB)' \
-       'XTRAFLAGS='
+       'RANLIB=$(RANLIB)'
 
 FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
 
@@ -290,8 +293,7 @@ EXTRA_TARGET_FLAGS = \
        'CC=$$(CC_FOR_TARGET)' \
        'CXX=$$(CXX_FOR_TARGET)' \
        'NM=$$(NM_FOR_TARGET)' \
-       'RANLIB=$$(RANLIB_FOR_TARGET)' \
-       'XTRAFLAGS=$$(XTRAFLAGS_FOR_TARGET)'
+       'RANLIB=$$(RANLIB_FOR_TARGET)'
 
 TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
 
@@ -301,9 +303,6 @@ TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
 # If any variables are added here, they must be added to do-*, below.
 # The HOST_* variables are a special case, which are used for the gcc
 # cross-building scheme.
-HOST_CC = $(CC_FOR_BUILD)
-HOST_PREFIX = 
-HOST_PREFIX_1 = loser-
 EXTRA_GCC_FLAGS = \
        'AR=$$(AR_FOR_TARGET)' \
        'AS=$(AS)' \
@@ -313,8 +312,7 @@ EXTRA_GCC_FLAGS = \
        'HOST_PREFIX=$(HOST_PREFIX)' \
        'HOST_PREFIX_1=$(HOST_PREFIX_1)' \
        'NM=$(NM)' \
-       'RANLIB=$$(RANLIB_FOR_TARGET)' \
-       'XTRAFLAGS='
+       'RANLIB=$$(RANLIB_FOR_TARGET)'
 
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS)
 
@@ -366,22 +364,30 @@ ALL_MODULES = \
        all-tgas \
        all-time \
        all-uudecode \
-       all-wdiff
+       all-wdiff 
 
 # This is a list of the check targets for all of the modules which are
 # compiled using $(FLAGS_TO_PASS).
-CHECK_MODULES = \
+# This is a list of the check targets for all of the modules which are
+# compiled using $(FLAGS_TO_PASS).
+#
+# The list is in two parts.  The first lists those tools which
+# are tested as part of the host's native tool-chain, and not
+# tested in a cross configuration.
+NATIVE_CHECK_MODULES = \
+       check-byacc \
+       check-flex
+
+CROSS_CHECK_MODULES = \
        check-autoconf \
        check-bfd \
        check-binutils \
-       check-byacc \
        check-cvs \
        check-dejagnu \
        check-diff \
        check-etc \
        check-fileutils \
        check-find \
-       check-flex \
        check-gas \
        check-gawk \
        check-gdb \
@@ -416,6 +422,8 @@ CHECK_MODULES = \
        check-uudecode \
        check-wdiff
 
+CHECK_MODULES=$(NATIVE_CHECK_MODULES) $(CROSS_CHECK_MODULES)
+
 # This is a list of the install targets for all of the modules which are
 # compiled using $(FLAGS_TO_PASS).
 INSTALL_MODULES = \
@@ -426,6 +434,7 @@ INSTALL_MODULES = \
        install-cvs \
        install-dejagnu \
        install-diff \
+       install-dosutils \
        install-etc \
        install-fileutils \
        install-find \
@@ -469,6 +478,7 @@ INSTALL_MODULES = \
 # using $(X11_FLAGS_TO_PASS).
 ALL_X11_MODULES = \
        all-emacs \
+       all-emacs19 \
        all-expect \
        all-gash \
        all-tclX \
@@ -487,6 +497,7 @@ CHECK_X11_MODULES = \
 # compiled using $(X11_FLAGS_TO_PASS).
 INSTALL_X11_MODULES = \
        install-emacs \
+       install-emacs19 \
        install-expect \
        install-gash \
        install-tclX \
@@ -559,7 +570,8 @@ DO_X = \
        do-install-info \
        do-installcheck \
        do-mostlyclean \
-       do-realclean
+       do-realclean \
+       do-TAGS
 .PHONY: $(DO_X)
 $(DO_X):
        @target=`echo $@ | sed -e 's/^do-//'`; \
@@ -584,11 +596,11 @@ $(DO_X):
              done; \
              ;; \
            esac ; \
-           export AR AS CC CXX NM RANLIB XTRAFLAGS; \
+           export AR AS CC CXX NM RANLIB; \
            if (cd ./$$i; \
                $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
                        "CC=$${CC}" "CXX=$${CXX}" "NM=$${NM}" \
-                       "RANLIB=$${RANLIB}" "XTRAFLAGS=$${XTRAFLAGS}" \
+                       "RANLIB=$${RANLIB}" \
                        $${target}); \
            then true; else exit 1; fi; \
          else true; fi; \
@@ -672,7 +684,7 @@ gcc-no-fixedincludes:
          mv gcc/include gcc/tmp-include 2>/dev/null; \
          mkdir gcc/include; \
          cp $(srcdir)/gcc/gsyslimits.h gcc/include/syslimits.h; \
-         touch gcc/stmp-fixinc gcc/stmp-fixproto; \
+         touch gcc/stmp-fixinc gcc/include/fixed; \
          rm -f gcc/stmp-headers gcc/stmp-int-hdrs; \
          r=`pwd`; export r; \
          srcroot=`cd $(srcdir); pwd` ; export srcroot; \
@@ -685,21 +697,44 @@ gcc-no-fixedincludes:
 # This rule is used to build the modules which use FLAGS_TO_PASS.  To
 # build a target all-X means to cd to X and make all.
 # all-glob is handled specially because it doesn't actually build.
-.PHONY: $(ALL_MODULES) all-glob
-$(ALL_MODULES) all-glob:
+#
+# all-gui, all-libproc and all-librx are handled specially because
+# they are still experimental, and if they fail to build, that
+# shouldn't stop "make all".
+.PHONY: $(ALL_MODULES) all-glob all-gui all-libproc all-librx
+$(ALL_MODULES) all-glob all-gui all-libproc all-librx:
        @dir=`echo $@ | sed -e 's/all-//'`; \
-       if [ -f ./$${dir}/Makefile ] ; then \
-         r=`pwd`; export r; \
-         srcroot=`cd $(srcdir); pwd`; export srcroot; \
-         (cd $${dir}; $(MAKE) $(FLAGS_TO_PASS) all); \
+       if [ -d ./$${dir} ] ; then \
+         if [ -f ./$${dir}/Makefile ] ; then \
+           r=`pwd`; export r; \
+           srcroot=`cd $(srcdir); pwd`; export srcroot; \
+           (cd $${dir}; $(MAKE) $(FLAGS_TO_PASS) all); \
+         else \
+           true ; \
+         fi; \
        else \
          true; \
        fi
 
 # This rule is used to check the modules which use FLAGS_TO_PASS.  To
 # build a target check-X means to cd to X and make all.
-.PHONY: $(CHECK_MODULES) 
-$(CHECK_MODULES):
+
+.PHONY: $(CHECK_MODULES) $(NATIVE_CHECK_MODULES) $(CROSS_CHECK_MODULES)
+$(NATIVE_CHECK_MODULES):
+       @if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
+         dir=`echo $@ | sed -e 's/check-//'`; \
+         if [ -d ./$${dir} ] ; then \
+           if [ -f ./$${dir}/Makefile ] ; then \
+             r=`pwd`; export r; \
+             srcroot=`cd $(srcdir); pwd`; export srcroot; \
+             (cd $${dir}; $(MAKE) $(FLAGS_TO_PASS) check); \
+           else \
+             true; \
+           fi ; \
+         fi; \
+       fi
+
+$(CROSS_CHECK_MODULES):
        @dir=`echo $@ | sed -e 's/check-//'`; \
        if [ -f ./$${dir}/Makefile ] ; then \
          r=`pwd`; export r; \
@@ -835,6 +870,24 @@ install-gcc:
          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.
+.PHONY: install-dosrel
+install-dosrel: install-dirs info
+       @dir=`echo $@ | sed -e 's/install-//'`; \
+       if [ -f ./$${dir}/Makefile ] ; then \
+         r=`pwd`; export r; \
+         srcroot=`cd $(srcdir); pwd`; export srcroot; \
+         (cd $${dir}; $(MAKE) $(FLAGS_TO_PASS) install); \
+       else \
+         true; \
+       fi
+
+install-dosrel-fake:
+
+
 # This is a list of inter-dependencies among modules.
 all-autoconf: all-m4
 all-bfd:
@@ -844,9 +897,10 @@ all-byacc:
 all-chillrt: all-binutils all-gas all-gcc all-newlib
 # end-sanitize-chill
 all-cvs:
-all-dejagnu:
+all-dejagnu: all-tcl all-expect all-tk
 all-diff: all-libiberty
 all-emacs:
+all-emacs19:
 all-etc:
 all-expect: all-tcl all-tk
 all-fileutils: all-libiberty
@@ -860,10 +914,11 @@ all-gdb: all-libiberty all-opcodes all-bfd all-mmalloc all-readline all-glob all
 all-glob:
 all-gprof: all-libiberty all-bfd
 all-grep: all-libiberty
+all-gui: all-gdb all-libproc all-librx
 all-gzip: all-libiberty
 all-hello: all-libiberty
 all-indent:
-all-ispell: all-emacs
+all-ispell: all-emacs # all-emacs19 ??? is this needed?
 all-ld: all-libiberty all-bfd all-byacc all-flex
 all-libg++: all-gas all-pagas all-ld all-gcc all-xiberty all-newlib all-libio
 all-libio: all-gas all-pagas all-ld all-gcc all-xiberty all-newlib 
@@ -932,21 +987,13 @@ dist:
 
 etags tags: TAGS
 
-TAGS:
-       etags `$(MAKE) ls`
-
-ls:
-       @echo Makefile
-       @for i in $(SUBDIRS); \
-       do \
-               (cd $$i; \
-                       pwd=`pwd`; \
-                       wd=`basename $$pwd`; \
-                       for j in `$(MAKE) ls`; \
-                       do \
-                               echo $$wd/$$j; \
-                       done) \
-       done
+# Right now this just builds TAGS in each subdirectory.  emacs19 has the
+# ability to use several tags files at once, so there is probably no need
+# to combine them into one big TAGS file (like CVS 1.3 does).  We could
+# (if we felt like it) have this Makefile write a piece of elisp which
+# the user could load to tell emacs19 where all the TAGS files we just
+# built are.
+TAGS: do-TAGS
 
 # with the gnu make, this is done automatically.
 
@@ -974,6 +1021,9 @@ GDB_SUPPORT_FILES= $(GDB_SUPPORT_DIRS)
 
 .PHONY: setup-dirs-gdb gdb.tar.gz make-gdb.tar.gz
 setup-dirs-gdb:
+       $(start-sanitize-Sanitize)
+       @if [ -f .Sanitize ] ; then echo "RUN Sanitize FIRST!" ; false ; fi ;
+       $(end-sanitize-Sanitize)
        ./configure sun4
        $(MAKE) clean
        ./configure -rm sun4
This page took 0.028316 seconds and 4 git commands to generate.