Makefile.am revision 117397
1## Makefile for the toplevel directory of the GNU C++ Standard library.
2##
3## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
4## Free Software Foundation, Inc.
5##
6## This file is part of the libstdc++ version 3 distribution.
7## Process this file with automake to produce Makefile.in.
8
9## This file is part of the GNU ISO C++ Library.  This library is free
10## software; you can redistribute it and/or modify it under the
11## terms of the GNU General Public License as published by the
12## Free Software Foundation; either version 2, or (at your option)
13## any later version.
14
15## This library is distributed in the hope that it will be useful,
16## but WITHOUT ANY WARRANTY; without even the implied warranty of
17## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18## GNU General Public License for more details.
19
20## You should have received a copy of the GNU General Public License along
21## with this library; see the file COPYING.  If not, write to the Free
22## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
23## USA.
24
25AUTOMAKE_OPTIONS = 1.3 cygnus
26MAINT_CHARSET = latin1
27
28SUBDIRS = include libio libmath libsupc++ src po testsuite 
29
30mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
31
32PWD_COMMAND = $${PWDCMD-pwd}
33
34# These two special 'check-script' rules use the bash script 'mkcheck'
35# to do testing. This script is not as portable as the dejagnu test
36# harness, and is thus off by default. It does produce interesting
37# output however, including various performance analysis items like
38# compile time, execution time, and binary size.
39check-script: $(top_builddir)/mkcheck
40	-(chmod + $(top_builddir)/mkcheck; \
41	  cd testsuite; \
42	  @glibcpp_builddir@/mkcheck 0)
43
44check-script-install: $(top_builddir)/mkcheck
45	-(chmod + $(top_builddir)/mkcheck; \
46	  cd testsuite; \
47	  @glibcpp_builddir@/mkcheck 1)
48
49# These rules are messy, but are hella worth it.
50doxygen:
51	-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
52	  builddir=`${PWD_COMMAND}`; \
53	  /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
54	            --mode=user $${srcdir} $${builddir})
55
56doxygen-maint:
57	-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
58	  builddir=`${PWD_COMMAND}`; \
59	  /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
60	            --mode=maint $${srcdir} $${builddir})
61
62doxygen-man:
63	-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
64	  builddir=`${PWD_COMMAND}`; \
65	  /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
66	            --mode=man $${srcdir} $${builddir})
67
68.PHONY: doxygen doxygen-maint doxygen-man
69
70# Multilib support.
71MAKEOVERRIDES=
72
73# Multilib support variables.
74MULTISRCTOP =
75MULTIBUILDTOP =
76MULTIDIRS =
77MULTISUBDIR =
78MULTIDO = true
79MULTICLEAN = true
80
81# Multilib support.
82.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
83	maintainer-clean-multi
84
85all-recursive: all-multi
86install-recursive: install-multi
87mostlyclean-recursive: mostlyclean-multi
88clean-recursive: clean-multi
89distclean-recursive: distclean-multi
90maintainer-clean-recursive: maintainer-clean-multi
91
92all-multi:
93	: $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
94install-multi:
95	$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
96mostlyclean-multi:
97	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
98clean-multi:
99	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
100distclean-multi:
101	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
102maintainer-clean-multi:
103	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
104
105# All the machinations with string instantiations messes up the
106# automake-generated TAGS rule. Make a simple one here.
107TAGS: tags-recursive $(LISP)
108
109# Work around what appears to be a GNU make bug handling MAKEFLAGS
110# values defined in terms of make variables, as is the case for CC and
111# friends when we are called from the top level Makefile.
112AM_MAKEFLAGS = \
113	"AR_FLAGS=$(AR_FLAGS)" \
114	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
115	"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
116	"CFLAGS=$(CFLAGS)" \
117	"CXXFLAGS=$(CXXFLAGS)" \
118	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
119	"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
120	"INSTALL=$(INSTALL)" \
121	"INSTALL_DATA=$(INSTALL_DATA)" \
122	"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
123	"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
124	"LDFLAGS=$(LDFLAGS)" \
125	"LIBCFLAGS=$(LIBCFLAGS)" \
126	"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
127	"MAKE=$(MAKE)" \
128	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
129	"PICFLAG=$(PICFLAG)" \
130	"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
131	"SHELL=$(SHELL)" \
132	"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
133	"exec_prefix=$(exec_prefix)" \
134	"infodir=$(infodir)" \
135	"libdir=$(libdir)" \
136	"includedir=$(includedir)" \
137	"prefix=$(prefix)" \
138	"tooldir=$(tooldir)" \
139	"gxx_include_dir=$(gxx_include_dir)" \
140	"AR=$(AR)" \
141	"AS=$(AS)" \
142	"LD=$(LD)" \
143	"LIBCFLAGS=$(LIBCFLAGS)" \
144	"PICFLAG=$(PICFLAG)" \
145	"RANLIB=$(RANLIB)" \
146	"NM=$(NM)" \
147	"NM_FOR_BUILD=$(NM_FOR_BUILD)" \
148	"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
149	"DESTDIR=$(DESTDIR)" \
150	"WERROR=$(WERROR)" 
151
152# Subdir rules rely on $(FLAGS_TO_PASS)
153FLAGS_TO_PASS = $(AM_MAKEFLAGS)
154