Makefile.am revision 107606
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)" 168