OSDN Git Service

* alpha.md (builtin_longjmp): Add missing "DONE".
[pf3gnuchains/gcc-fork.git] / libstdc++ / Makefile.in
index 03a3718..bb60455 100644 (file)
@@ -14,7 +14,8 @@
 # along with this library; see the file COPYING.  If not, write to the Free
 # Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
-VERSION = 2.8.0
+VERSION = 2.9.0
+INTERFACE = 2
 
 OBJS  = cstringi.o stdexcepti.o cstdlibi.o cmathi.o stlinst.o
 SUBLIBS = $(STAMP)-string $(STAMP)-complx
@@ -25,9 +26,11 @@ HEADERS= cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \
         cwchar cwctype string stdexcept \
         algorithm deque functional hash_map hash_set iterator list map \
         memory numeric pthread_alloc queue rope set slist stack utility \
-        vector fstream iomanip iostream strstream iosfwd
+        vector fstream iomanip iostream strstream iosfwd bitset
 
-ARLIB   = libstdc++.a
+ARLIB   = libstdc++.a.$(VERSION)
+ARLINK  = libstdc++.a
+MARLINK = libstdc++.a.`echo $(VERSION) | sed 's/\([0-9][.][0-9]\).*/\1/'`
 SHLIB   = libstdc++.so.$(VERSION)
 SHARLIB = libstdc++-sh.a
 SHLINK  = libstdc++.so
@@ -37,7 +40,7 @@ SHDEPS  =
 
 STAMP   = bigstmp
 
-LIBS    = $(ARLIB)
+LIBS    = $(ARLIB) $(ARLINK)
 
 #### package, host, target, and site dependent Makefile fragments come in here.
 ##
@@ -48,15 +51,13 @@ LIBIBERTY_DIR = ../libiberty
 LIBIBERTY_OBJS = `cat $(LIBIBERTY_DIR)/needed-list` strerror.o
 
 tooldir = $(exec_prefix)/$(target)
+# This is where the libraries will be installed; note, it will be set
+# at make runtime now. See below at target install.
 INSTALLDIR = $(libdir)
 
 MOSTLYCLEAN_JUNK = *stmp-* tlib*.a *.s *.ii stdlist piclist
 CLEAN_JUNK = $(LIBS)
 
-# Remove these for public releases.
-CXXFLAGS = -g -O -Wpointer-arith -Wnested-externs -Woverloaded-virtual -Wbad-function-cast -Winline -Wwrite-strings -Weffc++
-CFLAGS = -g -O -Wpointer-arith -Wnested-externs
-
 .PHONY: libs
 libs: $(LIBS)
 
@@ -87,6 +88,13 @@ $(ARLIB): stdlist
        mv t$(ARLIB) $(ARLIB)
        $(RANLIB) $(ARLIB)
 
+$(ARLINK):
+       -rm -f $(ARLINK)
+       ln -s $(ARLIB) $(ARLINK)
+
+marlink:
+       @$(MAKE) $(MARLINK) "ARLINK=$(MARLINK)"
+
 $(SHLIB): piclist
        $(CC) $(LIBCXXFLAGS) $(SHFLAGS) -shared -o $(SHLIB) `cat piclist` $(SHDEPS)
 
@@ -97,7 +105,8 @@ $(SHARLIB): $(SHLIB)
        $(RANLIB) $(SHARLIB)
 
 $(SHLINK):
-       ln -f -s $(SHLIB) $(SHLINK)
+       -rm -f $(SHLINK)
+       ln -s $(SHLIB) $(SHLINK)
 
 mshlink:
        @$(MAKE) $(MSHLINK) "SHLINK=$(MSHLINK)"
@@ -258,7 +267,7 @@ install:
            fi ; \
            chmod a-x $(gxx_include_dir)/$$FILE ; \
          done ; \
-         for FILE in *.h std/*.*; do \
+         for FILE in *.h std/*.h std/*.cc; do \
            rm -f $(gxx_include_dir)/$$FILE ; \
            $(INSTALL_DATA) $$FILE $(gxx_include_dir)/$$FILE ; \
            chmod a-x $(gxx_include_dir)/$$FILE ; \
@@ -272,24 +281,71 @@ install:
        else true ; \
        fi
        rootme=`pwd`/ ; export rootme ; \
-       rm -f $(INSTALLDIR)$(MULTISUBDIR)/$(SHLINK) ; \
+       if [ x$(enable_version_specific_runtime_libs) != xyes ]; then \
+         INSTALLDIR=$(libdir); \
+       else \
+         INSTALLDIR=$(libsubdir); \
+       fi; \
+       INSTALLLINKDIR=$(libsubdir); \
+       if [ $${INSTALLLINKDIR}$(MULTISUBDIR) = $${INSTALLDIR}$(MULTISUBDIR) ]; then \
+         RELINSTALLDIR=; \
+       elif [ x$(MULTISUBDIR) = x ]; then \
+         if [ $(build_alias) = $(target_alias) ]; then \
+           RELINSTALLDIR=../../../; \
+         else \
+           RELINSTALLDIR=../../../../$(target_alias)/lib/; \
+         fi; \
+       else \
+         if [ $(build_alias) = $(target_alias) ]; then \
+           RELINSTALLDIR=../../..`echo $(MULTISUBDIR) | sed -e 's,/[^/]*,/..,g'`$(MULTISUBDIR)/; \
+         else \
+           RELINSTALLDIR=../../../..`echo $(MULTISUBDIR) | sed -e 's,/[^/]*,/..,g'`/$(target_alias)/lib$(MULTISUBDIR)/; \
+         fi; \
+       fi; \
+       if [ $(build_alias) != $(target_alias) ]; then \
+         case $$RELINSTALLDIR in \
+         ../../../|../../../../) \
+           RELINSTALLDIR=../$${RELINSTALLDIR}$(target_alias)/lib/;; \
+         esac; \
+       fi; \
+       rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$(SHLINK) ; \
+       rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$(ARLINK) ; \
        for FILE in $(LIBS) ; do \
-         rm -f $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+         rm -f $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
          if [ $$FILE = $(SHLINK) ] ; then \
-           ln -f -s $(SHLIB) $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+           if [ -f $${INSTALLDIR}/$(MSHLINK) ]; then \
+             rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+             ln -s $${RELINSTALLDIR}$(MSHLINK) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+           else \
+             rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+             ln -s $${RELINSTALLDIR}$(SHLIB) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+           fi; \
+         elif [ $$FILE = $(ARLINK) ] ; then \
+           if [ -f $${INSTALLDIR}/$(MARLINK) ]; then \
+             rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+             ln -s $${RELINSTALLDIR}$(MARLINK) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+           else \
+             rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+             ln -s $${RELINSTALLDIR}$(ARLIB) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+           fi; \
          elif [ $$FILE = mshlink ]; then \
            for FILE in $(MSHLINK) ; do \
-             rm -f $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
-             ln -f -s $(SHLIB) $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+             rm -f $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+             ln -s $(SHLIB) $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+           done; \
+         elif [ $$FILE = marlink ]; then \
+           for FILE in $(MARLINK) ; do \
+             rm -f $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+             ln -s $(ARLIB) $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
            done; \
          elif [ $$FILE = $(SHLIB) ]; then \
-           $(INSTALL_PROGRAM) $$FILE $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+           $(INSTALL_PROGRAM) $$FILE $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
            : On the HP, shared libraries must be mode 555. ;\
-           chmod 555 $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+           chmod 555 $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
          else \
-           $(INSTALL_DATA) $$FILE $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
-           $(RANLIB) $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
-           chmod a-x $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+           $(INSTALL_DATA) $$FILE $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+           $(RANLIB) $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+           chmod a-x $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
          fi ; \
        done
        @rootme=`pwd`/ ; export rootme ; \
@@ -298,19 +354,22 @@ install:
 .PHONY: force
 force:
 
+# Remove these for public releases.
+MYCXXFLAGS = -g -O2 -Wpointer-arith -Wnested-externs -Woverloaded-virtual -Wbad-function-cast -Winline -Wwrite-strings
+MYCFLAGS = -g -O2 -Wpointer-arith -Wnested-externs
+
 .PHONY: stuff
 stuff:
-       $(MAKE) clean
-       $(MAKE) -C ../libio c++clean
-       -$(MAKE) $(MAKEFLAGS) check
-       -$(MAKE) -C ../libio check
-       -$(MAKE) -C ../gcc check-g++
+       $(MAKE) stuff1
+       $(MAKE) stuff2
 
 stuff1:
        $(MAKE) clean
        $(MAKE) -C ../libio c++clean
+       touch ../../gcc/libgcc2.ready
 
 stuff2:
-       -$(MAKE) check
+       -$(MAKE) -C ../../gcc/ libgcc.a
+       -$(MAKE) check CXXFLAGS="$(MYCXXFLAGS)" CFLAGS="$(MYCFLAGS)"
        -$(MAKE) -C ../libio check
-       -$(MAKE) -C ../gcc check-g++
+       -$(MAKE) -C ../../gcc check-g++