Makefile.am revision 102782
1264790Sbapt## Makefile for the include subdirectory of the GNU C++ Standard library. 2264790Sbapt## 3264790Sbapt## Copyright (C) 2001, 2002 Free Software Foundation, Inc. 4264790Sbapt## 5264790Sbapt## This file is part of the libstdc++ version 3 distribution. 6264790Sbapt## Process this file with automake to produce Makefile.in. 7264790Sbapt 8264790Sbapt## This file is part of the GNU ISO C++ Library. This library is free 9264790Sbapt## software; you can redistribute it and/or modify it under the 10264790Sbapt## terms of the GNU General Public License as published by the 11264790Sbapt## Free Software Foundation; either version 2, or (at your option) 12264790Sbapt## any later version. 13264790Sbapt 14264790Sbapt## This library is distributed in the hope that it will be useful, 15264790Sbapt## but WITHOUT ANY WARRANTY; without even the implied warranty of 16264790Sbapt## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17264790Sbapt## GNU General Public License for more details. 18264790Sbapt 19264790Sbapt## You should have received a copy of the GNU General Public License along 20264790Sbapt## with this library; see the file COPYING. If not, write to the Free 21264790Sbapt## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 22264790Sbapt## USA. 23264790Sbapt 24264790SbaptAUTOMAKE_OPTIONS = 1.3 cygnus 25264790SbaptMAINT_CHARSET = latin1 26264790Sbapt 27264790Sbaptmkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs 28264790Sbapt 29264790Sbapt# Cross compiler and multilib support. 30264790SbaptCXX = @glibcpp_CXX@ 31264790Sbaptglibcpp_srcdir=@glibcpp_srcdir@ 32264790Sbaptglibcpp_builddir=@glibcpp_builddir@ 33264790Sbapt 34264790Sbaptbits_srcdir = ${glibcpp_srcdir}/include/bits 35264790Sbaptbits_builddir = ./bits 36264790Sbaptbits_headers = \ 37264790Sbapt ${bits_srcdir}/basic_ios.h \ 38264790Sbapt ${bits_srcdir}/basic_ios.tcc \ 39264790Sbapt ${bits_srcdir}/basic_string.h \ 40264790Sbapt ${bits_srcdir}/basic_string.tcc \ 41264790Sbapt ${bits_srcdir}/boost_concept_check.h \ 42264790Sbapt ${bits_srcdir}/char_traits.h \ 43264790Sbapt ${bits_srcdir}/codecvt.h \ 44264790Sbapt ${bits_srcdir}/concept_check.h \ 45264790Sbapt ${bits_srcdir}/cpp_type_traits.h \ 46264790Sbapt ${bits_srcdir}/fpos.h \ 47264790Sbapt ${bits_srcdir}/fstream.tcc \ 48264790Sbapt ${bits_srcdir}/functexcept.h \ 49264790Sbapt ${bits_srcdir}/generic_shadow.h \ 50264790Sbapt ${bits_srcdir}/gslice.h \ 51264790Sbapt ${bits_srcdir}/gslice_array.h \ 52264790Sbapt ${bits_srcdir}/indirect_array.h \ 53264790Sbapt ${bits_srcdir}/ios_base.h \ 54264790Sbapt ${bits_srcdir}/istream.tcc \ 55264790Sbapt ${bits_srcdir}/locale_facets.h \ 56264790Sbapt ${bits_srcdir}/locale_facets.tcc \ 57264790Sbapt ${bits_srcdir}/localefwd.h \ 58264790Sbapt ${bits_srcdir}/mask_array.h \ 59264790Sbapt ${bits_srcdir}/ostream.tcc \ 60264790Sbapt ${bits_srcdir}/pthread_allocimpl.h \ 61264790Sbapt ${bits_srcdir}/stream_iterator.h \ 62264790Sbapt ${bits_srcdir}/streambuf_iterator.h \ 63264790Sbapt ${bits_srcdir}/slice.h \ 64264790Sbapt ${bits_srcdir}/slice_array.h \ 65264790Sbapt ${bits_srcdir}/sstream.tcc \ 66264790Sbapt ${bits_srcdir}/stl_algo.h \ 67264790Sbapt ${bits_srcdir}/stl_algobase.h \ 68264790Sbapt ${bits_srcdir}/stl_alloc.h \ 69264790Sbapt ${bits_srcdir}/stl_bvector.h \ 70264790Sbapt ${bits_srcdir}/stl_construct.h \ 71264790Sbapt ${bits_srcdir}/stl_deque.h \ 72264790Sbapt ${bits_srcdir}/stl_function.h \ 73264790Sbapt ${bits_srcdir}/stl_heap.h \ 74264790Sbapt ${bits_srcdir}/stl_iterator.h \ 75264790Sbapt ${bits_srcdir}/stl_iterator_base_funcs.h \ 76264790Sbapt ${bits_srcdir}/stl_iterator_base_types.h \ 77264790Sbapt ${bits_srcdir}/stl_list.h \ 78264790Sbapt ${bits_srcdir}/stl_map.h \ 79264790Sbapt ${bits_srcdir}/stl_multimap.h \ 80264790Sbapt ${bits_srcdir}/stl_multiset.h \ 81264790Sbapt ${bits_srcdir}/stl_numeric.h \ 82264790Sbapt ${bits_srcdir}/stl_pair.h \ 83264790Sbapt ${bits_srcdir}/stl_pthread_alloc.h \ 84264790Sbapt ${bits_srcdir}/stl_queue.h \ 85264790Sbapt ${bits_srcdir}/stl_raw_storage_iter.h \ 86264790Sbapt ${bits_srcdir}/stl_relops.h \ 87264790Sbapt ${bits_srcdir}/stl_set.h \ 88264790Sbapt ${bits_srcdir}/stl_stack.h \ 89264790Sbapt ${bits_srcdir}/stl_tempbuf.h \ 90264790Sbapt ${bits_srcdir}/stl_threads.h \ 91264790Sbapt ${bits_srcdir}/stl_tree.h \ 92264790Sbapt ${bits_srcdir}/stl_uninitialized.h \ 93264790Sbapt ${bits_srcdir}/stl_vector.h \ 94264790Sbapt ${bits_srcdir}/streambuf.tcc \ 95264790Sbapt ${bits_srcdir}/stringfwd.h \ 96264790Sbapt ${bits_srcdir}/type_traits.h \ 97264790Sbapt ${bits_srcdir}/valarray_array.h \ 98264790Sbapt ${bits_srcdir}/valarray_array.tcc \ 99264790Sbapt ${bits_srcdir}/valarray_meta.h 100264790Sbapt 101264790Sbaptbackward_srcdir = ${glibcpp_srcdir}/include/backward 102264790Sbaptbackward_builddir = ./backward 103264790Sbaptbackward_headers = \ 104264790Sbapt ${backward_srcdir}/complex.h \ 105264790Sbapt ${backward_srcdir}/iomanip.h \ 106264790Sbapt ${backward_srcdir}/istream.h \ 107264790Sbapt ${backward_srcdir}/ostream.h \ 108264790Sbapt ${backward_srcdir}/stream.h \ 109264790Sbapt ${backward_srcdir}/streambuf.h \ 110264790Sbapt ${backward_srcdir}/algo.h \ 111264790Sbapt ${backward_srcdir}/algobase.h \ 112264790Sbapt ${backward_srcdir}/alloc.h \ 113264790Sbapt ${backward_srcdir}/bvector.h \ 114264790Sbapt ${backward_srcdir}/defalloc.h \ 115264790Sbapt ${backward_srcdir}/deque.h \ 116264790Sbapt ${backward_srcdir}/function.h \ 117264790Sbapt ${backward_srcdir}/hash_map.h \ 118264790Sbapt ${backward_srcdir}/hash_set.h \ 119264790Sbapt ${backward_srcdir}/hashtable.h \ 120264790Sbapt ${backward_srcdir}/heap.h \ 121264790Sbapt ${backward_srcdir}/iostream.h \ 122264790Sbapt ${backward_srcdir}/iterator.h \ 123264790Sbapt ${backward_srcdir}/list.h \ 124264790Sbapt ${backward_srcdir}/map.h \ 125264790Sbapt ${backward_srcdir}/multimap.h \ 126264790Sbapt ${backward_srcdir}/new.h \ 127264790Sbapt ${backward_srcdir}/multiset.h \ 128264790Sbapt ${backward_srcdir}/pair.h \ 129264790Sbapt ${backward_srcdir}/queue.h \ 130264790Sbapt ${backward_srcdir}/rope.h \ 131264790Sbapt ${backward_srcdir}/set.h \ 132264790Sbapt ${backward_srcdir}/slist.h \ 133264790Sbapt ${backward_srcdir}/stack.h \ 134264790Sbapt ${backward_srcdir}/tempbuf.h \ 135264790Sbapt ${backward_srcdir}/tree.h \ 136264790Sbapt ${backward_srcdir}/vector.h \ 137264790Sbapt ${backward_srcdir}/fstream.h \ 138264790Sbapt ${backward_srcdir}/strstream.h \ 139264790Sbapt ${backward_srcdir}/strstream \ 140264790Sbapt ${backward_srcdir}/backward_warning.h 141264790Sbapt 142264790Sbaptext_srcdir = ${glibcpp_srcdir}/include/ext 143264790Sbaptext_builddir = ./ext 144264790Sbaptext_headers = \ 145264790Sbapt ${ext_srcdir}/algorithm \ 146264790Sbapt ${ext_srcdir}/enc_filebuf.h \ 147264790Sbapt ${ext_srcdir}/stdio_filebuf.h \ 148264790Sbapt ${ext_srcdir}/functional \ 149264790Sbapt ${ext_srcdir}/hash_map \ 150264790Sbapt ${ext_srcdir}/hash_set \ 151264790Sbapt ${ext_srcdir}/iterator \ 152264790Sbapt ${ext_srcdir}/memory \ 153264790Sbapt ${ext_srcdir}/numeric \ 154264790Sbapt ${ext_srcdir}/rb_tree \ 155264790Sbapt ${ext_srcdir}/rope \ 156264790Sbapt ${ext_srcdir}/ropeimpl.h \ 157264790Sbapt ${ext_srcdir}/slist \ 158264790Sbapt ${ext_srcdir}/stl_hash_fun.h \ 159264790Sbapt ${ext_srcdir}/stl_hashtable.h \ 160264790Sbapt ${ext_srcdir}/stl_rope.h 161264790Sbapt 162264790Sbapt# This is the common subset of files that all three "C" header models use. 163264790Sbaptc_base_srcdir = @C_INCLUDE_DIR@ 164264790Sbaptc_base_builddir = . 165264790Sbaptc_base_headers = \ 166264790Sbapt ${c_base_srcdir}/std_cassert.h \ 167264790Sbapt ${c_base_srcdir}/std_cctype.h \ 168264790Sbapt ${c_base_srcdir}/std_cerrno.h \ 169264790Sbapt ${c_base_srcdir}/std_cfloat.h \ 170264790Sbapt ${c_base_srcdir}/std_ciso646.h \ 171264790Sbapt ${c_base_srcdir}/std_climits.h \ 172264790Sbapt ${c_base_srcdir}/std_clocale.h \ 173264790Sbapt ${c_base_srcdir}/std_cmath.h \ 174264790Sbapt ${c_base_srcdir}/std_csetjmp.h \ 175264790Sbapt ${c_base_srcdir}/std_csignal.h \ 176264790Sbapt ${c_base_srcdir}/std_cstdarg.h \ 177264790Sbapt ${c_base_srcdir}/std_cstddef.h \ 178264790Sbapt ${c_base_srcdir}/std_cstdio.h \ 179264790Sbapt ${c_base_srcdir}/std_cstdlib.h \ 180264790Sbapt ${c_base_srcdir}/std_cstring.h \ 181264790Sbapt ${c_base_srcdir}/std_ctime.h \ 182264790Sbapt ${c_base_srcdir}/std_cwchar.h \ 183264790Sbapt ${c_base_srcdir}/std_cwctype.h 184264790Sbaptc_base_headers_rename = \ 185264790Sbapt cassert \ 186264790Sbapt cctype \ 187264790Sbapt cerrno \ 188264790Sbapt cfloat \ 189264790Sbapt ciso646 \ 190264790Sbapt climits \ 191264790Sbapt clocale \ 192264790Sbapt cmath \ 193264790Sbapt csetjmp \ 194264790Sbapt csignal \ 195264790Sbapt cstdarg \ 196264790Sbapt cstddef \ 197264790Sbapt cstdio \ 198264790Sbapt cstdlib \ 199264790Sbapt cstring \ 200264790Sbapt ctime \ 201264790Sbapt cwchar \ 202264790Sbapt cwctype 203264790Sbapt 204264790Sbapt# "C" compatibility headers. 205264790Sbaptc_compatibility_srcdir = ${glibcpp_srcdir}/include/c_compatibility 206264790Sbaptc_compatibility_builddir = . 207264790Sbaptc_compatibility_headers = \ 208264790Sbapt ${c_compatibility_srcdir}/assert.h \ 209264790Sbapt ${c_compatibility_srcdir}/ctype.h \ 210264790Sbapt ${c_compatibility_srcdir}/errno.h \ 211264790Sbapt ${c_compatibility_srcdir}/float.h \ 212264790Sbapt ${c_compatibility_srcdir}/iso646.h \ 213264790Sbapt ${c_compatibility_srcdir}/limits.h \ 214264790Sbapt ${c_compatibility_srcdir}/locale.h \ 215264790Sbapt ${c_compatibility_srcdir}/math.h \ 216264790Sbapt ${c_compatibility_srcdir}/setjmp.h \ 217264790Sbapt ${c_compatibility_srcdir}/signal.h \ 218264790Sbapt ${c_compatibility_srcdir}/stdarg.h \ 219264790Sbapt ${c_compatibility_srcdir}/stddef.h \ 220264790Sbapt ${c_compatibility_srcdir}/stdio.h \ 221264790Sbapt ${c_compatibility_srcdir}/stdlib.h \ 222264790Sbapt ${c_compatibility_srcdir}/string.h \ 223264790Sbapt ${c_compatibility_srcdir}/time.h \ 224264790Sbapt ${c_compatibility_srcdir}/wchar.h \ 225264790Sbapt ${c_compatibility_srcdir}/wctype.h 226264790Sbapt 227264790Sbapt# Some of the different "C" header models need extra files. 228264790Sbapt# Some "C" header schemes require the "C" compatibility headers. 229264790Sbapt# For --enable-cheaders=c_std 230264790Sbaptif GLIBCPP_C_HEADERS_C_STD 231264790Sbaptc_base_headers_extra = ${c_base_srcdir}/cmath.tcc 232264790Sbaptelse 233264790Sbaptc_base_headers_extra = 234264790Sbaptendif 235264790Sbapt 236264790Sbaptif GLIBCPP_C_HEADERS_COMPATIBILITY 237264790Sbaptc_compatibility_headers_extra = ${c_compatibility_headers} 238264790Sbaptelse 239264790Sbaptc_compatibility_headers_extra = 240264790Sbaptendif 241264790Sbapt 242264790Sbapt 243264790Sbaptstd_srcdir = ${glibcpp_srcdir}/include/std 244264790Sbaptstd_builddir = . 245264790Sbaptstd_headers = \ 246264790Sbapt ${std_srcdir}/std_algorithm.h \ 247264790Sbapt ${std_srcdir}/std_bitset.h \ 248264790Sbapt ${std_srcdir}/std_complex.h \ 249264790Sbapt ${std_srcdir}/std_deque.h \ 250264790Sbapt ${std_srcdir}/std_fstream.h \ 251264790Sbapt ${std_srcdir}/std_functional.h \ 252264790Sbapt ${std_srcdir}/std_iomanip.h \ 253264790Sbapt ${std_srcdir}/std_ios.h \ 254264790Sbapt ${std_srcdir}/std_iosfwd.h \ 255264790Sbapt ${std_srcdir}/std_iostream.h \ 256264790Sbapt ${std_srcdir}/std_istream.h \ 257264790Sbapt ${std_srcdir}/std_iterator.h \ 258264790Sbapt ${std_srcdir}/std_limits.h \ 259264790Sbapt ${std_srcdir}/std_list.h \ 260264790Sbapt ${std_srcdir}/std_locale.h \ 261264790Sbapt ${std_srcdir}/std_map.h \ 262264790Sbapt ${std_srcdir}/std_memory.h \ 263264790Sbapt ${std_srcdir}/std_numeric.h \ 264264790Sbapt ${std_srcdir}/std_ostream.h \ 265264790Sbapt ${std_srcdir}/std_queue.h \ 266264790Sbapt ${std_srcdir}/std_set.h \ 267264790Sbapt ${std_srcdir}/std_sstream.h \ 268264790Sbapt ${std_srcdir}/std_stack.h \ 269264790Sbapt ${std_srcdir}/std_stdexcept.h \ 270264790Sbapt ${std_srcdir}/std_streambuf.h \ 271264790Sbapt ${std_srcdir}/std_string.h \ 272264790Sbapt ${std_srcdir}/std_utility.h \ 273264790Sbapt ${std_srcdir}/std_valarray.h \ 274264790Sbapt ${std_srcdir}/std_vector.h 275264790Sbapt# Renamed at build time. 276264790Sbaptstd_headers_rename = \ 277264790Sbapt algorithm \ 278264790Sbapt bitset \ 279264790Sbapt complex \ 280264790Sbapt deque \ 281264790Sbapt fstream \ 282264790Sbapt functional \ 283264790Sbapt iomanip \ 284264790Sbapt ios \ 285264790Sbapt iosfwd \ 286264790Sbapt iostream \ 287264790Sbapt istream \ 288264790Sbapt iterator \ 289264790Sbapt limits \ 290264790Sbapt list \ 291264790Sbapt locale \ 292264790Sbapt map \ 293264790Sbapt memory \ 294264790Sbapt numeric \ 295264790Sbapt ostream \ 296264790Sbapt queue \ 297264790Sbapt set \ 298264790Sbapt sstream \ 299264790Sbapt stack \ 300264790Sbapt stdexcept \ 301264790Sbapt streambuf \ 302264790Sbapt string \ 303264790Sbapt utility \ 304264790Sbapt valarray \ 305264790Sbapt vector 306264790Sbapt 307264790Sbapttarget_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@ 308264790Sbapttarget_builddir = ./${target_alias}/bits 309264790Sbapttarget_headers = \ 310264790Sbapt ${target_srcdir}/ctype_base.h \ 311264790Sbapt ${target_srcdir}/ctype_inline.h \ 312264790Sbapt ${target_srcdir}/ctype_noninline.h \ 313264790Sbapt ${target_srcdir}/os_defines.h \ 314264790Sbapt ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h \ 315264790Sbapt ${glibcpp_srcdir}/@CPU_LIMITS_INC_SRCDIR@/cpu_limits.h 316264790Sbapt# These target_headers_extra files are all built with ad hoc naming rules. 317264790Sbapttarget_headers_extra = \ 318264790Sbapt ${target_builddir}/basic_file.h \ 319264790Sbapt ${target_builddir}/c++config.h \ 320264790Sbapt ${target_builddir}/c++io.h \ 321264790Sbapt ${target_builddir}/c++locale.h \ 322264790Sbapt ${target_builddir}/messages_members.h \ 323264790Sbapt ${target_builddir}/codecvt_specializations.h 324264790Sbapt 325264790Sbaptthread_target_headers = \ 326264790Sbapt ${target_builddir}/gthr.h \ 327264790Sbapt ${target_builddir}/gthr-single.h \ 328264790Sbapt ${target_builddir}/gthr-posix.h \ 329264790Sbapt ${target_builddir}/gthr-default.h 330264790Sbapt 331264790Sbapt# List of all timestamp files. By keeping only one copy of this list, both 332264790Sbapt# CLEANFILES and all-local are kept up-to-date. 333264790Sbaptallstamps = \ 334264790Sbapt stamp-std stamp-bits stamp-c_base stamp-c_compatibility \ 335264790Sbapt stamp-backward stamp-ext \ 336264790Sbapt ${target_builddir}/stamp-target 337264790Sbapt 338264790Sbapt 339264790Sbapt# Here are the rules for building the headers 340264790Sbaptall-local: ${target_builddir}/c++config.h ${thread_target_headers} ${allstamps} 341264790Sbapt 342264790Sbapt# This rule is slightly different, in that we must change the name of the 343264790Sbapt# local file from std_foo.h to foo. 344264790Sbaptstamp-std: ${std_headers} 345264790Sbapt @if [ ! -d "${std_builddir}" ]; then \ 346264790Sbapt mkdir -p ${std_builddir} ;\ 347264790Sbapt fi ;\ 348264790Sbapt (cd ${std_builddir} && for h in $?; do \ 349264790Sbapt official_name=`echo $$h | sed -e 's,.*/std_,,' -e 's,\.h$$,,'` ;\ 350264790Sbapt @LN_S@ $$h ./$${official_name} || true ;\ 351264790Sbapt done) ;\ 352264790Sbapt echo `date` > stamp-std 353264790Sbapt 354264790Sbaptstamp-bits: ${bits_headers} 355264790Sbapt @if [ ! -d "${bits_builddir}" ]; then \ 356264790Sbapt mkdir -p ${bits_builddir} ;\ 357264790Sbapt fi ;\ 358264790Sbapt (cd ${bits_builddir} && @LN_S@ $? . || true) ;\ 359264790Sbapt echo `date` > stamp-bits 360264790Sbapt 361264790Sbaptstamp-c_base: ${c_base_headers} ${c_base_headers_extra} 362264790Sbapt @if [ ! -d "${c_base_builddir}" ]; then \ 363264790Sbapt mkdir -p ${c_base_builddir} ;\ 364264790Sbapt fi ;\ 365264790Sbapt (cd ${c_base_builddir} && for h in ${c_base_headers}; do \ 366264790Sbapt official_name=`echo $$h | sed -e 's,.*/std_,,' -e 's,\.h$$,,'` ;\ 367264790Sbapt @LN_S@ $$h ./$${official_name} || true ;\ 368264790Sbapt done) ;\ 369264790Sbapt if [ ! -z "${c_base_headers_extra}" ]; then \ 370264790Sbapt (cd ${bits_builddir} && @LN_S@ ${c_base_headers_extra} . || true) ;\ 371264790Sbapt fi ;\ 372264790Sbapt echo `date` > stamp-c_base 373264790Sbapt 374264790Sbaptstamp-c_compatibility: ${c_compatibility_headers_extra} 375264790Sbapt @if [ ! -d "${c_compatibility_builddir}" ]; then \ 376264790Sbapt mkdir -p ${c_compatibility_builddir} ;\ 377264790Sbapt fi ;\ 378264790Sbapt if [ ! -z "${c_compatibility_headers_extra}" ]; then \ 379264790Sbapt (cd ${c_compatibility_builddir} && @LN_S@ $? . || true) ;\ 380264790Sbapt fi ;\ 381264790Sbapt echo `date` > stamp-c_compatibility 382264790Sbapt 383264790Sbaptstamp-backward: ${backward_headers} 384264790Sbapt @if [ ! -d "${backward_builddir}" ]; then \ 385264790Sbapt mkdir -p ${backward_builddir} ;\ 386264790Sbapt fi ;\ 387264790Sbapt (cd ${backward_builddir} && @LN_S@ $? . || true) ;\ 388264790Sbapt echo `date` > stamp-backward 389264790Sbapt 390264790Sbaptstamp-ext: ${ext_headers} 391264790Sbapt @if [ ! -d "${ext_builddir}" ]; then \ 392264790Sbapt mkdir -p ${ext_builddir} ;\ 393264790Sbapt fi ;\ 394264790Sbapt (cd ${ext_builddir} && @LN_S@ $? . || true) ;\ 395264790Sbapt echo `date` > stamp-ext 396264790Sbapt 397264790Sbaptstamp-${target_alias}: 398264790Sbapt @if [ ! -d ${target_builddir} ]; then \ 399264790Sbapt mkdir -p ${target_builddir} ;\ 400264790Sbapt echo `date` > stamp-${target_alias} ;\ 401264790Sbapt fi 402264790Sbapt 403264790Sbapt# Target includes static. 404264790Sbapt${target_builddir}/stamp-target: ${target_headers} stamp-${target_alias} 405264790Sbapt @cd ${target_builddir} ;\ 406264790Sbapt if [ ! -f stamp-target ]; then \ 407264790Sbapt @LN_S@ ${target_headers} . || true ;\ 408264790Sbapt @LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_H@ basic_file.h || true ;\ 409264790Sbapt @LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\ 410264790Sbapt @LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\ 411264790Sbapt @LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h || true ;\ 412264790Sbapt @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true ;\ 413264790Sbapt echo `date` > stamp-target; \ 414264790Sbapt fi 415264790Sbapt 416264790Sbapt# Target includes dynamic. 417264790Sbapt${target_builddir}/c++config.h: ${CONFIG_HEADER} \ 418264790Sbapt ${glibcpp_srcdir}/include/bits/c++config \ 419264790Sbapt stamp-${target_alias} 420264790Sbapt @cat ${glibcpp_srcdir}/include/bits/c++config > $@ ;\ 421264790Sbapt sed -e 's/HAVE_/_GLIBCPP_HAVE_/g' \ 422264790Sbapt -e 's/PACKAGE/_GLIBCPP_PACKAGE/g' \ 423264790Sbapt -e 's/VERSION/_GLIBCPP_VERSION/g' \ 424264790Sbapt -e 's/WORDS_/_GLIBCPP_WORDS_/g' \ 425264790Sbapt < ${CONFIG_HEADER} >> $@ ;\ 426264790Sbapt echo "#endif // _CPP_CPPCONFIG_" >>$@ 427264790Sbapt 428264790Sbapt# Target includes for threads 429264790Sbaptglibcpp_thread_h = @glibcpp_thread_h@ 430264790Sbaptuppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_] 431264790Sbapt 432264790Sbapt${target_builddir}/gthr.h: ${toplevel_srcdir}/gcc/gthr.h stamp-${target_alias} 433264790Sbapt sed -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCPP_\1/g' \ 434264790Sbapt -e 's,^#include "\(.*\)",#include <bits/\1>,g' \ 435264790Sbapt < ${toplevel_srcdir}/gcc/gthr.h > $@ 436264790Sbapt 437264790Sbapt${target_builddir}/gthr-single.h: ${toplevel_srcdir}/gcc/gthr-single.h \ 438264790Sbapt stamp-${target_alias} 439264790Sbapt sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \ 440264790Sbapt -e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \ 441264790Sbapt < ${toplevel_srcdir}/gcc/gthr-single.h > $@ 442264790Sbapt 443264790Sbapt${target_builddir}/gthr-posix.h: ${toplevel_srcdir}/gcc/gthr-posix.h \ 444264790Sbapt stamp-${target_alias} 445264790Sbapt sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \ 446264790Sbapt -e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \ 447264790Sbapt -e 's/\(${uppercase}*WEAK\)/_GLIBCPP_\1/g' \ 448264790Sbapt < ${toplevel_srcdir}/gcc/gthr-posix.h > $@ 449264790Sbapt 450264790Sbapt${target_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcpp_thread_h} \ 451264790Sbapt stamp-${target_alias} 452264790Sbapt sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \ 453264790Sbapt -e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \ 454264790Sbapt -e 's/\(${uppercase}*WEAK\)/_GLIBCPP_\1/g' \ 455264790Sbapt -e 's,^#include "\(.*\)",#include <bits/\1>,g' \ 456264790Sbapt < ${toplevel_srcdir}/gcc/${glibcpp_thread_h} > $@ 457264790Sbapt 458264790Sbapt# For robustness sake (in light of junk files or in-source 459264790Sbapt# configuration), copy from the build or source tree to the install 460264790Sbapt# tree using only the human-maintained file lists and directory 461264790Sbapt# components. Yes, with minor differences, this is sheer duplication 462264790Sbapt# of the staging rules above using $(INSTALL_DATA) instead of LN_S and 463264790Sbapt# `$(mkinstalldirs)' instead of `mkdir -p'. In particular, 464264790Sbapt# target_headers_extra are taken out of the build tree staging area; 465264790Sbapt# the rest are taken from the original source tree. 466264790Sbaptgxx_include_dir = @gxx_include_dir@ 467264790Sbaptinstall-data-local: 468264790Sbapt $(mkinstalldirs) ${gxx_include_dir} 469264790Sbapt $(mkinstalldirs) ${gxx_include_dir}/${bits_builddir} 470264790Sbapt for file in ${bits_headers}; do \ 471264790Sbapt $(INSTALL_DATA) $${file} ${gxx_include_dir}/${bits_builddir}; done 472264790Sbapt $(mkinstalldirs) ${gxx_include_dir}/${backward_builddir} 473264790Sbapt for file in ${backward_headers}; do \ 474264790Sbapt $(INSTALL_DATA) $${file} ${gxx_include_dir}/${backward_builddir}; done 475264790Sbapt $(mkinstalldirs) ${gxx_include_dir}/${ext_builddir} 476264790Sbapt for file in ${ext_headers}; do \ 477264790Sbapt $(INSTALL_DATA) $${file} ${gxx_include_dir}/${ext_builddir}; done 478264790Sbapt $(mkinstalldirs) ${gxx_include_dir}/${c_base_builddir} 479264790Sbapt for file in ${c_base_headers_rename}; do \ 480264790Sbapt $(INSTALL_DATA) ${c_base_builddir}/$${file} ${gxx_include_dir}; done 481264790Sbapt c_base_headers_extra_install='$(c_base_headers_extra)';\ 482264790Sbapt for file in $$c_base_headers_extra_install; do \ 483264790Sbapt $(INSTALL_DATA) $$file ${gxx_include_dir}/${bits_builddir}; done 484264790Sbapt c_compatibility_headers_install='$(c_compatibility_headers_extra)';\ 485264790Sbapt for file in $$c_compatibility_headers_install; do \ 486264790Sbapt $(INSTALL_DATA) $$file ${gxx_include_dir}; done 487264790Sbapt $(mkinstalldirs) ${gxx_include_dir}/${std_builddir} 488264790Sbapt for file in ${std_headers_rename}; do \ 489264790Sbapt $(INSTALL_DATA) ${std_builddir}/$${file} ${gxx_include_dir}; done 490264790Sbapt $(mkinstalldirs) ${gxx_include_dir}/${target_builddir} 491264790Sbapt for file in ${target_headers} ${target_headers_extra} \ 492264790Sbapt ${thread_target_headers}; do \ 493264790Sbapt $(INSTALL_DATA) $${file} ${gxx_include_dir}/${target_builddir}; done 494264790Sbapt 495264790Sbapt# By adding these files here, automake will remove them for 'make clean' 496264790Sbapt#CLEANFILES = ${allstamps} 497264790Sbapt 498264790Sbapt# Stop implicit '.o' make rules from ever stomping on extensionless 499264790Sbapt# headers, in the improbable case where some foolish, crack-addled 500264790Sbapt# developer tries to create them via make in the include build 501264790Sbapt# directory. (This is more of an example of how this kind of rule can 502264790Sbapt# be made.) 503264790Sbapt.PRECIOUS: $(std_headers_rename) $(c_base_headers_rename) 504264790Sbapt$(std_headers_rename): ; @: 505264790Sbapt$(c_base_headers_rename): ; @: 506264790Sbapt