Subversion Repositories Kolibri OS

Rev

Rev 6325 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5137 serge 1
LIBRARY= libstdc++
2
 
3
CC = kos32-gcc
4
AR = kos32-ar
5
LD = kos32-ld
6
CPP= kos32-g++
7
STRIP = kos32-strip
8
 
9
CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fno-ident -fomit-frame-pointer -ffunction-sections -fdata-sections
10
 
11
ARFLAGS= crs
12
 
13
INCLUDES= -I./include/mingw32 -I./include -I../newlib/libc/include
14
 
15
LIBS:=  -ldll -lc.dll
16
 
17
DEFINES= -DHAVE_CONFIG_H -DIN_GCC -DUSE_EMUTLS=1 -D_GLIBCXX_HAVE_TLS
18
 
19
host_sources = \
20
        src/c++98/atomicity.cc 			\
21
        src/c++98/codecvt_members.cc 		\
22
        src/c++98/collate_members.cc 		\
23
        src/c++98/ctype_configure_char.cc 	\
24
        src/c++98/ctype_members.cc 		\
25
        src/c++98/messages_members.cc 		\
26
        src/c++98/monetary_members.cc 		\
27
        src/c++98/numeric_members.cc 		\
28
        src/c++98/time_members.cc
29
 
30
inst_sources = \
31
	src/c++98/allocator-inst.cc \
32
	src/c++98/concept-inst.cc \
33
	src/c++98/ext-inst.cc \
34
	src/c++98/ios-inst.cc \
35
	src/c++98/iostream-inst.cc \
36
	src/c++98/istream-inst.cc \
37
	src/c++98/locale-inst.cc \
38
	src/c++98/misc-inst.cc \
39
	src/c++98/ostream-inst.cc \
40
	src/c++98/sstream-inst.cc \
41
	src/c++98/streambuf-inst.cc \
42
	src/c++98/wlocale-inst.cc
43
 
44
parallel_sources = src/c++98/parallel_settings.cc
45
 
46
host_sources_extra = \
47
	src/c++98/basic_file.cc	\
48
	src/c++98/c++locale.cc	\
49
	${inst_sources} ${parallel_sources}
50
 
51
C++98SRCS = \
52
	src/c++98/bitmap_allocator.cc 		\
53
	src/c++98/pool_allocator.cc 		\
54
	src/c++98/mt_allocator.cc 		\
55
	src/c++98/codecvt.cc 			\
56
	src/c++98/complex_io.cc 		\
57
	src/c++98/ctype.cc 			\
58
	src/c++98/globals_io.cc 		\
59
	src/c++98/hash_tr1.cc 			\
60
	src/c++98/hashtable_tr1.cc 		\
61
	src/c++98/ios.cc 			\
62
	src/c++98/ios_failure.cc 		\
63
	src/c++98/ios_init.cc 			\
64
	src/c++98/ios_locale.cc 		\
65
	src/c++98/list.cc 			\
66
	src/c++98/list-aux.cc 			\
67
	src/c++98/list-aux-2.cc 		\
68
	src/c++98/list_associated.cc 		\
69
	src/c++98/list_associated-2.cc 		\
70
	src/c++98/locale.cc 			\
71
	src/c++98/locale_init.cc 		\
72
	src/c++98/locale_facets.cc 		\
73
	src/c++98/localename.cc 		\
74
	src/c++98/math_stubs_float.cc 		\
75
	src/c++98/math_stubs_long_double.cc 	\
76
	src/c++98/stdexcept.cc 			\
77
	src/c++98/strstream.cc 			\
78
	src/c++98/tree.cc 			\
79
	src/c++98/istream.cc 			\
80
	src/c++98/streambuf.cc 			\
81
	src/c++98/valarray.cc 			\
82
	${host_sources} 			\
83
	${host_sources_extra}
84
 
85
inst11_sources = \
86
	src/c++11/fstream-inst.cc \
87
	src/c++11/string-inst.cc \
88
	src/c++11/wstring-inst.cc
89
 
90
C++11SRCS = \
91
	src/c++11/chrono.cc 			\
92
	src/c++11/condition_variable.cc 	\
93
	src/c++11/debug.cc 			\
94
	src/c++11/functexcept.cc 		\
95
	src/c++11/functional.cc 		\
96
	src/c++11/future.cc 			\
97
	src/c++11/hash_c++0x.cc 		\
98
	src/c++11/hashtable_c++0x.cc 		\
99
	src/c++11/limits.cc 			\
100
	src/c++11/mutex.cc 			\
101
	src/c++11/placeholders.cc		\
102
	src/c++11/random.cc 			\
103
	src/c++11/regex.cc  			\
104
	src/c++11/shared_ptr.cc 		\
105
	src/c++11/system_error.cc 		\
106
	${inst11_sources}
107
 
108
compat_sources = \
109
	src/c++98/compatibility.cc 			\
110
	src/c++98/compatibility-debug_list.cc		\
111
	src/c++98/compatibility-debug_list-2.cc		\
112
	src/c++11/compatibility-c++0x.cc		\
113
	src/c++11/compatibility-atomic-c++0x.cc		\
114
	src/c++11/compatibility-thread-c++0x.cc		\
115
	src/c++11/compatibility-chrono.cc
116
 
117
OBJ98 =  $(patsubst %.cc, %.o, $(patsubst %.c, %.o, $(C++98SRCS)))
118
 
119
OBJ11 =  $(patsubst %.cc, %.o, $(patsubst %.c, %.o, $(C++11SRCS)))
120
 
121
com_obj =  $(patsubst %.cc, %.o, $(patsubst %.c, %.o, $(compat_sources)))
122
 
123
# targets
124
 
125
all:$(LIBRARY).a
126
 
127
$(LIBRARY).a: $(OBJ98) $(OBJ11) $(com_obj) Makefile
128
	$(AR) $(ARFLAGS) $(LIBRARY).a $(OBJ98) $(OBJ11) $(com_obj)
129
	mv -f $(LIBRARY).a ../../lib
130
 
131
%.o : %.c Makefile
132
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
133
 
134
%.o : %.cc Makefile
135
	$(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
136
 
137
src/c++98/strstream.o: src/c++98/strstream.cc Makefile
138
	$(CPP) $(CFLAGS) -Wno-deprecated $(DEFINES) $(INCLUDES) -o $@ $<
139
 
140
src/c++98/allocator-inst.o: src/c++98/allocator-inst.cc Makefile
141
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
142
 
143
src/c++98/concept-inst.o: src/c++98/concept-inst.cc Makefile
144
	$(CPP) $(CFLAGS) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
145
 
146
src/c++98/ext-inst.o: src/c++98/ext-inst.cc Makefile
147
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
148
 
149
src/c++98/ios-inst.o: src/c++98/ios-inst.cc Makefile
150
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
151
 
152
src/c++98/iostream-inst.o: src/c++98/iostream-inst.cc Makefile
153
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
154
 
155
src/c++98/istream-inst.o: src/c++98/istream-inst.cc Makefile
156
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
157
 
158
src/c++98/locale-inst.o: src/c++98/locale-inst.cc Makefile
159
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
160
 
161
src/c++98/misc-inst.o: src/c++98/misc-inst.cc Makefile
162
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
163
 
164
src/c++98/ostream-inst.o: src/c++98/ostream-inst.cc Makefile
165
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
166
 
167
src/c++98/sstream-inst.o: src/c++98/sstream-inst.cc Makefile
168
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
169
 
170
src/c++98/streambuf-inst.o: src/c++98/streambuf-inst.cc Makefile
171
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
172
 
173
src/c++98/wlocale-inst.o: src/c++98/wlocale-inst.cc Makefile
174
	$(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
175
 
176
src/c++98/parallel_settings.o: src/c++98/parallel_settings.cc Makefile
177
	$(CPP) $(CFLAGS) -D_GLIBCXX_PARALLEL $(DEFINES) $(INCLUDES) -o $@ $<
178
 
179
src/c++11/chrono.o: src/c++11/chrono.cc
180
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
181
 
182
src/c++11/condition_variable.o: src/c++11/condition_variable.cc
183
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
184
 
185
src/c++11/debug.o: src/c++11/debug.cc
186
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
187
 
188
src/c++11/functexcept.o: src/c++11/functexcept.cc
189
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
190
 
191
src/c++11/functional.o: src/c++11/functional.cc
192
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
193
 
194
src/c++11/future.o: src/c++11/future.cc
195
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
196
 
197
src/c++11/hash_c++0x.o: src/c++11/hash_c++0x.cc
198
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
199
 
200
src/c++11/hashtable_c++0x.o: src/c++11/hashtable_c++0x.cc
201
	$(CPP) $(CFLAGS) -std=gnu++11 -fimplicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
202
 
203
src/c++11/limits.o: src/c++11/limits.cc
204
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
205
 
206
src/c++11/mutex.o: src/c++11/mutex.cc
207
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
208
 
209
src/c++11/placeholders.o: src/c++11/placeholders.cc
210
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
211
 
212
src/c++11/random.o: src/c++11/random.cc
213
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
214
 
215
src/c++11/regex.o: src/c++11/regex.cc
216
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
217
 
218
src/c++11/shared_ptr.o: src/c++11/shared_ptr.cc
219
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
220
 
221
src/c++11/system_error.o: src/c++11/system_error.cc
222
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
223
 
224
src/c++11/thread.o: src/c++11/thread.cc
225
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
226
 
227
src/c++11/fstream-inst.o: src/c++11/fstream-inst.cc
228
	$(CPP) $(CFLAGS) -std=gnu++11 -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
229
 
230
src/c++11/string-inst.o: src/c++11/string-inst.cc
231
	$(CPP) $(CFLAGS) -std=gnu++11 -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
232
 
233
src/c++11/wstring-inst.o: src/c++11/wstring-inst.cc
234
	$(CPP) $(CFLAGS) -std=gnu++11 -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
235
 
236
src/c++11/compatibility-c++0x.o: src/c++11/compatibility-c++0x.cc
237
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
238
 
239
src/c++11/compatibility-atomic-c++0x.o: src/c++11/compatibility-atomic-c++0x.cc
240
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
241
 
242
src/c++11/compatibility-thread-c++0x.o: src/c++11/compatibility-thread-c++0x.cc
243
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
244
 
245
src/c++11/compatibility-chrono.o: src/c++11/compatibility-chrono.cc
246
	$(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
247
 
248
clean:
249
	-rm -f *.o
250