| 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 |
|
|---|
| 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 support variables.
|
|---|
| 92 | MULTISRCTOP =
|
|---|
| 93 | MULTIBUILDTOP =
|
|---|
| 94 | MULTIDIRS =
|
|---|
| 95 | MULTISUBDIR =
|
|---|
| 96 | MULTIDO = true
|
|---|
| 97 | MULTICLEAN = true
|
|---|
| 98 |
|
|---|
| 99 | # Multilib support.
|
|---|
| 100 | .PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
|
|---|
| 101 | maintainer-clean-multi
|
|---|
| 102 |
|
|---|
| 103 | all-recursive: all-multi
|
|---|
| 104 | install-recursive: install-multi
|
|---|
| 105 | mostlyclean-recursive: mostlyclean-multi
|
|---|
| 106 | clean-recursive: clean-multi
|
|---|
| 107 | distclean-recursive: distclean-multi
|
|---|
| 108 | maintainer-clean-recursive: 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)"
|
|---|