Subversion Repositories Kolibri OS

Rev

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