OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libstdc++-v3/] [src/] [Makefile.am] - Blame information for rev 18

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 18 jlechner
## Makefile for the src subdirectory 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
23
## USA.
24
 
25
include $(top_srcdir)/fragment.am
26
 
27
# Cross compiler support.
28
toolexeclib_LTLIBRARIES = libstdc++.la
29
 
30
# Symbol versioning for shared libraries.
31
# This could be conditional on
32
# ENABLE_SYMVERS_GNU || ENABLE_SYMVERS_DARWIN_EXPORT
33
# but automake doesn't support OR operations in conditionals.
34
libstdc++-symbol.ver:  ${glibcxx_srcdir}/$(SYMVER_MAP) \
35
                $(port_specific_symbol_files)
36
        cp ${glibcxx_srcdir}/$(SYMVER_MAP) ./libstdc++-symbol.ver
37
        if test "x$(port_specific_symbol_files)" != x; then \
38
          sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
39
          sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
40
          cat tmp.top $(port_specific_symbol_files) tmp.bottom > $@; \
41
          rm tmp.top tmp.bottom; \
42
        fi
43
 
44
if ENABLE_SYMVERS_GNU
45
version_arg = -Wl,--version-script=libstdc++-symbol.ver
46
version_dep = libstdc++-symbol.ver
47
else
48
if ENABLE_SYMVERS_DARWIN_EXPORT
49
version_arg = -Wl,-exported_symbols_list,libstdc++-symbol.explist
50
version_dep = libstdc++-symbol.explist
51
libstdc++-symbol.explist : libstdc++-symbol.ver \
52
                ${glibcxx_srcdir}/scripts/make_exports.pl \
53
                $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
54
        perl ${glibcxx_srcdir}/scripts/make_exports.pl \
55
          libstdc++-symbol.ver \
56
          $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
57
         `echo $(libstdc___la_LIBADD) | \
58
            sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
59
         > $@ || (rm -f $@ ; exit 1)
60
else
61
version_arg =
62
version_dep =
63
endif
64
endif
65
 
66
 
67
# Source files linked in via configuration/make substitution for a
68
# particular host.
69
host_sources = \
70
        atomicity.cc \
71
        codecvt_members.cc \
72
        collate_members.cc \
73
        ctype_members.cc \
74
        messages_members.cc \
75
        monetary_members.cc \
76
        numeric_members.cc \
77
        time_members.cc
78
 
79
codecvt_members.cc: ${glibcxx_srcdir}/$(CCODECVT_CC)
80
        $(LN_S) ${glibcxx_srcdir}/$(CCODECVT_CC) . || true
81
 
82
collate_members.cc: ${glibcxx_srcdir}/$(CCOLLATE_CC)
83
        $(LN_S) ${glibcxx_srcdir}/$(CCOLLATE_CC) . || true
84
 
85
ctype_members.cc: ${glibcxx_srcdir}/$(CCTYPE_CC)
86
        $(LN_S) ${glibcxx_srcdir}/$(CCTYPE_CC) . || true
87
 
88
messages_members.cc: ${glibcxx_srcdir}/$(CMESSAGES_CC)
89
        $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_CC) . || true
90
 
91
monetary_members.cc: ${glibcxx_srcdir}/$(CMONEY_CC)
92
        $(LN_S) ${glibcxx_srcdir}/$(CMONEY_CC) . || true
93
 
94
numeric_members.cc: ${glibcxx_srcdir}/$(CNUMERIC_CC)
95
        $(LN_S) ${glibcxx_srcdir}/$(CNUMERIC_CC) . || true
96
 
97
time_members.cc: ${glibcxx_srcdir}/$(CTIME_CC)
98
        $(LN_S) ${glibcxx_srcdir}/$(CTIME_CC) . || true
99
 
100
atomicity_file = ${glibcxx_srcdir}/$(ATOMICITY_SRCDIR)/atomicity.h
101
atomicity.cc: ${atomicity_file}
102
        $(LN_S) ${atomicity_file} ./atomicity.cc || true
103
 
104
# Source files linked in via configuration/make substitution for a
105
# particular host, but with ad hoc naming rules.
106
host_sources_extra = \
107
        basic_file.cc \
108
        c++locale.cc
109
 
110
c++locale.cc: ${glibcxx_srcdir}/$(CLOCALE_CC)
111
        $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_CC) ./$@ || true
112
 
113
basic_file.cc: ${glibcxx_srcdir}/$(BASIC_FILE_CC)
114
        $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_CC) ./$@ || true
115
 
116
# Sources present in the src directory.
117
sources = \
118
        bitmap_allocator.cc \
119
        pool_allocator.cc \
120
        mt_allocator.cc \
121
        codecvt.cc \
122
        compatibility.cc \
123
        complex_io.cc \
124
        ctype.cc \
125
        debug.cc \
126
        debug_list.cc \
127
        functexcept.cc \
128
        globals_locale.cc \
129
        globals_io.cc \
130
        ios.cc \
131
        ios_failure.cc \
132
        ios_init.cc \
133
        ios_locale.cc \
134
        limits.cc \
135
        list.cc \
136
        locale.cc \
137
        locale_init.cc \
138
        locale_facets.cc \
139
        localename.cc \
140
        stdexcept.cc \
141
        strstream.cc \
142
        tree.cc \
143
        allocator-inst.cc \
144
        concept-inst.cc \
145
        fstream-inst.cc \
146
        ext-inst.cc \
147
        ios-inst.cc \
148
        iostream-inst.cc \
149
        istream-inst.cc \
150
        istream.cc \
151
        locale-inst.cc \
152
        locale-misc-inst.cc \
153
        misc-inst.cc \
154
        ostream-inst.cc \
155
        sstream-inst.cc \
156
        streambuf-inst.cc \
157
        streambuf.cc \
158
        string-inst.cc \
159
        valarray-inst.cc \
160
        wlocale-inst.cc \
161
        wstring-inst.cc \
162
        ${host_sources} \
163
        ${host_sources_extra}
164
 
165
VPATH = $(top_srcdir)/src:$(top_srcdir)
166
 
167
libstdc___la_SOURCES = $(sources)
168
 
169
libstdc___la_LIBADD = \
170
        $(top_builddir)/libmath/libmath.la \
171
        $(top_builddir)/libsupc++/libsupc++convenience.la
172
 
173
libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
174
 
175
libstdc___la_LDFLAGS = \
176
        -version-info $(libtool_VERSION) ${version_arg} -lm
177
 
178
# Use special rules for the deprecated source files so that they find
179
# deprecated include files.
180
GLIBCXX_INCLUDE_DIR=$(glibcxx_builddir)/include
181
strstream.lo: strstream.cc
182
        $(LTCXXCOMPILE) -I$(GLIBCXX_INCLUDE_DIR)/backward -Wno-deprecated -c $<
183
strstream.o: strstream.cc
184
        $(CXXCOMPILE) -I$(GLIBCXX_INCLUDE_DIR)/backward -Wno-deprecated -c $<
185
 
186
# Use special rules for the concept-checking instantiations so that all
187
# the generated template functions are also instantiated.  Force the checks
188
# to be on so that the instantiations are actually seen.
189
concept-inst.lo: concept-inst.cc
190
        $(LTCXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
191
concept-inst.o: concept-inst.cc
192
        $(CXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
193
 
194
# AM_CXXFLAGS needs to be in each subdirectory so that it can be
195
# modified in a per-library or per-sub-library way.  Need to manually
196
# set this option because CONFIG_CXXFLAGS has to be after
197
# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
198
# as the occasion calls for it.
199
AM_CXXFLAGS = \
200
        -fno-implicit-templates \
201
        $(WARN_CXXFLAGS) \
202
        $(OPTIMIZE_CXXFLAGS) \
203
        $(CONFIG_CXXFLAGS)
204
 
205
 
206
# libstdc++ libtool notes
207
 
208
# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
209
# last. (That way, things like -O2 passed down from the toplevel can
210
# be overridden by --enable-debug.)
211
 
212
# 2) In general, libtool expects an argument such as `--tag=CXX' when
213
# using the C++ compiler, because that will enable the settings
214
# detected when C++ support was being configured.  However, when no
215
# such flag is given in the command line, libtool attempts to figure
216
# it out by matching the compiler name in each configuration section
217
# against a prefix of the command line.  The problem is that, if the
218
# compiler name and its initial flags stored in the libtool
219
# configuration file don't match those in the command line, libtool
220
# can't decide which configuration to use, and it gives up.  The
221
# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
222
# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
223
# attempt to infer which configuration to use
224
LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
225
               $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS)
226
 
227
# 3) We'd have a problem when building the shared libstdc++ object if
228
# the rules automake generates would be used.  We cannot allow g++ to
229
# be used since this would add -lstdc++ to the link line which of
230
# course is problematic at this point.  So, we get the top-level
231
# directory to configure libstdc++-v3 to use gcc as the C++
232
# compilation driver.
233
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
234
          $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
235
 
236
 
237
# Added bits to build debug library.
238
if GLIBCXX_BUILD_DEBUG
239
all-local: build_debug
240
install-data-local: install_debug
241
else
242
all-local:
243
install-data-local:
244
endif
245
 
246
debugdir = debug
247
 
248
# Build parallel set of debug objects here.
249
stamp-debug:
250
        if test ! -d ${debugdir}; then \
251
          mkdir -p ${debugdir}; \
252
          (cd ${debugdir}; \
253
          sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \
254
              -e 's/srcdir = \.\./srcdir = ..\/../' \
255
              -e 's/glibcxx_basedir = \.\./glibcxx_basedir = ..\/../' \
256
              -e 's/all-local: build_debug/all-local:/' \
257
              -e 's/install-data-local: install_debug/install-data-local:/' \
258
          < ../Makefile > Makefile) ; \
259
        fi; \
260
        echo `date` > stamp-debug;
261
 
262
build_debug: stamp-debug
263
        (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' all)
264
 
265
# Install debug library here.
266
install_debug:
267
        (cd ${debugdir} && $(MAKE) \
268
        toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.