## Makefile for the toplevel directory of the GNU C++ Standard library.
##
-## Copyright (C) 1997,1998, 1999, 2000, 2001 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.
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
-AUTOMAKE_OPTIONS = 1.3 cygnus
-MAINT_CHARSET = latin1
+include $(top_srcdir)/fragment.am
-SUBDIRS = libio libmath libsupc++ src
+if GLIBCXX_HOSTED
+ # Possibly libmath as well...
+ hosted_source = src po
+endif
+## Keep this list sync'd with acinclude.m4:GLIBCXX_CONFIGURE.
+SUBDIRS = include libmath libsupc++ $(hosted_source) testsuite
-mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
-
-# Use $${builddir} 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 + $(top_builddir)/mkcheck; \
- srcdir=`cd $(top_srcdir); pwd`; builddir=`pwd`; \
- test -d testsuite || (mkdir testsuite; chmod u+w testsuite); \
- cd testsuite; $${builddir}/mkcheck 0 $${builddir} $${srcdir})
-
-check-install: $(top_builddir)/mkcheck
- -(chmod + $(top_builddir)/mkcheck; \
- srcdir=`cd $(top_srcdir); pwd`; builddir=`pwd`; \
- test -d testsuite || (mkdir testsuite; chmod u+w testsuite); \
- cd testsuite; \
- $${builddir}/mkcheck 1 $${builddir} $${srcdir} $(prefix))
-
-# These two rules seem messy.
+# These rules are messy, but are hella worth it.
doxygen:
- -(srcdir=`cd ${top_srcdir}; pwd`; \
- outdir=`pwd`; \
- ${srcdir}/docs/doxygen/run_doxygen --mode=user $${srcdir} $${outdir})
+ -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
+ builddir=`${PWD_COMMAND}`; \
+ ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
+ --mode=user $${srcdir} $${builddir})
doxygen-maint:
- -(srcdir=`cd ${top_srcdir}; pwd`; \
- outdir=`pwd`; \
- ${srcdir}/docs/doxygen/run_doxygen --mode=maint $${srcdir} $${outdir})
+ -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
+ builddir=`${PWD_COMMAND}`; \
+ ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
+ --mode=maint $${srcdir} $${builddir})
-.PHONY: doxygen doxygen-maint
+doxygen-man:
+ -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
+ builddir=`${PWD_COMMAND}`; \
+ ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
+ --mode=man $${srcdir} $${builddir})
+.PHONY: doxygen doxygen-maint doxygen-man
+
+# Handy forwarding targets.
+check-%:
+ cd testsuite && $(MAKE) $@
# Multilib support.
MAKEOVERRIDES=
-# Multilib variables.
+# Multilib support variables.
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
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:
"PICFLAG=$(PICFLAG)" \
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
"SHELL=$(SHELL)" \
- "EXPECT=$(EXPECT)" \
- "RUNTEST=$(RUNTEST)" \
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
"exec_prefix=$(exec_prefix)" \
"infodir=$(infodir)" \
"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)" \
"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)