OSDN Git Service

* libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / Makefile.am
index 5032ed1..97fcfa8 100644 (file)
@@ -1,6 +1,7 @@
 ## Makefile for the toplevel directory of the GNU C++ Standard library.
 ##
-## Copyright (C) 1997,1998, 1999, 2000 Free Software Foundation, Inc.
+## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
+## Free Software Foundation, Inc.
 ##
 ## This file is part of the libstdc++ version 3 distribution.
 ## Process this file with automake to produce Makefile.in.
 AUTOMAKE_OPTIONS = 1.3 cygnus
 MAINT_CHARSET = latin1
 
-# This helps subvert libstdcxx_interface, as calculated by devo/config.if
-# Needed so that g++ can find the correct include subdir automatically.
-INTERFACE = v3
-gxx_include_dir=$(includedir)/g++
-
-SUBDIRS = math libio src
-
-# Use $(blddir) instead of $(top_builddir) for arguments to "mkcheck"
-# because then the paths will be full pathnames, not relative
-# pathnames. (-Wl,--rpath seems to like this better.)
-check:  $(top_builddir)/mkcheck
-       chmod +x  $(top_builddir)/mkcheck
-       $(top_builddir)/mkcheck 0 `pwd` $(top_srcdir)
-
-check-install: $(top_builddir)/mkcheck
-       chmod +x  $(top_builddir)/mkcheck
-       $(top_builddir)/mkcheck 1 `pwd` $(top_srcdir) $(prefix)
-
-#all-local:  stamp-rebuild
-
-# This has already been sanity-checked by configure to a certain extent
-#stamp-rebuild:  $(top_builddir)/config.status
-#      if test "$(GCC_OBJDIR)" != "no"; then \
-#      (cd "$(GCC_OBJDIR)/gcc" && \
-#       if test -f libgcc2.ready ; then \
-#         rm -f libgcc2.ready libgcc.a libgcc2.a ; \
-#         $(MAKE) libgcc2.a TARGET_LIBGCC2_CFLAGS='@NAMESPACES@' ; \
-#         $(MAKE) libgcc.a ; \
-#       else \
-#         echo '** There does not appear to be a previously-built' ; \
-#         echo '** library here.  Please see' ; \
-#         echo '** <http://sourceware.cygnus.com/libstdc++/install.html>' ; \
-#         echo '** In particular, the "Building and Installing' ; \
-#         echo '** the library (without GCC sources)" section.' ; \
-#         exit 1 ; \
-#       fi \
-#      ) \
-#      fi
-#      touch stamp-rebuild
+SUBDIRS = include libio libmath libsupc++ src po testsuite 
+
+mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
+
+PWD = $${PWDCMD-pwd}
+
+# These two special 'check-script' rules use the bash script 'mkcheck'
+# to do testing. This script is not as portable as the dejagnu test
+# harness, and is thus off by default. It does produce interesting
+# output however, including various performance analysis items like
+# compile time, execution time, and binary size.
+check-script: $(top_builddir)/mkcheck
+       -(chmod + $(top_builddir)/mkcheck; \
+         cd testsuite; \
+         @glibcpp_builddir@/mkcheck 0)
+
+check-script-install: $(top_builddir)/mkcheck
+       -(chmod + $(top_builddir)/mkcheck; \
+         cd testsuite; \
+         @glibcpp_builddir@/mkcheck 1)
+
+# Use 'new-abi-baseline' to create an initial symbol file.  Then run
+# 'check-abi' to test for changes against that file.
+baseline_file = @baseline_file@
+check-abi: $(top_builddir)/testsuite/abi_check
+       -@(cd testsuite; \
+         @glibcpp_srcdir@/config/abi/extract_symvers \
+            ../src/.libs/libstdc++.so \
+            ./current_symbols.txt && \
+         ./abi_check --check ./current_symbols.txt ${baseline_file})
+
+new-abi-baseline:
+       -@(output=${baseline_file}; \
+         if test -f $${output}; then \
+           output=$${output}.new; \
+           t=`echo $${output} | sed 's=.*config/abi/=='`; \
+           echo "Baseline file already exists, writing to $${t} instead."; \
+         fi; \
+         @glibcpp_srcdir@/config/abi/extract_symvers \
+            src/.libs/libstdc++.so $${output})
+
+# These rules are messy, but are hella worth it.
+doxygen:
+       -(srcdir=`cd ${top_srcdir}; ${PWD}`; \
+         builddir=`${PWD}`; \
+         /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
+                   --mode=user $${srcdir} $${builddir})
+
+doxygen-maint:
+       -(srcdir=`cd ${top_srcdir}; ${PWD}`; \
+         builddir=`${PWD}`; \
+         /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
+                   --mode=maint $${srcdir} $${builddir})
+
+doxygen-man:
+       -(srcdir=`cd ${top_srcdir}; ${PWD}`; \
+         builddir=`${PWD}`; \
+         /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
+                   --mode=man $${srcdir} $${builddir})
+
+.PHONY: doxygen doxygen-maint doxygen-man
 
 # Multilib support.
 MAKEOVERRIDES=
 
-# Multilib variables.
+# Multilib support variables.
 MULTISRCTOP =
 MULTIBUILDTOP =
 MULTIDIRS =
@@ -75,19 +98,19 @@ MULTISUBDIR =
 MULTIDO = true
 MULTICLEAN = true
 
-# Multilib Makefile bits.
+# Multilib support.
 .PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
        maintainer-clean-multi
 
-all-am: all-multi
-install-am: install-multi
-mostlyclean-am: mostlyclean-multi
-clean-am: clean-multi
-distclean-am: distclean-multi
-maintainer-clean-am: maintainer-clean-multi
+all-recursive: all-multi
+install-recursive: install-multi
+mostlyclean-recursive: mostlyclean-multi
+clean-recursive: clean-multi
+distclean-recursive: distclean-multi
+maintainer-clean-recursive: maintainer-clean-multi
 
 all-multi:
-       $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
+       : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
 install-multi:
        $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
 mostlyclean-multi:
@@ -126,8 +149,6 @@ AM_MAKEFLAGS = \
        "PICFLAG=$(PICFLAG)" \
        "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
        "SHELL=$(SHELL)" \
-       "EXPECT=$(EXPECT)" \
-       "RUNTEST=$(RUNTEST)" \
        "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
        "exec_prefix=$(exec_prefix)" \
        "infodir=$(infodir)" \
@@ -135,10 +156,9 @@ AM_MAKEFLAGS = \
        "includedir=$(includedir)" \
        "prefix=$(prefix)" \
        "tooldir=$(tooldir)" \
+       "gxx_include_dir=$(gxx_include_dir)" \
        "AR=$(AR)" \
        "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
        "LD=$(LD)" \
        "LIBCFLAGS=$(LIBCFLAGS)" \
        "PICFLAG=$(PICFLAG)" \
@@ -147,14 +167,7 @@ AM_MAKEFLAGS = \
        "NM_FOR_BUILD=$(NM_FOR_BUILD)" \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
-       "WERROR=$(WERROR)"
-
-
-
-
-
-
-
-
-
+       "WERROR=$(WERROR)" 
 
+# Subdir rules rely on $(FLAGS_TO_PASS)
+FLAGS_TO_PASS = $(AM_MAKEFLAGS)