7c1e7eed89
This adds support for the new __ieee128 long double format on powerpc64le targets. Most of the complexity comes from wanting a single libstdc++.so library that contains the symbols needed by code compiled with both -mabi=ibmlongdouble and -mabi=ieeelongdouble (and not forgetting -mlong-double-64 as well!) In a few places this just requires an extra overload, for example std::from_chars has to be overloaded for both forms of long double. That can be done in a single translation unit that defines overloads for 'long double' and also '__ieee128', so that user code including <charconv> will be able to link to a definition for either type of long double. Those are the easy cases. The difficult parts are (as for the std::string ABI transition) the I/O and locale facets. In order to be able to write either form of long double to an ostream such as std::cout we need the locale to contain a std::num_put facet that can handle both forms. The same approach is taken as was already done for supporting 64-bit long double and 128-bit long double: adding extra overloads of do_put to the facet class. On targets where the new long double code is enabled, the facets that are registered in the locale at program startup have additional overloads so that they can work with any long double type. Where this fails to work is if user code installs its own facet, which will probably not have the additional overloads and so will only be able to output one or the other type. In practice the number of users expecting to be able to use their own locale facets in code using a mix of -mabi=ibmlongdouble and -mabi=ieeelongdouble is probably close to zero. libstdc++-v3/ChangeLog: * Makefile.in: Regenerate. * config.h.in: Regenerate. * config/abi/pre/gnu.ver: Make patterns less greedy. * config/os/gnu-linux/ldbl-ieee128-extra.ver: New file with patterns for IEEE128 long double symbols. * configure: Regenerate. * configure.ac: Enable alternative 128-bit long double format on powerpc64*-*-linux*. * doc/Makefile.in: Regenerate. * fragment.am: Regenerate. * include/Makefile.am: Set _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT. * include/Makefile.in: Regenerate. * include/bits/c++config: Define inline namespace for new long double symbols. Don't define _GLIBCXX_USE_FLOAT128 when it's the same type as long double. * include/bits/locale_classes.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] (locale::_Impl::_M_init_extra_ldbl128): Declare new member function. * include/bits/locale_facets.h (_GLIBCXX_NUM_FACETS): Simplify by only counting narrow character facets. (_GLIBCXX_NUM_CXX11_FACETS): Likewise. (_GLIBCXX_NUM_LBDL_ALT128_FACETS): New. [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] (num_get::__do_get): Define vtable placeholder for __ibm128 long double type. [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] (num_get::__do_get): Declare vtable placeholder for __ibm128 long double type. [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] (num_put::__do_put): Likewise. * include/bits/locale_facets.tcc [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] (num_get::__do_get, num_put::__do_put): Define. * include/bits/locale_facets_nonio.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] (money_get::__do_get): Declare vtable placeholder for __ibm128 long double type. [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] (money_put::__do_put): Likewise. * include/bits/locale_facets_nonio.tcc [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] (money_get::__do_get, money_put::__do_put): Define. * include/ext/numeric_traits.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] (__numeric_traits<__ibm128>, __numeric_traits<__ieee128>): Define. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.am: Add compatibility-ldbl-alt128.cc and compatibility-ldbl-alt128-cxx11.cc sources and recipes for objects. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++11/compatibility-ldbl-alt128-cxx11.cc: New file defining symbols using the old 128-bit long double format, for the cxx11 ABI. * src/c++11/compatibility-ldbl-alt128.cc: Likewise, for the gcc4-compatible ABI. * src/c++11/compatibility-ldbl-facets-aliases.h: New header for long double compat aliases. * src/c++11/cow-locale_init.cc: Add comment. * src/c++11/cxx11-locale-inst.cc: Define C and C_is_char unconditionally. * src/c++11/cxx11-wlocale-inst.cc: Add sanity check. Include locale-inst.cc directly, not via cxx11-locale-inst.cc. * src/c++11/locale-inst-monetary.h: New header for monetary category instantiations. * src/c++11/locale-inst-numeric.h: New header for numeric category instantiations. * src/c++11/locale-inst.cc: Include new headers for monetary, numeric, and long double definitions. * src/c++11/wlocale-inst.cc: Remove long double compat aliases that are defined in new header now. * src/c++17/Makefile.am: Use -mabi=ibmlongdouble for floating_from_chars.cc. * src/c++17/Makefile.in: Regenerate. * src/c++17/floating_from_chars.cc (from_chars_impl): Add if-constexpr branch for __ieee128. (from_chars): Overload for __ieee128. * src/c++20/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * src/c++98/locale_init.cc (num_facets): Adjust calculation. (locale::_Impl::_Impl(size_t)): Call _M_init_extra_ldbl128. * src/c++98/localename.cc (num_facets): Adjust calculation. (locale::_Impl::_Impl(const char*, size_t)): Call _M_init_extra_ldbl128. * src/filesystem/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * testsuite/util/testsuite_abi.cc: Add new symbol versions. Allow new symbols to be added to GLIBCXX_IEEE128_3.4.29 and CXXABI_IEEE128_1.3.13 too. * testsuite/26_numerics/complex/abi_tag.cc: Add u9__ieee128 to regex matching expected symbols.
1119 lines
36 KiB
Makefile
1119 lines
36 KiB
Makefile
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE.
|
|
|
|
@SET_MAKE@
|
|
VPATH = @srcdir@
|
|
am__is_gnu_make = { \
|
|
if test -z '$(MAKELEVEL)'; then \
|
|
false; \
|
|
elif test -n '$(MAKE_HOST)'; then \
|
|
true; \
|
|
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
|
true; \
|
|
else \
|
|
false; \
|
|
fi; \
|
|
}
|
|
am__make_running_with_option = \
|
|
case $${target_option-} in \
|
|
?) ;; \
|
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
|
"target option '$${target_option-}' specified" >&2; \
|
|
exit 1;; \
|
|
esac; \
|
|
has_opt=no; \
|
|
sane_makeflags=$$MAKEFLAGS; \
|
|
if $(am__is_gnu_make); then \
|
|
sane_makeflags=$$MFLAGS; \
|
|
else \
|
|
case $$MAKEFLAGS in \
|
|
*\\[\ \ ]*) \
|
|
bs=\\; \
|
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
|
esac; \
|
|
fi; \
|
|
skip_next=no; \
|
|
strip_trailopt () \
|
|
{ \
|
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
|
}; \
|
|
for flg in $$sane_makeflags; do \
|
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
|
case $$flg in \
|
|
*=*|--*) continue;; \
|
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
|
-*I?*) strip_trailopt 'I';; \
|
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
|
-*O?*) strip_trailopt 'O';; \
|
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
|
-*l?*) strip_trailopt 'l';; \
|
|
-[dEDm]) skip_next=yes;; \
|
|
-[JT]) skip_next=yes;; \
|
|
esac; \
|
|
case $$flg in \
|
|
*$$target_option*) has_opt=yes; break;; \
|
|
esac; \
|
|
done; \
|
|
test $$has_opt = yes
|
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
pkgincludedir = $(includedir)/@PACKAGE@
|
|
pkglibdir = $(libdir)/@PACKAGE@
|
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|
install_sh_DATA = $(install_sh) -c -m 644
|
|
install_sh_PROGRAM = $(install_sh) -c
|
|
install_sh_SCRIPT = $(install_sh) -c
|
|
INSTALL_HEADER = $(INSTALL_DATA)
|
|
transform = $(program_transform_name)
|
|
NORMAL_INSTALL = :
|
|
PRE_INSTALL = :
|
|
POST_INSTALL = :
|
|
NORMAL_UNINSTALL = :
|
|
PRE_UNINSTALL = :
|
|
POST_UNINSTALL = :
|
|
build_triplet = @build@
|
|
host_triplet = @host@
|
|
target_triplet = @target@
|
|
subdir = doc
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
|
|
$(top_srcdir)/../config/enable.m4 \
|
|
$(top_srcdir)/../config/futex.m4 \
|
|
$(top_srcdir)/../config/hwcaps.m4 \
|
|
$(top_srcdir)/../config/iconv.m4 \
|
|
$(top_srcdir)/../config/lead-dot.m4 \
|
|
$(top_srcdir)/../config/lib-ld.m4 \
|
|
$(top_srcdir)/../config/lib-link.m4 \
|
|
$(top_srcdir)/../config/lib-prefix.m4 \
|
|
$(top_srcdir)/../config/lthostflags.m4 \
|
|
$(top_srcdir)/../config/multi.m4 \
|
|
$(top_srcdir)/../config/no-executables.m4 \
|
|
$(top_srcdir)/../config/override.m4 \
|
|
$(top_srcdir)/../config/stdint.m4 \
|
|
$(top_srcdir)/../config/toolexeclibdir.m4 \
|
|
$(top_srcdir)/../config/unwind_ipinfo.m4 \
|
|
$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
|
|
$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
|
|
$(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
|
|
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
|
|
$(top_srcdir)/../config/gc++filt.m4 \
|
|
$(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
|
|
$(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
|
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
$(ACLOCAL_M4)
|
|
DIST_COMMON = $(srcdir)/Makefile.am
|
|
CONFIG_HEADER = $(top_builddir)/config.h
|
|
CONFIG_CLEAN_FILES =
|
|
CONFIG_CLEAN_VPATH_FILES =
|
|
AM_V_P = $(am__v_P_@AM_V@)
|
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
|
am__v_P_0 = false
|
|
am__v_P_1 = :
|
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
|
am__v_GEN_0 = @echo " GEN " $@;
|
|
am__v_GEN_1 =
|
|
AM_V_at = $(am__v_at_@AM_V@)
|
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
am__v_at_0 = @
|
|
am__v_at_1 =
|
|
depcomp =
|
|
am__depfiles_maybe =
|
|
SOURCES =
|
|
am__can_run_installinfo = \
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
n|no|NO) false;; \
|
|
*) (install-info --version) >/dev/null 2>&1;; \
|
|
esac
|
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
|
ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
|
|
ACLOCAL = @ACLOCAL@
|
|
ALLOCATOR_H = @ALLOCATOR_H@
|
|
ALLOCATOR_NAME = @ALLOCATOR_NAME@
|
|
AMTAR = @AMTAR@
|
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
|
AR = @AR@
|
|
AS = @AS@
|
|
ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
|
|
ATOMIC_FLAGS = @ATOMIC_FLAGS@
|
|
ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
|
|
AUTOCONF = @AUTOCONF@
|
|
AUTOHEADER = @AUTOHEADER@
|
|
AUTOMAKE = @AUTOMAKE@
|
|
AWK = @AWK@
|
|
BASIC_FILE_CC = @BASIC_FILE_CC@
|
|
BASIC_FILE_H = @BASIC_FILE_H@
|
|
CC = @CC@
|
|
CCODECVT_CC = @CCODECVT_CC@
|
|
CCOLLATE_CC = @CCOLLATE_CC@
|
|
CCTYPE_CC = @CCTYPE_CC@
|
|
CFLAGS = @CFLAGS@
|
|
CLOCALE_CC = @CLOCALE_CC@
|
|
CLOCALE_H = @CLOCALE_H@
|
|
CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
|
|
CMESSAGES_CC = @CMESSAGES_CC@
|
|
CMESSAGES_H = @CMESSAGES_H@
|
|
CMONEY_CC = @CMONEY_CC@
|
|
CNUMERIC_CC = @CNUMERIC_CC@
|
|
CPP = @CPP@
|
|
CPPFLAGS = @CPPFLAGS@
|
|
CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
|
|
CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
|
|
CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
|
|
CSTDIO_H = @CSTDIO_H@
|
|
CTIME_CC = @CTIME_CC@
|
|
CTIME_H = @CTIME_H@
|
|
CXX = @CXX@
|
|
CXXCPP = @CXXCPP@
|
|
CXXFILT = @CXXFILT@
|
|
CXXFLAGS = @CXXFLAGS@
|
|
CYGPATH_W = @CYGPATH_W@
|
|
C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
DUMPBIN = @DUMPBIN@
|
|
ECHO_C = @ECHO_C@
|
|
ECHO_N = @ECHO_N@
|
|
ECHO_T = @ECHO_T@
|
|
EGREP = @EGREP@
|
|
ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
|
|
EXEEXT = @EXEEXT@
|
|
EXTRA_CFLAGS = @EXTRA_CFLAGS@
|
|
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
|
|
FGREP = @FGREP@
|
|
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
|
|
GLIBCXX_LIBS = @GLIBCXX_LIBS@
|
|
GREP = @GREP@
|
|
HWCAP_CFLAGS = @HWCAP_CFLAGS@
|
|
INSTALL = @INSTALL@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
LD = @LD@
|
|
LDFLAGS = @LDFLAGS@
|
|
LIBICONV = @LIBICONV@
|
|
LIBOBJS = @LIBOBJS@
|
|
LIBS = @LIBS@
|
|
LIBTOOL = @LIBTOOL@
|
|
LIPO = @LIPO@
|
|
LN_S = @LN_S@
|
|
LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
|
|
LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
OBJDUMP = @OBJDUMP@
|
|
OBJEXT = @OBJEXT@
|
|
OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
|
|
OPT_LDFLAGS = @OPT_LDFLAGS@
|
|
OS_INC_SRCDIR = @OS_INC_SRCDIR@
|
|
OTOOL = @OTOOL@
|
|
OTOOL64 = @OTOOL64@
|
|
PACKAGE = @PACKAGE@
|
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|
PACKAGE_NAME = @PACKAGE_NAME@
|
|
PACKAGE_STRING = @PACKAGE_STRING@
|
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
PACKAGE_URL = @PACKAGE_URL@
|
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
PDFLATEX = @PDFLATEX@
|
|
RANLIB = @RANLIB@
|
|
SECTION_FLAGS = @SECTION_FLAGS@
|
|
SECTION_LDFLAGS = @SECTION_LDFLAGS@
|
|
SED = @SED@
|
|
SET_MAKE = @SET_MAKE@
|
|
SHELL = @SHELL@
|
|
STRIP = @STRIP@
|
|
SYMVER_FILE = @SYMVER_FILE@
|
|
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
|
|
USE_NLS = @USE_NLS@
|
|
VERSION = @VERSION@
|
|
VTV_CXXFLAGS = @VTV_CXXFLAGS@
|
|
VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
|
|
VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
|
|
WARN_FLAGS = @WARN_FLAGS@
|
|
XMLCATALOG = @XMLCATALOG@
|
|
|
|
# Validate existing XML structure.
|
|
XMLLINT = xmllint
|
|
XSLTPROC = xsltproc
|
|
XSL_STYLE_DIR = @XSL_STYLE_DIR@
|
|
abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
am__leading_dot = @am__leading_dot@
|
|
am__tar = @am__tar@
|
|
am__untar = @am__untar@
|
|
baseline_dir = @baseline_dir@
|
|
baseline_subdir_switch = @baseline_subdir_switch@
|
|
bindir = @bindir@
|
|
build = @build@
|
|
build_alias = @build_alias@
|
|
build_cpu = @build_cpu@
|
|
build_os = @build_os@
|
|
build_vendor = @build_vendor@
|
|
builddir = @builddir@
|
|
check_msgfmt = @check_msgfmt@
|
|
datadir = @datadir@
|
|
datarootdir = @datarootdir@
|
|
docdir = @docdir@
|
|
dvidir = @dvidir@
|
|
enable_shared = @enable_shared@
|
|
enable_static = @enable_static@
|
|
exec_prefix = @exec_prefix@
|
|
get_gcc_base_ver = @get_gcc_base_ver@
|
|
glibcxx_MOFILES = @glibcxx_MOFILES@
|
|
glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
|
|
glibcxx_POFILES = @glibcxx_POFILES@
|
|
glibcxx_builddir = @glibcxx_builddir@
|
|
glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
|
|
glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
|
|
glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
|
|
glibcxx_localedir = @glibcxx_localedir@
|
|
glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
|
|
glibcxx_prefixdir = @glibcxx_prefixdir@
|
|
glibcxx_srcdir = @glibcxx_srcdir@
|
|
glibcxx_toolexecdir = @glibcxx_toolexecdir@
|
|
glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
|
|
gxx_include_dir = @gxx_include_dir@
|
|
host = @host@
|
|
host_alias = @host_alias@
|
|
host_cpu = @host_cpu@
|
|
host_os = @host_os@
|
|
host_vendor = @host_vendor@
|
|
|
|
# HTML
|
|
htmldir = "$(DESTDIR)@docdir@"
|
|
includedir = @includedir@
|
|
|
|
# TEXINFO,INFO
|
|
infodir = "$(DESTDIR)@infodir@"
|
|
install_sh = @install_sh@
|
|
libdir = @libdir@
|
|
libexecdir = @libexecdir@
|
|
libtool_VERSION = @libtool_VERSION@
|
|
localedir = @localedir@
|
|
localstatedir = @localstatedir@
|
|
lt_host_flags = @lt_host_flags@
|
|
|
|
# MAN
|
|
mandir = "$(DESTDIR)@mandir@"
|
|
mkdir_p = @mkdir_p@
|
|
multi_basedir = @multi_basedir@
|
|
oldincludedir = @oldincludedir@
|
|
|
|
# PDF
|
|
pdfdir = "$(DESTDIR)@docdir@"
|
|
port_specific_symbol_files = @port_specific_symbol_files@
|
|
prefix = @prefix@
|
|
program_transform_name = @program_transform_name@
|
|
psdir = @psdir@
|
|
python_mod_dir = @python_mod_dir@
|
|
sbindir = @sbindir@
|
|
sharedstatedir = @sharedstatedir@
|
|
srcdir = @srcdir@
|
|
sysconfdir = @sysconfdir@
|
|
target = @target@
|
|
target_alias = @target_alias@
|
|
target_cpu = @target_cpu@
|
|
target_os = @target_os@
|
|
target_vendor = @target_vendor@
|
|
thread_header = @thread_header@
|
|
tmake_file = @tmake_file@
|
|
top_build_prefix = @top_build_prefix@
|
|
top_builddir = @top_builddir@
|
|
top_srcdir = @top_srcdir@
|
|
toplevel_builddir = @toplevel_builddir@
|
|
toplevel_srcdir = @toplevel_srcdir@
|
|
|
|
# May be used by various substitution variables.
|
|
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
|
|
MAINT_CHARSET = latin1
|
|
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
|
|
PWD_COMMAND = $${PWDCMD-pwd}
|
|
STAMP = echo timestamp >
|
|
toolexecdir = $(glibcxx_toolexecdir)
|
|
toolexeclibdir = $(glibcxx_toolexeclibdir)
|
|
@ENABLE_WERROR_FALSE@WERROR_FLAG =
|
|
@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
|
|
@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
|
|
@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
|
|
@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
|
|
@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
|
|
|
|
# These bits are all figured out from configure. Look in acinclude.m4
|
|
# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
|
|
CONFIG_CXXFLAGS = \
|
|
$(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
|
|
|
|
WARN_CXXFLAGS = \
|
|
$(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
|
|
|
|
|
|
# -I/-D flags to pass when compiling.
|
|
AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
|
|
@BUILD_XML_FALSE@STAMP_XML =
|
|
|
|
# Documentation Overview
|
|
#
|
|
# There are two main input materials for libstdc++ documentation.
|
|
# The first is the doxygen markup in libstdc++ sources, which is a
|
|
# reference to the API. And the second is the manual, via docbook markup in
|
|
# doc/xml/.
|
|
#
|
|
# A third and more obscure option deals with charting performance
|
|
# tests, and should be considered experimental.
|
|
|
|
# Documentation conditionals for output.
|
|
@BUILD_XML_TRUE@STAMP_XML = doc-xml
|
|
@BUILD_XML_FALSE@STAMP_INSTALL_XML =
|
|
@BUILD_XML_TRUE@STAMP_INSTALL_XML = doc-install-xml
|
|
@BUILD_HTML_FALSE@STAMP_HTML =
|
|
@BUILD_HTML_TRUE@STAMP_HTML = doc-html
|
|
@BUILD_HTML_FALSE@STAMP_INSTALL_HTML =
|
|
@BUILD_HTML_TRUE@STAMP_INSTALL_HTML = doc-install-html
|
|
@BUILD_MAN_FALSE@STAMP_MAN =
|
|
@BUILD_MAN_TRUE@STAMP_MAN = doc-man
|
|
@BUILD_MAN_FALSE@STAMP_INSTALL_MAN =
|
|
@BUILD_MAN_TRUE@STAMP_INSTALL_MAN = doc-install-man
|
|
@BUILD_PDF_FALSE@STAMP_PDF =
|
|
@BUILD_PDF_TRUE@STAMP_PDF = doc-pdf
|
|
@BUILD_PDF_FALSE@STAMP_INSTALL_PDF =
|
|
@BUILD_PDF_TRUE@STAMP_INSTALL_PDF = doc-install-pdf
|
|
@BUILD_EPUB_FALSE@STAMP_EPUB = doc-epub
|
|
@BUILD_EPUB_TRUE@STAMP_EPUB = doc-epub
|
|
@BUILD_EPUB_FALSE@STAMP_INSTALL_EPUB = doc-install-epub
|
|
@BUILD_EPUB_TRUE@STAMP_INSTALL_EPUB = doc-install-epub
|
|
|
|
# Default creation and installation rules.
|
|
# Point to best sub-rule for the requested documentation target and
|
|
# create, and then install toplevel directory with standardized names
|
|
# and layouts.
|
|
|
|
# XML
|
|
xmldir = "$(DESTDIR)@docdir@"
|
|
|
|
# EPUB
|
|
# Assumes ruby installed
|
|
epubdir = "$(DESTDIR)@docdir@"
|
|
|
|
# Doxygen configuration
|
|
# Assumes doxygen, graphviz (with dot), pdflatex installed
|
|
doxygen_script = ${top_srcdir}/scripts/run_doxygen
|
|
doxygen_outdir = ${glibcxx_builddir}/doc/doxygen
|
|
api_xml = ${doxygen_outdir}/xml/libstdc++-api.xml
|
|
doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
|
|
api_pdf = ${doxygen_outdir}/pdf/libstdc++-api.pdf
|
|
|
|
# Docbook configuration.
|
|
# Assumes
|
|
# libxslt
|
|
# dblatex
|
|
# pdflatex
|
|
# docbook-style-xsl
|
|
# emacs-nxml-mode
|
|
docbook_outdir = ${glibcxx_builddir}/doc/docbook
|
|
xml_dir = ${glibcxx_srcdir}/doc/xml
|
|
xml_sources_basic = \
|
|
${xml_dir}/spine.xml \
|
|
${xml_dir}/authors.xml \
|
|
${xml_dir}/api.xml \
|
|
${xml_dir}/faq.xml
|
|
|
|
xml_sources_manual = \
|
|
${xml_dir}/manual/abi.xml \
|
|
${xml_dir}/manual/algorithms.xml \
|
|
${xml_dir}/manual/allocator.xml \
|
|
${xml_dir}/manual/auto_ptr.xml \
|
|
${xml_dir}/manual/atomics.xml \
|
|
${xml_dir}/manual/backwards_compatibility.xml \
|
|
${xml_dir}/manual/bitmap_allocator.xml \
|
|
${xml_dir}/manual/build_hacking.xml \
|
|
${xml_dir}/manual/codecvt.xml \
|
|
${xml_dir}/manual/concurrency.xml \
|
|
${xml_dir}/manual/concurrency_extensions.xml \
|
|
${xml_dir}/manual/configure.xml \
|
|
${xml_dir}/manual/containers.xml \
|
|
${xml_dir}/manual/ctype.xml \
|
|
${xml_dir}/manual/debug_mode.xml \
|
|
${xml_dir}/manual/debug.xml \
|
|
${xml_dir}/manual/diagnostics.xml \
|
|
${xml_dir}/manual/documentation_hacking.xml \
|
|
${xml_dir}/manual/evolution.xml \
|
|
${xml_dir}/manual/extensions.xml \
|
|
${xml_dir}/manual/internals.xml \
|
|
${xml_dir}/manual/intro.xml \
|
|
${xml_dir}/manual/io.xml \
|
|
${xml_dir}/manual/iterators.xml \
|
|
${xml_dir}/manual/locale.xml \
|
|
${xml_dir}/manual/localization.xml \
|
|
${xml_dir}/manual/messages.xml \
|
|
${xml_dir}/manual/mt_allocator.xml \
|
|
${xml_dir}/manual/numerics.xml \
|
|
${xml_dir}/manual/parallel_mode.xml \
|
|
${xml_dir}/manual/policy_data_structures.xml \
|
|
${xml_dir}/manual/policy_data_structures_biblio.xml \
|
|
${xml_dir}/manual/prerequisites.xml \
|
|
${xml_dir}/manual/shared_ptr.xml \
|
|
${xml_dir}/manual/spine.xml \
|
|
${xml_dir}/manual/status_cxx1998.xml \
|
|
${xml_dir}/manual/status_cxx2011.xml \
|
|
${xml_dir}/manual/status_cxx2014.xml \
|
|
${xml_dir}/manual/status_cxx2017.xml \
|
|
${xml_dir}/manual/status_cxx2020.xml \
|
|
${xml_dir}/manual/status_cxxtr1.xml \
|
|
${xml_dir}/manual/status_cxxtr24733.xml \
|
|
${xml_dir}/manual/strings.xml \
|
|
${xml_dir}/manual/support.xml \
|
|
${xml_dir}/manual/test.xml \
|
|
${xml_dir}/manual/test_policy_data_structures.xml \
|
|
${xml_dir}/manual/using.xml \
|
|
${xml_dir}/manual/using_exceptions.xml \
|
|
${xml_dir}/manual/utilities.xml \
|
|
${xml_dir}/manual/appendix_free.xml \
|
|
${xml_dir}/manual/appendix_contributing.xml \
|
|
${xml_dir}/manual/appendix_porting.xml
|
|
|
|
xml_sources_extra = \
|
|
${xml_dir}/gnu/fdl-1.3.xml \
|
|
${xml_dir}/gnu/gpl-3.0.xml
|
|
|
|
xml_sources = \
|
|
${xml_sources_basic} \
|
|
${xml_sources_manual} \
|
|
${xml_sources_extra}
|
|
|
|
xml_image_dir = ${xml_dir}/images
|
|
xml_image_basic = \
|
|
${xml_image_dir}/confdeps.png \
|
|
${xml_image_dir}/pbds_balls_and_bins.png \
|
|
${xml_image_dir}/pbds_container_tag_hierarchy.png \
|
|
${xml_image_dir}/pbds_different_underlying_dss_1.png \
|
|
${xml_image_dir}/pbds_different_underlying_dss_2.png \
|
|
${xml_image_dir}/pbds_embedded_lists_1.png \
|
|
${xml_image_dir}/pbds_embedded_lists_2.png \
|
|
${xml_image_dir}/pbds_embedded_lists_3.png \
|
|
${xml_image_dir}/pbds_exception_hierarchy.png \
|
|
${xml_image_dir}/pbds_hash_policy_cd.png \
|
|
${xml_image_dir}/pbds_hash_ranged_hash_range_hashing_fns.png \
|
|
${xml_image_dir}/pbds_hash_range_hashing_seq_diagram2.png \
|
|
${xml_image_dir}/pbds_hash_range_hashing_seq_diagram.png \
|
|
${xml_image_dir}/pbds_insert_resize_sequence_diagram1.png \
|
|
${xml_image_dir}/pbds_insert_resize_sequence_diagram2.png \
|
|
${xml_image_dir}/pbds_insert_resize_sequence_diagram3.png \
|
|
${xml_image_dir}/pbds_invalidation_guarantee_erase.png \
|
|
${xml_image_dir}/pbds_invalidation_tag_hierarchy.png \
|
|
${xml_image_dir}/pbds_list_update.png \
|
|
${xml_image_dir}/pbds_node_invariants.png \
|
|
${xml_image_dir}/pbds_pat_trie.png \
|
|
${xml_image_dir}/pbds_point_iterator_hierarchy.png \
|
|
${xml_image_dir}/pbds_point_iterators_range_ops_1.png \
|
|
${xml_image_dir}/pbds_point_iterators_range_ops_2.png \
|
|
${xml_image_dir}/pbds_priority_queue_different_underlying_dss.png \
|
|
${xml_image_dir}/pbds_priority_queue_tag_hierarchy.png \
|
|
${xml_image_dir}/pbds_rationale_null_node_updator.png \
|
|
${xml_image_dir}/pbds_resize_policy_cd.png \
|
|
${xml_image_dir}/pbds_restoring_node_invariants.png \
|
|
${xml_image_dir}/pbds_simple_list.png \
|
|
${xml_image_dir}/pbds_tree_node_invalidations.png \
|
|
${xml_image_dir}/pbds_tree_node_invariants.png \
|
|
${xml_image_dir}/pbds_tree_node_updator_policy_cd.png \
|
|
${xml_image_dir}/pbds_trie_node_updator_policy_cd.png \
|
|
${xml_image_dir}/pbds_update_seq_diagram.png
|
|
|
|
xml_image_generated = \
|
|
${xml_image_dir}/pbds_binary_priority_queue_int_push_pop.png \
|
|
${xml_image_dir}/pbds_binary_priority_queue_int_push.png \
|
|
${xml_image_dir}/pbds_ccgp_hash_int_subscript_insert.png \
|
|
${xml_image_dir}/pbds_cc_hash_int_find.png \
|
|
${xml_image_dir}/pbds_cc_hash_int_subscript_find.png \
|
|
${xml_image_dir}/pbds_cc_hash_int_subscript_insert.png \
|
|
${xml_image_dir}/pbds_gp_hash_int_find.png \
|
|
${xml_image_dir}/pbds_gp_hash_int_subscript_find.png \
|
|
${xml_image_dir}/pbds_gp_hash_int_subscript_insert.png \
|
|
${xml_image_dir}/pbds_hash_int_erase_mem.png \
|
|
${xml_image_dir}/pbds_hash_text_find.png \
|
|
${xml_image_dir}/pbds_hash_zlob_int_find.png \
|
|
${xml_image_dir}/pbds_multimap_text_find_large_s2p_hash.png \
|
|
${xml_image_dir}/pbds_multimap_text_find_large_s2p_tree.png \
|
|
${xml_image_dir}/pbds_multimap_text_find_small_s2p_hash.png \
|
|
${xml_image_dir}/pbds_multimap_text_find_small_s2p_tree.png \
|
|
${xml_image_dir}/pbds_multimap_text_insert_large_s2p_hash.png \
|
|
${xml_image_dir}/pbds_multimap_text_insert_large_s2p_tree.png \
|
|
${xml_image_dir}/pbds_multimap_text_insert_mem_large_s2p_hash.png \
|
|
${xml_image_dir}/pbds_multimap_text_insert_mem_large_s2p_tree.png \
|
|
${xml_image_dir}/pbds_multimap_text_insert_mem_small_s2p_hash.png \
|
|
${xml_image_dir}/pbds_multimap_text_insert_mem_small_s2p_tree.png \
|
|
${xml_image_dir}/pbds_multimap_text_insert_small_s2p_hash.png \
|
|
${xml_image_dir}/pbds_multimap_text_insert_small_s2p_tree.png \
|
|
${xml_image_dir}/pbds_pairing_priority_queue_text_modify_down_thin.png \
|
|
${xml_image_dir}/pbds_pairing_priority_queue_text_modify_up_thin.png \
|
|
${xml_image_dir}/pbds_pairing_priority_queue_text_push_pop.png \
|
|
${xml_image_dir}/pbds_pairing_priority_queue_text_push.png \
|
|
${xml_image_dir}/pbds_priority_queue_int_push_pop.png \
|
|
${xml_image_dir}/pbds_priority_queue_int_push.png \
|
|
${xml_image_dir}/pbds_priority_queue_text_join.png \
|
|
${xml_image_dir}/pbds_priority_queue_text_modify_down.png \
|
|
${xml_image_dir}/pbds_priority_queue_text_modify_up.png \
|
|
${xml_image_dir}/pbds_priority_queue_text_pop_mem.png \
|
|
${xml_image_dir}/pbds_priority_queue_text_push_pop.png \
|
|
${xml_image_dir}/pbds_priority_queue_text_push.png \
|
|
${xml_image_dir}/pbds_tree_int_find.png \
|
|
${xml_image_dir}/pbds_tree_order_statistics.png \
|
|
${xml_image_dir}/pbds_tree_split_join.png \
|
|
${xml_image_dir}/pbds_tree_text_find.png \
|
|
${xml_image_dir}/pbds_tree_text_insert_node.png \
|
|
${xml_image_dir}/pbds_tree_text_insert_trie.png \
|
|
${xml_image_dir}/pbds_tree_text_insert_vector.png \
|
|
${xml_image_dir}/pbds_tree_text_lor_find.png
|
|
|
|
xml_images = ${xml_image_basic} ${xml_image_generated}
|
|
xml_noinst = \
|
|
${xml_dir}/book.txml \
|
|
${xml_dir}/chapter.txml \
|
|
${xml_dir}/class.txml \
|
|
${xml_image_dir}/confdeps.dot \
|
|
${xml_image_dir}/confdeps.pdf
|
|
|
|
XSLT_FLAGS = --nonet --xinclude
|
|
XSLT_PARAM = --param toc.section.depth 4 --param generate.consistent.ids 1
|
|
#XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns
|
|
#XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
|
|
XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
|
|
XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
|
|
XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/html/docbook.xsl
|
|
XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub3/chunk.xsl
|
|
XSL_LOCAL_STYLE = ${glibcxx_builddir}/doc/xsl/customization.xsl
|
|
|
|
# XML, all one page
|
|
# Some info on canonicalization
|
|
# http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html
|
|
manual_xml = ${docbook_outdir}/xml/libstdc++-manual.xml
|
|
set_xml = ${docbook_outdir}/xml/libstdc++-set.xml
|
|
LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
|
|
SCHEMA_FLAGS = --dtdvalid http://www.docbook.org/xml/5.0/dtd/docbook.dtd
|
|
SCHEMA_RNG_FLAGS = --relaxng http://www.docbook.org/xml/5.0/rng/docbook.rng
|
|
#SCHEMA_FLAGS = --nonet --dtdvalid /usr/share/xxx/dtd/5.0/docbook.dtd
|
|
XMLLINT_VALID_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS)
|
|
XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata
|
|
|
|
# HTML, all one page
|
|
# NB: Have to generate customization XSL for UTF-8 output.
|
|
manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
|
|
|
|
# PDF, via dblatex
|
|
manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
|
|
DBLATEX_FLAGS = --verbose --pdf --dump --debug --tmpdir=${docbook_outdir}/latex
|
|
|
|
# TEXINFO, via docbook2X
|
|
# NB: Both experimental and tempermental
|
|
manual_texi = ${docbook_outdir}/texinfo/libstdc++-manual.texi
|
|
manual_info = ${docbook_outdir}/texinfo/libstdc++-manual.info
|
|
DB2TEXI_FLAGS = \
|
|
--encoding=utf-8//TRANSLIT \
|
|
--string-param output-file="libstdc++-manual" \
|
|
--string-param directory-category="GNU C++ Library" \
|
|
--string-param explicit-node-names=true
|
|
|
|
|
|
# EPUB version 3
|
|
# http://sourceforge.net/projects/docbook/files/epub3/
|
|
# Can verify document with epubcheck
|
|
manual_epub = ${docbook_outdir}/epub/libstdc++-manual.epub
|
|
|
|
# Performance doc and graph configuration.
|
|
# Assumes pychart, beautiful soup installed.
|
|
# Generates the plots/graph imagery for performance testing.
|
|
doc_performance_script = ${top_srcdir}/scripts/make_graph.py
|
|
|
|
# By adding these files here, automake will remove them for 'make clean'
|
|
CLEANFILES = *.log stamp*
|
|
all: all-am
|
|
|
|
.SUFFIXES:
|
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
|
|
@for dep in $?; do \
|
|
case '$(am__configure_deps)' in \
|
|
*$$dep*) \
|
|
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
|
&& { if test -f $@; then exit 0; else break; fi; }; \
|
|
exit 1;; \
|
|
esac; \
|
|
done; \
|
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps doc/Makefile'; \
|
|
$(am__cd) $(top_srcdir) && \
|
|
$(AUTOMAKE) --foreign --ignore-deps doc/Makefile
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
@case '$?' in \
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
|
|
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
|
$(am__aclocal_m4_deps):
|
|
|
|
mostlyclean-libtool:
|
|
-rm -f *.lo
|
|
|
|
clean-libtool:
|
|
-rm -rf .libs _libs
|
|
tags TAGS:
|
|
|
|
ctags CTAGS:
|
|
|
|
cscope cscopelist:
|
|
|
|
check-am: all-am
|
|
check: check-am
|
|
all-am: Makefile
|
|
installdirs:
|
|
install: install-am
|
|
install-exec: install-exec-am
|
|
install-data: install-data-am
|
|
uninstall: uninstall-am
|
|
|
|
install-am: all-am
|
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
|
|
|
installcheck: installcheck-am
|
|
install-strip:
|
|
if test -z '$(STRIP)'; then \
|
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
install; \
|
|
else \
|
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
|
fi
|
|
mostlyclean-generic:
|
|
|
|
clean-generic:
|
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
|
|
|
distclean-generic:
|
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
|
|
|
maintainer-clean-generic:
|
|
@echo "This command is intended for maintainers to use"
|
|
@echo "it deletes files that may require special tools to rebuild."
|
|
clean: clean-am
|
|
|
|
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
|
|
|
|
distclean: distclean-am
|
|
-rm -f Makefile
|
|
distclean-am: clean-am distclean-generic
|
|
|
|
dvi-am:
|
|
|
|
html-am:
|
|
|
|
info-am:
|
|
|
|
install-data-am:
|
|
|
|
install-dvi-am:
|
|
|
|
install-exec-am:
|
|
|
|
install-html-am:
|
|
|
|
install-info-am:
|
|
|
|
install-pdf-am:
|
|
|
|
install-ps-am:
|
|
|
|
installcheck-am:
|
|
|
|
maintainer-clean: maintainer-clean-am
|
|
-rm -f Makefile
|
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
|
|
|
mostlyclean: mostlyclean-am
|
|
|
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
|
|
|
pdf-am:
|
|
|
|
ps-am:
|
|
|
|
uninstall-am:
|
|
|
|
.MAKE: install-am install-strip
|
|
|
|
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
|
clean-local cscopelist-am ctags-am distclean distclean-generic \
|
|
distclean-libtool dvi dvi-am html html-am info info-am install \
|
|
install-am install-data install-data-am install-dvi \
|
|
install-dvi-am install-exec install-exec-am install-html \
|
|
install-html-am install-info install-info-am install-man \
|
|
install-pdf install-pdf-am install-ps install-ps-am \
|
|
install-strip installcheck installcheck-am installdirs \
|
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
|
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
|
tags-am uninstall uninstall-am
|
|
|
|
.PRECIOUS: Makefile
|
|
|
|
|
|
# Documentation primary rules.
|
|
#
|
|
# xml:
|
|
# html:
|
|
# pdf:
|
|
# man:
|
|
# info:
|
|
# ps:
|
|
# dvi:
|
|
# epub:
|
|
# install-xml:
|
|
# install-html:
|
|
# install-pdf:
|
|
# install-man:
|
|
# install-info:
|
|
# install-ps:
|
|
# install-dvi:
|
|
# install-epub:
|
|
|
|
xml: $(STAMP_XML)
|
|
install-xml: $(STAMP_INSTALL_XML)
|
|
|
|
html: $(STAMP_HTML)
|
|
install-html: $(STAMP_INSTALL_HTML)
|
|
|
|
man: $(STAMP_MAN)
|
|
install-man: $(STAMP_INSTALL_MAN)
|
|
|
|
pdf: $(STAMP_PDF)
|
|
install-pdf: $(STAMP_INSTALL_PDF)
|
|
|
|
epub: $(STAMP_EPUB)
|
|
install-epub: $(STAMP_INSTALL_EPUB)
|
|
|
|
info:
|
|
install-info:
|
|
|
|
ps:
|
|
install-ps:
|
|
|
|
dvi:
|
|
install-dvi:
|
|
stamp-xml: stamp-xml-single-docbook stamp-xml-single-doxygen
|
|
$(STAMP) stamp-xml
|
|
|
|
doc-xml: stamp-xml
|
|
|
|
doc-install-xml: doc-xml
|
|
test -z ${xmldir} || $(mkinstalldirs) ${xmldir}
|
|
$(INSTALL_DATA) ${manual_xml} ${xmldir}
|
|
$(INSTALL_DATA) ${api_xml} ${xmldir}
|
|
stamp-html: stamp-html-docbook-data stamp-html-doxygen
|
|
$(STAMP) stamp-html
|
|
|
|
doc-html: stamp-html
|
|
|
|
doc-install-html: doc-html
|
|
test -z ${htmldir} || $(mkinstalldirs) ${htmldir}
|
|
cp -r ${docbook_outdir}/html ${htmldir}/libstdc++-manual.html;
|
|
cp -r ${doxygen_outdir}/html ${htmldir}/libstdc++-api.html;
|
|
stamp-pdf: stamp-pdf-docbook stamp-pdf-doxygen
|
|
$(STAMP) stamp-pdf
|
|
|
|
doc-pdf: stamp-pdf
|
|
|
|
doc-install-pdf: doc-pdf
|
|
test -z ${pdfdir} || $(mkinstalldirs) ${pdfdir}
|
|
$(INSTALL_DATA) ${docbook_outdir}/pdf/libstdc++-manual.pdf ${pdfdir}
|
|
$(INSTALL_DATA) ${doxygen_outdir}/pdf/libstdc++-api.pdf ${pdfdir}
|
|
stamp-man: stamp-man-doxygen
|
|
$(STAMP) stamp-man
|
|
|
|
doc-man: stamp-man
|
|
|
|
doc-install-man: doc-man
|
|
test -z ${mandir} || $(mkinstalldirs) ${mandir}
|
|
cp -r ${doxygen_outdir}/man/man3 ${mandir}
|
|
stamp-texinfo: stamp-texinfo-docbook
|
|
$(STAMP) stamp-texinfo
|
|
|
|
stamp-info: stamp-info-docbook
|
|
$(STAMP) stamp-info
|
|
|
|
doc-texinfo: stamp-texinfo
|
|
|
|
doc-info: stamp-info
|
|
|
|
doc-install-texinfo: doc-texinfo
|
|
test -z ${infodir} || $(mkinstalldirs) ${infodir}
|
|
$(INSTALL_DATA) ${manual_texi} ${infodir}
|
|
|
|
doc-install-info: doc-info
|
|
test -z ${infodir} || $(mkinstalldirs) ${infodir}
|
|
$(INSTALL_DATA) ${manual_info} ${infodir}
|
|
stamp-epub: stamp-epub-docbook
|
|
$(STAMP) stamp-epub
|
|
|
|
doc-epub: stamp-epub
|
|
|
|
doc-install-epub: doc-epub
|
|
test -z ${epubdir} || $(mkinstalldirs) ${epubdir}
|
|
$(INSTALL_DATA) ${manual_epub} ${epubdir}
|
|
|
|
${doxygen_outdir}/xml:
|
|
mkdir -p ${doxygen_outdir}/xml
|
|
|
|
${doxygen_outdir}/html:
|
|
mkdir -p ${doxygen_outdir}/html
|
|
|
|
${doxygen_outdir}/latex:
|
|
mkdir -p ${doxygen_outdir}/latex
|
|
|
|
${doxygen_outdir}/pdf:
|
|
mkdir -p ${doxygen_outdir}/pdf
|
|
|
|
${doxygen_outdir}/man:
|
|
mkdir -p ${doxygen_outdir}/man
|
|
|
|
stamp-xml-doxygen: ${doxygen_outdir}/xml
|
|
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
|
|
builddir=`cd ..; ${PWD_COMMAND}`; \
|
|
${SHELL} ${doxygen_script} \
|
|
--host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO)
|
|
$(STAMP) stamp-xml-doxygen
|
|
|
|
stamp-xml-single-doxygen: stamp-xml-doxygen
|
|
@echo "Generating doxygen xml single file..."
|
|
$(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \
|
|
${doxygen_outdir}/xml/index.xml > ${api_xml};
|
|
$(STAMP) stamp-xml-single-doxygen
|
|
|
|
stamp-html-doxygen: ${doxygen_outdir}/html
|
|
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
|
|
builddir=`cd ..; ${PWD_COMMAND}`; \
|
|
${SHELL} ${doxygen_script} \
|
|
--host_alias=${host_alias} --mode=html $${srcdir} $${builddir} YES)
|
|
$(STAMP) stamp-html-doxygen
|
|
|
|
stamp-latex-doxygen: ${doxygen_outdir}/latex
|
|
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
|
|
builddir=`cd ..; ${PWD_COMMAND}`; \
|
|
${SHELL} ${doxygen_script} \
|
|
--host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO)
|
|
$(STAMP) stamp-latex-doxygen
|
|
|
|
# Chance of loooooonnggg creation time on this rule. Iff this fails,
|
|
# look at refman.log and see if TeX's memory is exhausted. Symptoms
|
|
# include asking a wizard to enlarge capacity. If this is the case,
|
|
# find texmf.cnf and add a zero for pool_size, string_vacancies,
|
|
# max_strings, and pool_free values.
|
|
# Errors like "File `foo.sty' not found" mean a TeX package is missing.
|
|
stamp-pdf-doxygen: stamp-latex-doxygen ${doxygen_outdir}/pdf
|
|
-(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;)
|
|
echo "Generating doxygen pdf file...";
|
|
if [ -f ${doxygen_pdf} ]; then \
|
|
mv ${doxygen_pdf} ${api_pdf} ; \
|
|
echo ":: PDF file is ${api_pdf}"; \
|
|
else \
|
|
echo "... error"; \
|
|
grep -F 'LaTeX Error' ${doxygen_outdir}/latex/refman.log; \
|
|
exit 12; \
|
|
fi
|
|
$(STAMP) stamp-pdf-doxygen
|
|
|
|
stamp-man-doxygen: ${doxygen_outdir}/man
|
|
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
|
|
builddir=`cd ..; ${PWD_COMMAND}`; \
|
|
${SHELL} ${doxygen_script} \
|
|
--host_alias=${host_alias} --mode=man $${srcdir} $${builddir} YES)
|
|
$(STAMP) stamp-man-doxygen
|
|
|
|
doc-xml-doxygen: stamp-xml-doxygen
|
|
doc-xml-single-doxygen: stamp-xml-single-doxygen
|
|
doc-html-doxygen: stamp-html-doxygen
|
|
doc-latex-doxygen: stamp-latex-doxygen
|
|
doc-pdf-doxygen: stamp-pdf-doxygen
|
|
doc-man-doxygen: stamp-man-doxygen
|
|
|
|
${docbook_outdir}/epub:
|
|
mkdir -p ${docbook_outdir}/epub
|
|
mkdir -p ${docbook_outdir}/epub/OEBPS/images
|
|
|
|
${docbook_outdir}/fo:
|
|
mkdir -p ${docbook_outdir}/fo
|
|
|
|
${docbook_outdir}/html:
|
|
mkdir -p ${docbook_outdir}/html
|
|
mkdir -p ${docbook_outdir}/html/images
|
|
mkdir -p ${docbook_outdir}/html/manual
|
|
|
|
${docbook_outdir}/pdf:
|
|
mkdir -p ${docbook_outdir}/pdf
|
|
|
|
${docbook_outdir}/latex:
|
|
mkdir -p ${docbook_outdir}/latex
|
|
|
|
${docbook_outdir}/texinfo:
|
|
mkdir -p ${docbook_outdir}/texinfo
|
|
|
|
${docbook_outdir}/xml:
|
|
mkdir -p ${docbook_outdir}/xml
|
|
stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
|
|
@echo "Generating XML single..."
|
|
$(XMLLINT) $(XMLLINT_FLAGS) \
|
|
${top_srcdir}/doc/xml/manual/spine.xml > ${manual_xml};
|
|
$(XMLLINT) $(XMLLINT_FLAGS) \
|
|
${top_srcdir}/doc/xml/spine.xml > ${set_xml};
|
|
$(STAMP) stamp-xml-single-docbook
|
|
|
|
doc-xml-single-docbook: stamp-xml-single-docbook
|
|
doc-xml-validate-docbook: doc-xml-validate-dtd-db
|
|
|
|
doc-xml-validate-dtd-db: $(xml_sources) $(xml_images)
|
|
@echo "Generating XML validation log..."
|
|
$(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml
|
|
|
|
doc-xml-validate-rng-db: $(xml_sources) $(xml_images) doc-xml-single-docbook
|
|
@echo "Generating XML RelaxNG validation log..."
|
|
$(XMLLINT) $(LINT_FLAGS) $(SCHEMA_RNG_FLAGS) ${set_xml}
|
|
|
|
# HTML support files
|
|
stamp-html-docbook-images: stamp-html-docbook $(xml_images)
|
|
$(INSTALL_DATA) $(xml_images) ${docbook_outdir}/html/images
|
|
$(STAMP) stamp-html-docbook-images
|
|
|
|
stamp-html-docbook-data: stamp-html-docbook-images
|
|
$(STAMP) stamp-html-docbook-data
|
|
|
|
# HTML, "chunked" into index plus chapters as separate pages
|
|
stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html
|
|
@echo "Generating html files..."
|
|
$(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \
|
|
--stringparam chunker.output.encoding UTF-8 \
|
|
$(XSL_HTML_STYLE) \
|
|
${top_srcdir}/doc/xml/spine.xml
|
|
$(STAMP) stamp-html-docbook
|
|
|
|
doc-html-docbook: stamp-html-docbook-data
|
|
|
|
# Generate the HTML pages and copy them back to the source tree.
|
|
doc-html-docbook-regenerate: doc-html-docbook
|
|
$(INSTALL_DATA) ${docbook_outdir}/html/*.html ${top_srcdir}/doc/html
|
|
$(INSTALL_DATA) ${docbook_outdir}/html/images/* ${top_srcdir}/doc/html/images
|
|
$(INSTALL_DATA) ${docbook_outdir}/html/manual/*.html ${top_srcdir}/doc/html/manual
|
|
stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
|
|
@echo "Generating html single file..."
|
|
$(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \
|
|
${XSL_LOCAL_STYLE} \
|
|
${top_srcdir}/doc/xml/spine.xml
|
|
$(STAMP) stamp-html-single-docbook
|
|
|
|
doc-html-single-docbook: stamp-html-single-docbook
|
|
|
|
# FO
|
|
stamp-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
|
|
@echo "Generating FO files..."
|
|
$(XSLTPROC) $(XSLT_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
|
|
$(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml
|
|
$(STAMP) stamp-fo-docbook
|
|
|
|
doc-fo-docbook: stamp-fo-docbook
|
|
|
|
doc-pdf-docbook-dirs: ${docbook_outdir}/pdf ${docbook_outdir}/latex
|
|
|
|
doc-pdf-docbook-pre: $(xml_sources) doc-pdf-docbook-dirs
|
|
|
|
stamp-pdf-docbook: doc-pdf-docbook-pre doc-xml-single-docbook
|
|
@echo "Generating pdf dblatex files..."
|
|
dblatex $(DBLATEX_FLAGS) -o ${manual_pdf} \
|
|
${top_srcdir}/doc/xml/spine.xml
|
|
$(STAMP) stamp-pdf-docbook
|
|
|
|
doc-pdf-docbook: stamp-pdf-docbook
|
|
|
|
stamp-texinfo-docbook: stamp-xml-single-docbook ${docbook_outdir}/texinfo
|
|
@echo "Generating texinfo files..."
|
|
db2x_docbook2texi $(DB2TEXI_FLAGS) ${set_xml}
|
|
mv libstdc++-manual.texi ${manual_texi}
|
|
$(STAMP) stamp-texinfo-docbook
|
|
|
|
stamp-info-docbook: stamp-texinfo-docbook
|
|
@echo "Generating info files..."
|
|
$(MAKEINFO) $(MAKEINFOFLAGS) ${manual_texi}
|
|
$(STAMP) stamp-info-docbook
|
|
|
|
doc-texinfo-docbook: stamp-texinfo-docbook
|
|
|
|
doc-info-docbook: stamp-info-docbook
|
|
stamp-epub-docbook: stamp-xml-single-docbook ${docbook_outdir}/epub
|
|
@echo "Generating epub files..."
|
|
if [ ! -d "${docbook_outdir}/images" ]; then \
|
|
$(LN_S) ${top_srcdir}/doc/xml/images ${docbook_outdir}/; \
|
|
fi
|
|
$(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) \
|
|
--stringparam base.dir "${docbook_outdir}/epub/OEBPS/" \
|
|
$(XSL_EPUB_STYLE) ${top_srcdir}/doc/xml/spine.xml
|
|
$(INSTALL_DATA) $(xml_images) ${docbook_outdir}/epub/OEBPS/images
|
|
zip -X0 ${manual_epub} ${docbook_outdir}/epub/mimetype
|
|
zip -r -X9 ${manual_epub} ${docbook_outdir}/epub/META-INF ${docbook_outdir}/epub/OEBPS
|
|
$(STAMP) stamp-epub-docbook
|
|
|
|
doc-epub-docbook: stamp-epub-docbook
|
|
doc-svg-performance: ${docbook_outdir}/xml
|
|
-@(chmod + ${doc_performance_script}; \
|
|
${doc_performance_script} \
|
|
${top_srcdir}/testsuite/data/make_graph_test_infos.xml \
|
|
${glibcxx_builddir}/testsuite \
|
|
${glibcxx_builddir}/doc/docbook/xml/images)
|
|
|
|
.PHONY: doc-doxygen-html doc-doxygen-man doc-performance
|
|
|
|
# To remove directories.
|
|
clean-local:
|
|
rm -rf man html pdf fo xml doxygen docbook ./libstdc++-* db2t*
|
|
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
.NOEXPORT:
|