gcc/libstdc++-v3/Makefile.am

188 lines
5.9 KiB
Makefile

## Makefile for the toplevel directory of the GNU C++ Standard library.
##
## Copyright (C) 1997,1998, 1999, 2000 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
## This file is part of the GNU ISO C++ Library. This library is free
## software; you can redistribute it and/or modify it under the
## terms of the GNU General Public License as published by the
## Free Software Foundation; either version 2, or (at your option)
## any later version.
## This library is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
AUTOMAKE_OPTIONS = 1.3 cygnus
MAINT_CHARSET = latin1
# This helps subvert libstdcxx_interface, as calculated by devo/config.if
# Needed so that g++ can find the correct include subdir automatically.
INTERFACE = v3
gxx_include_dir=$(includedir)/g++
SUBDIRS = libio libmath libsupc++ src
# Compile flags that should be constant throughout the build, both for
# SUBDIRS and for libstdc++-v3 in general.
# Optimization flags that are probably a good idea for thrill-seekers. Just
# uncomment the lines below and make, everything else is ready to go...
# OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc
OPTIMIZE_CXXFLAGS =
# Warning flags to use.
WARN_CXXFLAGS = \
-Wall -Wno-format -W -Wwrite-strings -Winline \
$(WERROR) @WFMT_FLAGS@
# These bits are all figured out from configure. Look in acinclude.m4
# or configure.in to see how they are set.
# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden.
CONFIG_CXXFLAGS = \
@EXTRA_CXX_FLAGS@ \
@SECTION_FLAGS@ @CSHADOWFLAGS@ @DEBUG_FLAGS@
# Root level of the include sources.
GLIBCPP_INCLUDE_DIR = $(top_srcdir)/include
# Can either use include/c or include/c_std to grab "C" headers. This
# variable is set to the include directory currently in use.
C_INCLUDE_DIR = $(GLIBCPP_INCLUDE_DIR)/@c_include_dir@
# Passed down for cross compilers, canadian crosses.
TOPLEVEL_INCLUDES = -I$(includedir)
LIBMATH_INCLUDES = -I$(top_srcdir)/libmath
if GLIBCPP_NEED_LIBIO
LIBIO_INCLUDES = \
-I$(top_builddir)/libio -I$(top_srcdir)/libio
else
LIBIO_INCLUDES = -I$(top_srcdir)/libio
endif
LIBSUPCXX_INCLUDES = -I$(top_srcdir)/libsupc++
# XXX May need to add this in later to enabled shadow header includes
# -I$(top_builddir)/cshadow
CSHADOW_INCLUDES = \
-I$(GLIBCPP_INCLUDE_DIR)/std -I$(C_INCLUDE_DIR)
# Use $(blddir) instead of $(top_builddir) for arguments to "mkcheck"
# because then the paths will be full pathnames, not relative
# pathnames. (-Wl,--rpath seems to like this better.)
check: $(top_builddir)/mkcheck
chmod +x $(top_builddir)/mkcheck
$(top_builddir)/mkcheck 0 `pwd` $(top_srcdir)
check-install: $(top_builddir)/mkcheck
chmod +x $(top_builddir)/mkcheck
$(top_builddir)/mkcheck 1 `pwd` $(top_srcdir) $(prefix)
# Multilib support.
MAKEOVERRIDES=
# Multilib variables.
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
# Multilib Makefile bits.
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
maintainer-clean-multi
all-am: all-multi
install-am: install-multi
mostlyclean-am: mostlyclean-multi
clean-am: clean-multi
distclean-am: distclean-multi
maintainer-clean-am: maintainer-clean-multi
all-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
install-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
mostlyclean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
clean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
distclean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
maintainer-clean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
# All the machinations with string instantiations messes up the
# automake-generated TAGS rule. Make a simple one here.
TAGS: tags-recursive $(LISP)
# Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and
# friends when we are called from the top level Makefile.
AM_MAKEFLAGS = \
"AR_FLAGS=$(AR_FLAGS)" \
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
"CFLAGS=$(CFLAGS)" \
"CXXFLAGS=$(CXXFLAGS)" \
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
"INSTALL=$(INSTALL)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
"MAKE=$(MAKE)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
"PICFLAG=$(PICFLAG)" \
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
"SHELL=$(SHELL)" \
"EXPECT=$(EXPECT)" \
"RUNTEST=$(RUNTEST)" \
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
"exec_prefix=$(exec_prefix)" \
"infodir=$(infodir)" \
"libdir=$(libdir)" \
"includedir=$(includedir)" \
"prefix=$(prefix)" \
"tooldir=$(tooldir)" \
"AR=$(AR)" \
"AS=$(AS)" \
"CC=$(CC)" \
"CXX=$(CXX)" \
"LD=$(LD)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"PICFLAG=$(PICFLAG)" \
"RANLIB=$(RANLIB)" \
"NM=$(NM)" \
"NM_FOR_BUILD=$(NM_FOR_BUILD)" \
"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
"DESTDIR=$(DESTDIR)" \
"WERROR=$(WERROR)" \
"OPTIMIZE_CXXFLAGS=$(OPTIMIZE_CXXFLAGS)" \
"WARN_CXXFLAGS=$(WARN_CXXFLAGS)" \
"CONFIG_CXXFLAGS=$(CONFIG_CXXFLAGS)" \
"GLIBCPP_INCLUDE_DIR=$(GLIBCPP_INCLUDE_DIR)" \
"C_INCLUDE_DIR=$(C_INCLUDE_DIR)" \
"TOPLEVEL_INCLUDES=$(TOPLEVEL_INCLUDES)" \
"LIBMATH_INCLUDES=$(LIBMATH_INCLUDES)" \
"LIBIO_INCLUDES=$(LIBIO_INCLUDES)" \
"CSHADOW_INCLUDES=$(CSHADOW_INCLUDES)" \
"LIBSUPCXX_INCLUDES=$(LIBSUPCXX_INCLUDES)"