source: trunk/third/gcc/libstdc++-v3/Makefile.am @ 18474

Revision 18474, 5.3 KB checked in by ghudson, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18473, which included commits to RCS files with non-trunk default branches.
Line 
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
25AUTOMAKE_OPTIONS = 1.3 cygnus
26MAINT_CHARSET = latin1
27
28SUBDIRS = include libio libmath libsupc++ src po testsuite
29
30mkinstalldirs = $(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.
37check-script: $(top_builddir)/mkcheck
38        -(chmod + $(top_builddir)/mkcheck; \
39          cd testsuite; \
40          @glibcpp_builddir@/mkcheck 0)
41
42check-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.
49baseline_file = @baseline_file@
50check-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
57new-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.
68doxygen:
69        -(srcdir=`cd ${top_srcdir}; pwd`; \
70          builddir=`pwd`; \
71          /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
72                    --mode=user $${srcdir} $${builddir})
73
74doxygen-maint:
75        -(srcdir=`cd ${top_srcdir}; pwd`; \
76          builddir=`pwd`; \
77          /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
78                    --mode=maint $${srcdir} $${builddir})
79
80doxygen-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.
89MAKEOVERRIDES=
90
91# Multilib variables.
92MULTISRCTOP =
93MULTIBUILDTOP =
94MULTIDIRS =
95MULTISUBDIR =
96MULTIDO = true
97MULTICLEAN = true
98
99# Multilib Makefile bits.
100.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
101        maintainer-clean-multi
102
103all-am: all-multi
104install-am: install-multi
105mostlyclean-am: mostlyclean-multi
106clean-am: clean-multi
107distclean-am: distclean-multi
108maintainer-clean-am: maintainer-clean-multi
109
110all-multi:
111        : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
112install-multi:
113        $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
114mostlyclean-multi:
115        $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
116clean-multi:
117        $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
118distclean-multi:
119        $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
120maintainer-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.
125TAGS: 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.
130AM_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)"
Note: See TracBrowser for help on using the repository browser.