Subversion Repositories Kolibri OS

Rev

Rev 6554 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6554 serge 1
LIBRARY= libsupc++
2
 
3
CC = kos32-gcc
4
AR = kos32-ar
5
LD = kos32-ld
6
CPP= kos32-g++
7
STRIP = kos32-strip
8
 
6556 serge 9
INSTALLDIR:= /home/autobuild/tools/win32/mingw32/lib
10
 
11
export SDK_DIR:= $(abspath ../../../../../sdk)
12
 
6554 serge 13
CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fno-ident -fomit-frame-pointer
6556 serge 14
CFLAGSCPP = -nostdinc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi
15
CFLAGSCPP+= -fdiagnostics-show-location=once -ffunction-sections -fdata-sections
6554 serge 16
 
17
ARFLAGS= crs
18
 
6556 serge 19
GLIBCXX_INCLUDE_DIR= ../include
20
INCLUDES= -I../include/mingw32 -I../include -I./ -I$(SDK_DIR)/sources/newlib/libc/include
6554 serge 21
 
6556 serge 22
DEFINES= -D_GLIBCXX_HAVE_TLS
6554 serge 23
 
6556 serge 24
C_COMPILE= $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES)
25
CXXCOMPILE= $(CPP) $(CFLAGS) $(CFLAGSCPP) $(INCLUDES) $(DEFINES)
6554 serge 26
 
27
 
28
SOURCES = 					\
6556 serge 29
	cp-demangle.c \
30
	array_type_info.cc \
31
	atexit_arm.cc \
32
	atexit_thread.cc \
33
	bad_alloc.cc \
34
	bad_array_length.cc \
35
	bad_array_new.cc \
36
	bad_cast.cc \
37
	bad_typeid.cc \
38
	class_type_info.cc \
39
	del_op.cc \
40
	del_ops.cc \
41
	del_opnt.cc \
42
	del_opv.cc \
43
	del_opvs.cc \
44
	del_opvnt.cc \
45
	dyncast.cc \
46
	eh_alloc.cc \
47
	eh_arm.cc \
48
	eh_aux_runtime.cc \
49
	eh_call.cc \
50
	eh_catch.cc \
51
	eh_exception.cc \
52
	eh_globals.cc \
53
	eh_personality.cc \
54
	eh_ptr.cc \
55
	eh_term_handler.cc \
56
	eh_terminate.cc \
57
	eh_tm.cc \
58
	eh_throw.cc \
59
	eh_type.cc \
60
	eh_unex_handler.cc \
61
	enum_type_info.cc \
62
	function_type_info.cc \
63
	fundamental_type_info.cc \
64
	guard.cc \
65
	guard_error.cc \
66
	hash_bytes.cc \
67
	nested_exception.cc \
68
	new_handler.cc \
69
	new_op.cc \
70
	new_opnt.cc \
71
	new_opv.cc \
72
	new_opvnt.cc \
73
	pbase_type_info.cc \
74
	pmem_type_info.cc \
75
	pointer_type_info.cc \
76
	pure.cc \
77
	si_class_type_info.cc \
78
	tinfo.cc \
79
	tinfo2.cc \
80
	vec.cc \
81
	vmi_class_type_info.cc \
82
	vterminate.cc
83
 
6554 serge 84
 
85
OBJECTS =  $(patsubst %.cc, %.o, $(patsubst %.c, %.o, $(SOURCES)))
86
 
87
# targets
88
 
89
all:$(LIBRARY).a
90
 
91
$(LIBRARY).a: $(OBJECTS) Makefile
6556 serge 92
	$(AR) $(ARFLAGS) $(LIBRARY).a $(OBJECTS)
93
	mv -f $(LIBRARY).a $(INSTALLDIR)
6554 serge 94
 
95
 
6556 serge 96
 
6554 serge 97
%.o : %.cc Makefile
6556 serge 98
	$(CXXCOMPILE) -o $@ $<
6554 serge 99
 
100
 
6556 serge 101
cp-demangle.o: cp-demangle.c
102
	$(C_COMPILE) -DHAVE_CONFIG_H -D_USE_32BIT_TIME_T -DIN_GLIBCPP_V3 -Wno-error -o $@ $<
103
 
104
bad_array_length.o: bad_array_length.cc
105
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
106
 
107
bad_array_new.o: bad_array_new.cc
108
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
109
 
110
eh_aux_runtime.o: eh_aux_runtime.cc
111
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
112
 
113
eh_ptr.o: eh_ptr.cc
114
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
115
 
116
eh_terminate.o: eh_terminate.cc
117
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
118
 
6554 serge 119
eh_throw.o: eh_throw.cc
6556 serge 120
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
6554 serge 121
 
6556 serge 122
guard.o: guard.cc
123
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
6554 serge 124
 
6556 serge 125
atexit_thread.o: atexit_thread.cc
126
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
6554 serge 127
 
6556 serge 128
nested_exception.o: nested_exception.cc
129
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
6554 serge 130
 
6556 serge 131
new_handler.o: new_handler.cc
132
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
133
 
134
new_op.o: new_op.cc
135
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
136
 
137
new_opnt.o: new_opnt.cc
138
	$(CXXCOMPILE) -std=gnu++11 -o $@ $<
139
 
140
del_ops.o: del_ops.cc
141
	$(CXXCOMPILE) -std=gnu++14 -o $@ $<
142
 
143
del_opvs.o: del_opvs.cc
144
	$(CXXCOMPILE) -std=gnu++14 -o $@ $<
145
 
146
 
6554 serge 147
clean:
148
	-rm -f *.o
149