OSDN Git Service

2001-07-13 Stephen M. Webb <stephen@bregmasoft.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / src / Makefile.in
index a63a651..1c9304e 100644 (file)
@@ -64,21 +64,26 @@ target_alias = @target_alias@
 target_triplet = @target@
 AR = @AR@
 AS = @AS@
+ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
+BASIC_FILE_H = @BASIC_FILE_H@
 CC = @CC@
+CCODECVT_C = @CCODECVT_C@
+CLOCALE_H = @CLOCALE_H@
 CPP = @CPP@
-CPU_FLAGS = @CPU_FLAGS@
-CSHADOWFLAGS = @CSHADOWFLAGS@
-CXX = @CXX@
+CSHADOW_FLAGS = @CSHADOW_FLAGS@
+CSTDIO_H = @CSTDIO_H@
 CXXCPP = @CXXCPP@
+C_INCLUDE_DIR = @C_INCLUDE_DIR@
 DEBUG_FLAGS = @DEBUG_FLAGS@
 DLLTOOL = @DLLTOOL@
 EXEEXT = @EXEEXT@
 EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
-GCC_OBJDIR = @GCC_OBJDIR@
-GLIBCPP_CFLAGS = @GLIBCPP_CFLAGS@
-GLIBCPP_CXXFLAGS = @GLIBCPP_CXXFLAGS@
+GCJ = @GCJ@
+GCJFLAGS = @GCJFLAGS@
+GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
 LIBMATHOBJS = @LIBMATHOBJS@
 LIBSTRINGOBJS = @LIBSTRINGOBJS@
+LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
 MAINT = @MAINT@
@@ -86,123 +91,145 @@ MAKEINFO = @MAKEINFO@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OPT_LDFLAGS = @OPT_LDFLAGS@
+OS_INC_SRCDIR = @OS_INC_SRCDIR@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
 STRIP = @STRIP@
-THREADDEPS = @THREADDEPS@
-THREADINCS = @THREADINCS@
-THREADLIBS = @THREADLIBS@
-THREADOBJS = @THREADOBJS@
-THREADSPEC = @THREADSPEC@
 USE_COMPLEX_LONG_DOUBLE = @USE_COMPLEX_LONG_DOUBLE@
 VERSION = @VERSION@
+WARN_FLAGS = @WARN_FLAGS@
 WERROR = @WERROR@
-WFMT_FLAGS = @WFMT_FLAGS@
-cpu_include_dir = @cpu_include_dir@
-ctype_include_dir = @ctype_include_dir@
+enable_shared = @enable_shared@
+enable_static = @enable_static@
+glibcpp_CXX = @glibcpp_CXX@
 glibcpp_basedir = @glibcpp_basedir@
+glibcpp_builddir = @glibcpp_builddir@
+glibcpp_prefixdir = @glibcpp_prefixdir@
+glibcpp_srcdir = @glibcpp_srcdir@
+glibcpp_thread_h = @glibcpp_thread_h@
+glibcpp_toolexecdir = @glibcpp_toolexecdir@
+glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
+gxx_include_dir = @gxx_include_dir@
 ifGNUmake = @ifGNUmake@
-libinst_wstring_la = @libinst_wstring_la@
+libio_la = @libio_la@
+toplevel_srcdir = @toplevel_srcdir@
 
 AUTOMAKE_OPTIONS = 1.3 gnits
 MAINT_CHARSET = latin1
-@USE_LIBDIR_TRUE@toolexeclibdir = $(libdir)$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-@USE_LIBDIR_FALSE@toolexecdir = $(exec_prefix)/$(target_alias)
 
+mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
+
+# Cross compiler and multilib support.
+CXX = @glibcpp_CXX@
+toolexecdir = @glibcpp_toolexecdir@
+toolexeclibdir = @glibcpp_toolexeclibdir@
 toolexeclib_LTLIBRARIES = libstdc++.la
-EXTRA_LTLIBRARIES = libinst-string.la libinst-wstring.la
 
-# Using these options is probably a good idea for thrill-seekers. Just
-# uncomment the lines below and make, everything else is ready to go... 
-# OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc 
+# Compile flags that should be constant throughout the build, both for
+# SUBDIRS and for libstdc++-v3 in general.
+OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
 
 # These bits are all figured out from configure. Look in acinclude.m4
-# or configure.in to see how they are set.
+# or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS
 # NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden.
-AC_CXXFLAGS =          $(WERROR) @WFMT_FLAGS@ @CPU_FLAGS@ @EXTRA_CXX_FLAGS@    @SECTION_FLAGS@ @DEBUG_FLAGS@ 
-
-
-# Need to manually set this option because AC_CXXFLAGS has to be at
-# the end of the compile line so that -O2 can be overridden as the
-# occasion call for it. (ie, --enable-debug)
-AM_CXXFLAGS =          -fno-implicit-templates $(OPTIMIZE_CXXFLAGS)    -Wall -Wno-format -W -Wwrite-strings -Winline   $(AC_CXXFLAGS) 
-
-
-# Passed down for cross compilers, canadian crosses.
-TOPLEVEL_INCLUDES = -I$(includedir)
-@GLIBCPP_NEED_LIBIO_TRUE@LIBIO_INCLUDES =      -I$(top_builddir)/libio -I$(top_srcdir)/libio 
-@GLIBCPP_NEED_LIBIO_FALSE@LIBIO_INCLUDES = -I$(top_srcdir)/libio
-#CSHADOW_INCLUDES = \
-#      @CSHADOWFLAGS@ -I$(top_srcdir)/shadow -I$(top_builddir)/cshadow
-@GLIBCPP_USE_CSHADOW_TRUE@CSHADOW_INCLUDES = 
-@GLIBCPP_USE_CSHADOW_FALSE@CSHADOW_INCLUDES = 
-
-CONFIG_INCLUDES =      -I$(top_srcdir)/@cpu_include_dir@       -I$(top_srcdir)/@ctype_include_dir@
-
-
-INCLUDES =     -D_GNU_SOURCE -nostdinc++ $(CSHADOW_INCLUDES) -I$(top_srcdir)    $(LIBIO_INCLUDES) $(CONFIG_INCLUDES) $(TOPLEVEL_INCLUDES)      
-
-
-# Need to explicitly set this so that AM_CXXFLAGS is last. (That way,
-# things like -O2 passed down from the toplevel can be overridden by
-# --enable-debug.)
-CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)          $(CXXFLAGS) $(AM_CXXFLAGS) 
-
-
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES)           $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) 
-
-
-# We have a problem when building the shared libstdc++ object if the
-# rules automake generates would be used.  We cannot allow CXX to be used
-# in libtool since this would add -lstdc++ to the link line which of
-# course is impossible.
-CXXLINK = $(LIBTOOL) --mode=link "$(CC)" @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
-
-headers =      bits/cpp_type_traits.h  bits/std_cctype.h bits/ctype_base.h bits/ctype_specializations.h        bits/char_traits.h bits/codecvt.h       bits/basic_string.h bits/std_string.h  bits/string.tcc  bits/generic_shadow.h bits/std_utility.h        bits/std_complex.h      bits/valarray_array.h bits/valarray_array.tcc bits/valarray_meta.h      bits/std_valarray.h bits/mask_array.h bits/slice.h bits/slice_array.h   bits/gslice.h bits/gslice_array.h bits/indirect_array.h         bits/std_cassert.h bits/std_cwctype.h   bits/std_cerrno.h bits/std_cfloat.h bits/std_climits.h  bits/std_clocale.h bits/std_cmath.h     bits/std_csetjmp.h bits/std_csignal.h bits/std_cstdarg.h        bits/std_cstddef.h bits/std_cstdio.h bits/std_cstdlib.h         bits/std_cstring.h bits/std_ctime.h bits/std_cwchar.h   bits/std_typeinfo.h bits/std_new.h      bits/std_exception.h bits/exception_support.h   bits/std_fstream.h bits/std_iomanip.h   bits/ios_base.h bits/fpos.h bits/basic_ios.h bits/basic_ios.tcc         bits/std_ios.h bits/std_iosfwd.h bits/std_iostream.h    bits/std_istream.h bits/istream.tcc bits/std_locale.h   bits/fstream.tcc bits/ostream.tcc bits/sbuf_iter.h bits/sstream.tcc     bits/std_ostream.h bits/std_sstream.h bits/std_streambuf.h      bits/streambuf.tcc bits/basic_file.h    bits/locale_facets.h bits/locale_facets.tcc bits/localefwd.h    bits/stl_pthread_alloc.h bits/pthread_allocimpl.h       bits/stl_threads.h bits/stl_iterator_base.h     backward/algo.h backward/algobase.h backward/alloc.h    backward/bvector.h backward/defalloc.h backward/deque.h         backward/function.h backward/hash_map.h backward/hash_set.h     backward/hashtable.h backward/heap.h backward/iterator.h        backward/list.h backward/map.h backward/multimap.h backward/new.h       backward/multiset.h backward/pair.h backward/iostream.h         backward/rope.h backward/set.h backward/slist.h backward/stack.h        backward/tempbuf.h backward/tree.h backward/vector.h    bits/std_bitset.h bits/std_deque.h bits/std_functional.h        bits/std_iterator.h bits/std_list.h     bits/std_map.h bits/std_memory.h bits/std_numeric.h     bits/std_queue.h bits/std_set.h bits/std_stack.h        bits/std_stdexcept.h bits/std_vector.h  bits/stl_algo.h bits/stl_algobase.h bits/stl_alloc.h    bits/stl_deque.h bits/stl_function.h    bits/stl_heap.h bits/stl_iterator.h bits/stl_list.h bits/stl_map.h      bits/stl_multimap.h bits/stl_multiset.h bits/stl_numeric.h      bits/stl_pair.h bits/stl_queue.h bits/stl_raw_storage_iter.h    bits/stl_relops.h bits/stl_set.h        bits/stl_stack.h bits/stl_string_fwd.h bits/stl_tempbuf.h       bits/stl_tree.h bits/stl_uninitialized.h bits/stl_vector.h      bits/type_traits.h bits/stl_range_errors.h bits/std_algorithm.h         bits/concept_checks.h bits/container_concepts.h         bits/sequence_concepts.h bits/std_strstream.h   ext/ropeimpl.h ext/stl_rope.h   ext/stl_bvector.h bits/stl_config.h bits/stl_construct.h        ext/stl_hashtable.h ext/stl_hash_fun.h  ext/hash_map ext/hash_set ext/rope ext/slist    ext/tree ext/bvector    shadow/assert.h shadow/ctype.h shadow/errno.h shadow/float.h    shadow/libio.h  shadow/limits.h shadow/locale.h shadow/math.h shadow/setjmp.h   shadow/signal.h shadow/stdarg.h shadow/stddef.h shadow/stdio.h  shadow/stdlib.h shadow/string.h shadow/time.h   shadow/unistd.h shadow/wchar.h shadow/wctype.h  shadow/bits/std_cassert.h shadow/bits/std_cctype.h      shadow/bits/std_cerrno.h shadow/bits/std_cfloat.h       shadow/bits/std_climits.h shadow/bits/std_clocale.h     shadow/bits/std_cmath.h shadow/bits/std_csetjmp.h       shadow/bits/std_csignal.h shadow/bits/std_cstdarg.h     shadow/bits/std_cstddef.h shadow/bits/std_cstdio.h      shadow/bits/std_cstdlib.h shadow/bits/std_cstring.h     shadow/bits/std_ctime.h shadow/bits/std_cwchar.h        shadow/bits/std_cwctype.h       shadow/bits/wrap_libio.h shadow/bits/wrap_unistd.h      shadow/sys/cdefs.h 
+CONFIG_CXXFLAGS = \
+       @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@ 
 
 
-std_headers =          algorithm bitset cassert cctype cerrno cfloat climits clocale ciso646   cmath complex csetjmp csignal cstdarg cstddef cstdio cstdlib    cstring ctime cwchar cwctype deque exception fstream functional         iomanip ios iosfwd iostream istream iterator limits list locale         map memory new numeric ostream queue set sstream stack stdexcept        streambuf string strstream typeinfo utility valarray vector 
+# Warning flags to use.
+WARN_CXXFLAGS = \
+       @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
 
-@GLIBCPP_NEED_LIBIO_TRUE@libio_headers =       $(top_srcdir)/libio/_G_config.h $(top_srcdir)/libio/libio.h
-@GLIBCPP_NEED_LIBIO_FALSE@libio_headers = 
 
-generated_headers =     $(top_builddir)/bits/std_limits.h $(top_builddir)/bits/c++config.h      $(top_builddir)/bits/c++threads.h $(top_builddir)/bits/c++io.h
+# Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
+GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
+LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
+LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
+LIBIO_INCLUDES = @LIBIO_INCLUDES@
+TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
 
+INCLUDES = \
+       -nostdinc++ \
+       $(GLIBCPP_INCLUDES) \
+       $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \
+       $(TOPLEVEL_INCLUDES)
 
-cpu_headers =           $(top_srcdir)/@cpu_include_dir@/bits/atomicity.h 
 
+sources = \
+       basic_file.cc bitset.cc c++locale.cc cmath.cc codecvt.cc \
+       complex_io.cc functexcept.cc globals.cc ios.cc limitsMEMBERS.cc \
+       locale.cc locale-inst.cc localename.cc misc-inst.cc stdexcept.cc \
+       stl-inst.cc string-inst.cc strstream.cc valarray-inst.cc \
+       wstring-inst.cc
 
-sources =      limitsMEMBERS.cc        cmath.cc        complex.cc complexf.cc complexl.cc complex_io.cc        stdexcept.cc    c++io.cc ios.cc stdstreams.cc strstream.cc      locale.cc localename.cc codecvt.cc      locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc string-inst.cc
 
-
-wstring_sources =      wstring-inst.cc
-
-VPATH =  $(top_srcdir) $(top_srcdir)/std $(top_srcdir)/src $(top_srcdir)/@ctype_include_dir@
-
-# Actual sources for the distro, but don't build these.
-#EXTRA_sources = string-inst.cc 
+VPATH = $(top_srcdir):$(top_srcdir)/src
 
 libstdc___la_SOURCES = $(sources)
 
-libinst_wstring_la_SOURCES = $(wstring_sources)
-
-libstdc___la_LIBADD =          ../math/libmath.la ../libio/libio.la    @libinst_wstring_la@
+libstdc___la_LIBADD = \
+       ../libmath/libmath.la @libio_la@ \
+       ../libsupc++/libsupc++convenience.la
 
 
 libstdc___la_LDFLAGS = -version-info 3:0:0 -lm
 
 libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD)
-@GLIBCPP_USE_CSHADOW_TRUE@CSHADOW_H = $(top_builddir)/stamp-cshadow
-@GLIBCPP_USE_CSHADOW_FALSE@CSHADOW_H = 
-
-# We cannot use the default rules to install headers since we cannot
-# statically decide which headers to install.  So we have our own special
-# installation routine here.
-myincludep = $(DESTDIR)$(includedir)/g++-v3/
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+
+# Use special rules for the deprecated source files so that they find
+# deprecated include files.
+GLIBCPP_INCLUDE_DIR = @glibcpp_builddir@/include
+
+# AM_CXXFLAGS needs to be in each subdirectory so that it can be
+# modified in a per-library or per-sub-library way.  Need to manually
+# set this option because CONFIG_CXXFLAGS has to be after
+# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
+# as the occasion call for it. (ie, --enable-debug)
+#
+# The no-implicit-templates flag will generate unresolved references to
+# the concept-checking symbols.  So we must disable the checks while
+# actually building the library.
+AM_CXXFLAGS = \
+       -fno-implicit-templates \
+       $(LIBSUPCXX_CXXFLAGS) \
+       $(WARN_CXXFLAGS) \
+       $(OPTIMIZE_CXXFLAGS) \
+       $(CONFIG_CXXFLAGS) 
+
+
+# libstdc++ libtool notes
+
+# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
+
+# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# using the C++ compiler, because that will enable the settings
+# detected when C++ support was being configured.  However, when no
+# such flag is given in the command line, libtool attempts to figure
+# it out by matching the compiler name in each configuration section
+# against a prefix of the command line.  The problem is that, if the
+# compiler name and its initial flags stored in the libtool
+# configuration file don't match those in the command line, libtool
+# can't decide which configuration to use, and it gives up.  The
+# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
+# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
+# attempt to infer which configuration to use
+LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
+              $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) 
+
+
+# 3) We'd have a problem when building the shared libstdc++ object if
+# the rules automake generates would be used.  We cannot allow g++ to
+# be used since this would add -lstdc++ to the link line which of
+# course is problematic at this point.  So, we get the top-level
+# directory to configure libstdc++-v3 to use gcc as the C++
+# compilation driver.
+CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
+         @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+
 CONFIG_HEADER = ../config.h
 CONFIG_CLEAN_FILES = 
 LTLIBRARIES =  $(toolexeclib_LTLIBRARIES)
@@ -212,24 +239,14 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I..
 CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
-libinst_string_la_LDFLAGS = 
-libinst_string_la_LIBADD = 
-libinst_string_la_SOURCES = libinst-string.la.c
-libinst_string_la_OBJECTS =  libinst-string.la.lo
-libinst_wstring_la_LDFLAGS = 
-libinst_wstring_la_LIBADD = 
-libinst_wstring_la_OBJECTS =  wstring-inst.lo
-libstdc___la_OBJECTS =  limitsMEMBERS.lo cmath.lo complex.lo complexf.lo \
-complexl.lo complex_io.lo stdexcept.lo c++io.lo ios.lo stdstreams.lo \
-strstream.lo locale.lo localename.lo codecvt.lo locale-inst.lo \
-stl-inst.lo misc-inst.lo valarray-inst.lo string-inst.lo
+libstdc___la_OBJECTS =  basic_file.lo bitset.lo c++locale.lo cmath.lo \
+codecvt.lo complex_io.lo functexcept.lo globals.lo ios.lo \
+limitsMEMBERS.lo locale.lo locale-inst.lo localename.lo misc-inst.lo \
+stdexcept.lo stl-inst.lo string-inst.lo strstream.lo valarray-inst.lo \
+wstring-inst.lo
 CXXFLAGS = @CXXFLAGS@
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
 CXXLD = $(CXX)
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
 DIST_COMMON =  Makefile.am Makefile.in
 
 
@@ -237,8 +254,8 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
 TAR = gtar
 GZIP_ENV = --best
-SOURCES = libinst-string.la.c $(libinst_wstring_la_SOURCES) $(libstdc___la_SOURCES)
-OBJECTS = libinst-string.la.lo $(libinst_wstring_la_OBJECTS) $(libstdc___la_OBJECTS)
+SOURCES = $(libstdc___la_SOURCES)
+OBJECTS = $(libstdc___la_OBJECTS)
 
 all: all-redirect
 .SUFFIXES:
@@ -320,12 +337,6 @@ distclean-libtool:
 
 maintainer-clean-libtool:
 
-libinst-string.la: $(libinst_string_la_OBJECTS) $(libinst_string_la_DEPENDENCIES)
-       $(LINK)  $(libinst_string_la_LDFLAGS) $(libinst_string_la_OBJECTS) $(libinst_string_la_LIBADD) $(LIBS)
-
-libinst-wstring.la: $(libinst_wstring_la_OBJECTS) $(libinst_wstring_la_DEPENDENCIES)
-       $(CXXLINK)  $(libinst_wstring_la_LDFLAGS) $(libinst_wstring_la_OBJECTS) $(libinst_wstring_la_LIBADD) $(LIBS)
-
 libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES)
        $(CXXLINK) -rpath $(toolexeclibdir) $(libstdc___la_LDFLAGS) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS)
 .cc.o:
@@ -345,6 +356,16 @@ ID: $(HEADERS) $(SOURCES) $(LISP)
        here=`pwd` && cd $(srcdir) \
          && mkid -f$$here/ID $$unique $(LISP)
 
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)'; \
+       unique=`for i in $$list; do echo $$i; done | \
+         awk '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+
 mostlyclean-tags:
 
 clean-tags:
@@ -448,86 +469,10 @@ install-am install uninstall-am uninstall all-redirect all-am all \
 installdirs mostlyclean-generic distclean-generic clean-generic \
 maintainer-clean-generic clean mostlyclean distclean maintainer-clean
 
-
-# Specify that all *.o's depend on this.
-$(libstdc___la_OBJECTS): $(CSHADOW_H)
-
-$(top_builddir)/stamp-cshadow: $(top_srcdir)/mkinclosure \
-                               $(top_srcdir)/mkcshadow
-       $(top_srcdir)/mkinclosure \
-       "-I $(top_builddir)/../../gcc/include -I /usr/include -G machine/ansi.h" | $(top_srcdir)/mkcshadow;
-       rm -f  $(top_builddir)/stamp-cshadow 
-       echo "done" > $(top_builddir)/stamp-cshadow 
-
-install: myinstallheaders
-
-# NB: As libio_headers may be empty, need this to make sure bash doesn't
-# choke on an empty for... loop by using libio_headers_install
-myinstallheaders: $(headers:%=$(myincludep)%)
-       if test -z "$(MULTISUBDIR)"; then \
-       for i in $(std_headers); do \
-         echo "$(INSTALL_DATA) $(top_srcdir)/std/$$i $(myincludep)"; \
-               $(INSTALL_DATA) $(top_srcdir)/std/$$i $(myincludep); \
-       done; \
-       for i in $(generated_headers); do \
-         echo "$(INSTALL_DATA) $$i $(myincludep)bits/"; \
-               $(INSTALL_DATA) $$i $(myincludep)bits/; \
-       done; \
-       libio_headers_install='$(libio_headers)'; \
-       for i in $$libio_headers_install; do \
-          echo "$(INSTALL_DATA) $$i $(myincludep)"; \
-                $(INSTALL_DATA) $$i $(myincludep); \
-       done; \
-       echo "$(INSTALL_DATA) $(cpu_headers) $(myincludep)bits/"; \
-       $(INSTALL_DATA) $(cpu_headers) $(myincludep)bits/; \
-       fi;
-
-$(headers:%=$(myincludep)%): $(myincludep)%: %
-       if test -z "$(MULTISUBDIR)"; then \
-       $(mkinstalldirs) $(@D); \
-       echo " $(INSTALL_DATA) $^ $@"; \
-       $(INSTALL_DATA) $^ $@; \
-       fi;
-
-# All the machinations with string instantiations messes up the
-# automake-generated TAGS rule. Make a simple one here.
-TAGS: $(generated_headers) $(cpu_headers) 
-       etags -C $(top_srcdir)/bits/*.h $(top_srcdir)/bits/*.tcc \
-       $(generated_headers) $(cpu_headers) $(libio_headers) \
-       $(top_srcdir)/src/*.cc \
-       $(top_builddir)/src/limitsMEMBERS.cc $(top_builddir)/src/c++io.cc \
-       -o $(top_builddir)/TAGS
-
-# We have to handle misc-inst.cc and locale-inst.cc in a special way
-# since we cannot instantiate all classes due to missing definitions
-# for things like vptrs, type_info bits, etc. when using
-# -fno-implicit-templates.
-misc-inst.o: misc-inst.cc
-       $(CXXCOMPILE) -fimplicit-templates -c $<
-misc-inst.lo: misc-inst.cc
-       $(LTCXXCOMPILE) -fimplicit-templates -c $<
-locale-inst.o: locale-inst.cc
-       $(CXXCOMPILE) -fimplicit-templates -c $<
-locale-inst.lo: locale-inst.cc
-       $(LTCXXCOMPILE) -fimplicit-templates -c $<
-
-# We have to instantiate wstring bits too. . . 
-wstring-inst.o: string-inst.cc
-       $(CXXCOMPILE) -fimplicit-templates -c -DC=wchar_t $< -o $@
-wstring-inst.lo: string-inst.cc
-       $(LTCXXCOMPILE) -fimplicit-templates -c -DC=wchar_t $< -o $@
-
-all: libstdc++.INC
-libstdc++.INC: Makefile
-       $(MAKE) \
-         top_builddir=`CDPATH=:. && cd $(top_builddir) && pwd` \
-         top_srcdir=`CDPATH=:. && cd $(top_srcdir) && pwd` \
-         tmp-$@
-       -rm -f $@
-       mv tmp-$@ $@
-
-tmp-libstdc++.INC: Makefile
-       echo -I$(top_builddir) $(INCLUDES) > $@
+strstream.lo: strstream.cc
+       $(LTCXXCOMPILE) -I$(GLIBCPP_INCLUDE_DIR)/backward -c $<
+strstream.o: strstream.cc
+       $(CXXCOMPILE) -I$(GLIBCPP_INCLUDE_DIR)/backward -c $<
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.