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