]>
Commit | Line | Data |
---|---|---|
b2dad0e3 BK |
1 | ## Makefile for the toplevel directory of the GNU C++ Standard library. |
2 | ## | |
ffe94f83 PE |
3 | ## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 |
4 | ## Free Software Foundation, Inc. | |
b2dad0e3 BK |
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 | ||
25 | AUTOMAKE_OPTIONS = 1.3 cygnus | |
26 | MAINT_CHARSET = latin1 | |
27 | ||
4e10943d | 28 | SUBDIRS = include libio libmath libsupc++ src po testsuite |
c7053b70 | 29 | |
ae9dc931 BK |
30 | mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs |
31 | ||
1e6347d8 RO |
32 | PWD = $${PWDCMD-pwd} |
33 | ||
c6192d88 BK |
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. | |
755f30f4 | 39 | check-script: $(top_builddir)/mkcheck |
db353c2c | 40 | -(chmod + $(top_builddir)/mkcheck; \ |
c6192d88 BK |
41 | cd testsuite; \ |
42 | @glibcpp_builddir@/mkcheck 0) | |
b2dad0e3 | 43 | |
755f30f4 | 44 | check-script-install: $(top_builddir)/mkcheck |
db353c2c | 45 | -(chmod + $(top_builddir)/mkcheck; \ |
db353c2c | 46 | cd testsuite; \ |
c6192d88 | 47 | @glibcpp_builddir@/mkcheck 1) |
b2dad0e3 | 48 | |
0e9cab87 PE |
49 | # Use 'new-abi-baseline' to create an initial symbol file. Then run |
50 | # 'check-abi' to test for changes against that file. | |
747d0967 BK |
51 | baseline_file = @baseline_file@ |
52 | check-abi: $(top_builddir)/testsuite/abi_check | |
db1a6d86 | 53 | -@(cd testsuite; \ |
7e7e6d08 | 54 | @glibcpp_srcdir@/config/abi/extract_symvers \ |
0e9cab87 PE |
55 | ../src/.libs/libstdc++.so \ |
56 | ./current_symbols.txt && \ | |
57 | ./abi_check --check ./current_symbols.txt ${baseline_file}) | |
58 | ||
59 | new-abi-baseline: | |
60 | -@(output=${baseline_file}; \ | |
61 | if test -f $${output}; then \ | |
62 | output=$${output}.new; \ | |
63 | t=`echo $${output} | sed 's=.*config/abi/=='`; \ | |
64 | echo "Baseline file already exists, writing to $${t} instead."; \ | |
65 | fi; \ | |
7e7e6d08 | 66 | @glibcpp_srcdir@/config/abi/extract_symvers \ |
0e9cab87 | 67 | src/.libs/libstdc++.so $${output}) |
747d0967 | 68 | |
ffe94f83 | 69 | # These rules are messy, but are hella worth it. |
e03f70b3 | 70 | doxygen: |
1e6347d8 RO |
71 | -(srcdir=`cd ${top_srcdir}; ${PWD}`; \ |
72 | builddir=`${PWD}`; \ | |
7145b855 | 73 | /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ |
ffe94f83 | 74 | --mode=user $${srcdir} $${builddir}) |
e03f70b3 PE |
75 | |
76 | doxygen-maint: | |
1e6347d8 RO |
77 | -(srcdir=`cd ${top_srcdir}; ${PWD}`; \ |
78 | builddir=`${PWD}`; \ | |
b0037845 | 79 | /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ |
ffe94f83 | 80 | --mode=maint $${srcdir} $${builddir}) |
e03f70b3 | 81 | |
ffe94f83 | 82 | doxygen-man: |
1e6347d8 RO |
83 | -(srcdir=`cd ${top_srcdir}; ${PWD}`; \ |
84 | builddir=`${PWD}`; \ | |
ffe94f83 PE |
85 | /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ |
86 | --mode=man $${srcdir} $${builddir}) | |
87 | ||
88 | .PHONY: doxygen doxygen-maint doxygen-man | |
e03f70b3 | 89 | |
b2dad0e3 BK |
90 | # Multilib support. |
91 | MAKEOVERRIDES= | |
92 | ||
93 | # Multilib variables. | |
94 | MULTISRCTOP = | |
95 | MULTIBUILDTOP = | |
96 | MULTIDIRS = | |
97 | MULTISUBDIR = | |
98 | MULTIDO = true | |
99 | MULTICLEAN = true | |
100 | ||
101 | # Multilib Makefile bits. | |
102 | .PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \ | |
103 | maintainer-clean-multi | |
104 | ||
105 | all-am: all-multi | |
106 | install-am: install-multi | |
107 | mostlyclean-am: mostlyclean-multi | |
108 | clean-am: clean-multi | |
109 | distclean-am: distclean-multi | |
110 | maintainer-clean-am: maintainer-clean-multi | |
111 | ||
112 | all-multi: | |
6c5d742e | 113 | : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do |
b2dad0e3 BK |
114 | install-multi: |
115 | $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do | |
116 | mostlyclean-multi: | |
117 | $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean | |
118 | clean-multi: | |
119 | $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean | |
120 | distclean-multi: | |
121 | $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean | |
122 | maintainer-clean-multi: | |
123 | $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean | |
124 | ||
d94611f1 | 125 | # All the machinations with string instantiations messes up the |
bf93f43b | 126 | # automake-generated TAGS rule. Make a simple one here. |
d94611f1 BK |
127 | TAGS: tags-recursive $(LISP) |
128 | ||
b2dad0e3 BK |
129 | # Work around what appears to be a GNU make bug handling MAKEFLAGS |
130 | # values defined in terms of make variables, as is the case for CC and | |
131 | # friends when we are called from the top level Makefile. | |
132 | AM_MAKEFLAGS = \ | |
133 | "AR_FLAGS=$(AR_FLAGS)" \ | |
134 | "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ | |
135 | "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ | |
136 | "CFLAGS=$(CFLAGS)" \ | |
137 | "CXXFLAGS=$(CXXFLAGS)" \ | |
138 | "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ | |
139 | "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ | |
140 | "INSTALL=$(INSTALL)" \ | |
141 | "INSTALL_DATA=$(INSTALL_DATA)" \ | |
142 | "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ | |
143 | "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ | |
144 | "LDFLAGS=$(LDFLAGS)" \ | |
145 | "LIBCFLAGS=$(LIBCFLAGS)" \ | |
146 | "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ | |
147 | "MAKE=$(MAKE)" \ | |
148 | "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ | |
149 | "PICFLAG=$(PICFLAG)" \ | |
150 | "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ | |
151 | "SHELL=$(SHELL)" \ | |
c6192d88 | 152 | "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ |
b2dad0e3 BK |
153 | "exec_prefix=$(exec_prefix)" \ |
154 | "infodir=$(infodir)" \ | |
155 | "libdir=$(libdir)" \ | |
156 | "includedir=$(includedir)" \ | |
157 | "prefix=$(prefix)" \ | |
158 | "tooldir=$(tooldir)" \ | |
159 | "AR=$(AR)" \ | |
160 | "AS=$(AS)" \ | |
b2dad0e3 BK |
161 | "LD=$(LD)" \ |
162 | "LIBCFLAGS=$(LIBCFLAGS)" \ | |
163 | "PICFLAG=$(PICFLAG)" \ | |
164 | "RANLIB=$(RANLIB)" \ | |
165 | "NM=$(NM)" \ | |
166 | "NM_FOR_BUILD=$(NM_FOR_BUILD)" \ | |
167 | "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ | |
f5e79dda | 168 | "DESTDIR=$(DESTDIR)" \ |
9ece379a | 169 | "WERROR=$(WERROR)" |
8ddfd7e5 DJ |
170 | |
171 | # Subdir rules rely on $(FLAGS_TO_PASS) | |
172 | FLAGS_TO_PASS = $(AM_MAKEFLAGS) |