Subversion Repositories Kolibri OS

Rev

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