Subversion Repositories Kolibri OS

Rev

Rev 4362 | Rev 4819 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4362 Rev 4367
1
LIBRARY = cairo2
1
LIBRARY = cairo2
2
 
2
 
3
CC = gcc
3
CC = gcc
4
CFLAGS = -c -O2 -ffast-math -Wall -Winline -Wno-attributes -fomit-frame-pointer
4
CFLAGS = -c -O2 -ffast-math -Wall -Winline -Wno-attributes -fomit-frame-pointer
5
 
5
 
6
LD = ld
6
LD = ld
7
LDFLAGS = -shared -s -nostdlib -T ../newlib/dll.lds --entry _DllStartup --image-base=0 --version-script cairo.ver --output-def $(LIBRARY).orig.def --out-implib $(LIBRARY).dll.a
7
LDFLAGS = -shared -s -nostdlib -T ../newlib/dll.lds --entry _DllStartup --image-base=0 --version-script cairo.ver --output-def $(LIBRARY).orig.def --out-implib $(LIBRARY).dll.a
8
 
8
 
9
STRIP = $(PREFIX)strip
9
STRIP = $(PREFIX)strip
10
 
10
 
11
DEFINES = -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -U_MSC_VER -DHAVE_CONFIG_H=1 -DCAIRO_NO_MUTEX=1  
11
DEFINES = -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -U_MSC_VER -DHAVE_CONFIG_H=1 -DCAIRO_NO_MUTEX=1  
12
 
12
 
13
INCLUDES = -I. -I../newlib/include -I../pixman -I../zlib -I../libpng -I../freetype/include
13
INCLUDES = -I. -I../newlib/include -I../pixman -I../zlib -I../libpng -I../freetype/include
14
 
14
 
15
 
15
 
16
LIBPATH:= -L../../lib
16
LIBPATH:= -L../../lib
17
 
17
 
18
LIBS:=  -ldll -lgcc -lfreetype.dll -lz.dll -lpixman-1.dll -lpng16.dll -lc.dll
18
LIBS:=  -ldll -lgcc -lfreetype.dll -lz.dll -lpixman-1.dll -lpng16.dll -lc.dll
19
 
19
 
20
CAIRO_SOURCES =					\
20
CAIRO_SOURCES =					\
21
	cairo.c 				\
21
	cairo.c 				\
22
	cairo-analysis-surface.c		\
22
	cairo-analysis-surface.c		\
23
	cairo-arc.c 				\
23
	cairo-arc.c 				\
24
	cairo-array.c 				\
24
	cairo-array.c 				\
25
	cairo-atomic.c 				\
25
	cairo-atomic.c 				\
26
	cairo-base64-stream.c 			\
26
	cairo-base64-stream.c 			\
27
	cairo-base85-stream.c 			\
27
	cairo-base85-stream.c 			\
28
	cairo-bentley-ottmann.c 		\
28
	cairo-bentley-ottmann.c 		\
29
	cairo-bentley-ottmann-rectangular.c 	\
29
	cairo-bentley-ottmann-rectangular.c 	\
30
	cairo-bentley-ottmann-rectilinear.c 	\
30
	cairo-bentley-ottmann-rectilinear.c 	\
31
	cairo-botor-scan-converter.c 		\
31
	cairo-botor-scan-converter.c 		\
32
	cairo-boxes.c 				\
32
	cairo-boxes.c 				\
33
	cairo-boxes-intersect.c			\
33
	cairo-boxes-intersect.c			\
34
	cairo-cache.c 				\
34
	cairo-cache.c 				\
35
	cairo-cff-subset.c			\
35
	cairo-cff-subset.c			\
36
	cairo-clip.c 				\
36
	cairo-clip.c 				\
37
	cairo-clip-boxes.c			\
37
	cairo-clip-boxes.c			\
38
	cairo-clip-polygon.c			\
38
	cairo-clip-polygon.c			\
39
	cairo-clip-region.c			\
39
	cairo-clip-region.c			\
40
	cairo-clip-surface.c			\
40
	cairo-clip-surface.c			\
41
	cairo-clip-tor-scan-converter.c		\
41
	cairo-clip-tor-scan-converter.c		\
42
	cairo-color.c 				\
42
	cairo-color.c 				\
43
	cairo-composite-rectangles.c 		\
43
	cairo-composite-rectangles.c 		\
44
	cairo-compositor.c			\
44
	cairo-compositor.c			\
45
	cairo-contour.c				\
45
	cairo-contour.c				\
46
	cairo-damage.c				\
46
	cairo-damage.c				\
47
	cairo-debug.c				\
47
	cairo-debug.c				\
48
	cairo-default-context.c			\
48
	cairo-default-context.c			\
49
	cairo-deflate-stream.c			\
49
	cairo-deflate-stream.c			\
50
	cairo-device.c 				\
50
	cairo-device.c 				\
51
	cairo-error.c				\
51
	cairo-error.c				\
52
	cairo-fallback-compositor.c		\
52
	cairo-fallback-compositor.c		\
53
	cairo-fixed.c 				\
53
	cairo-fixed.c 				\
54
	cairo-font-face.c 			\
54
	cairo-font-face.c 			\
55
	cairo-font-face-twin.c 			\
55
	cairo-font-face-twin.c 			\
56
	cairo-font-face-twin-data.c 		\
56
	cairo-font-face-twin-data.c 		\
57
	cairo-font-options.c 			\
57
	cairo-font-options.c 			\
58
	cairo-freed-pool.c 			\
58
	cairo-freed-pool.c 			\
59
	cairo-freelist.c 			\
59
	cairo-freelist.c 			\
60
	cairo-ft-font.c				\
60
	cairo-ft-font.c				\
61
	cairo-gstate.c 				\
61
	cairo-gstate.c 				\
62
	cairo-hash.c 				\
62
	cairo-hash.c 				\
63
	cairo-hull.c 				\
63
	cairo-hull.c 				\
64
	cairo-image-compositor.c		\
64
	cairo-image-compositor.c		\
65
	cairo-image-info.c 			\
65
	cairo-image-info.c 			\
66
	cairo-image-source.c			\
66
	cairo-image-source.c			\
67
	cairo-image-surface.c 			\
67
	cairo-image-surface.c 			\
68
	cairo-lzw.c 				\
68
	cairo-lzw.c 				\
69
	cairo-mask-compositor.c			\
69
	cairo-mask-compositor.c			\
70
	cairo-matrix.c 				\
70
	cairo-matrix.c 				\
71
	cairo-mempool.c				\
71
	cairo-mempool.c				\
72
	cairo-mesh-pattern-rasterizer.c		\
72
	cairo-mesh-pattern-rasterizer.c		\
73
	cairo-misc.c 				\
73
	cairo-misc.c 				\
74
	cairo-mono-scan-converter.c		\
74
	cairo-mono-scan-converter.c		\
75
	cairo-mutex.c 				\
75
	cairo-mutex.c 				\
76
	cairo-no-compositor.c			\
76
	cairo-no-compositor.c			\
77
	cairo-observer.c 			\
77
	cairo-observer.c 			\
78
	cairo-output-stream.c 			\
78
	cairo-output-stream.c 			\
79
	cairo-paginated-surface.c 		\
79
	cairo-paginated-surface.c 		\
80
	cairo-path.c 				\
80
	cairo-path.c 				\
81
	cairo-path-bounds.c 			\
81
	cairo-path-bounds.c 			\
82
	cairo-path-fill.c 			\
82
	cairo-path-fill.c 			\
83
	cairo-path-fixed.c 			\
83
	cairo-path-fixed.c 			\
84
	cairo-path-in-fill.c 			\
84
	cairo-path-in-fill.c 			\
85
	cairo-path-stroke.c 			\
85
	cairo-path-stroke.c 			\
86
	cairo-path-stroke-boxes.c		\
86
	cairo-path-stroke-boxes.c		\
87
	cairo-path-stroke-polygon.c		\
87
	cairo-path-stroke-polygon.c		\
88
	cairo-path-stroke-traps.c		\
88
	cairo-path-stroke-traps.c		\
89
	cairo-path-stroke-tristrip.c		\
89
	cairo-path-stroke-tristrip.c		\
90
	cairo-pattern.c				\
90
	cairo-pattern.c				\
91
	cairo-pdf-operators.c			\
91
	cairo-pdf-operators.c			\
92
	cairo-pdf-shading.c			\
92
	cairo-pdf-shading.c			\
93
	cairo-pen.c 				\
93
	cairo-pen.c 				\
94
	cairo-png.c				\
94
	cairo-png.c				\
95
	cairo-polygon.c 			\
95
	cairo-polygon.c 			\
96
	cairo-polygon-intersect.c		\
96
	cairo-polygon-intersect.c		\
97
	cairo-polygon-reduce.c			\
97
	cairo-polygon-reduce.c			\
98
	cairo-raster-source-pattern.c		\
98
	cairo-raster-source-pattern.c		\
99
	cairo-recording-surface.c		\
99
	cairo-recording-surface.c		\
100
	cairo-rectangle.c			\
100
	cairo-rectangle.c			\
101
	cairo-rectangular-scan-converter.c	\
101
	cairo-rectangular-scan-converter.c	\
102
	cairo-region.c				\
102
	cairo-region.c				\
103
	cairo-rtree.c				\
103
	cairo-rtree.c				\
104
	cairo-scaled-font.c			\
104
	cairo-scaled-font.c			\
105
	cairo-scaled-font-subsets.c		\
105
	cairo-scaled-font-subsets.c		\
106
	cairo-script-surface.c			\
106
	cairo-script-surface.c			\
107
	cairo-shape-mask-compositor.c		\
107
	cairo-shape-mask-compositor.c		\
108
	cairo-slope.c				\
108
	cairo-slope.c				\
109
	cairo-spans.c				\
109
	cairo-spans.c				\
110
	cairo-spans-compositor.c		\
110
	cairo-spans-compositor.c		\
111
	cairo-spline.c				\
111
	cairo-spline.c				\
112
	cairo-stroke-dash.c			\
112
	cairo-stroke-dash.c			\
113
	cairo-stroke-style.c			\
113
	cairo-stroke-style.c			\
114
	cairo-surface.c				\
114
	cairo-surface.c				\
115
	cairo-surface-clipper.c			\
115
	cairo-surface-clipper.c			\
116
	cairo-surface-fallback.c		\
116
	cairo-surface-fallback.c		\
117
	cairo-surface-offset.c			\
117
	cairo-surface-offset.c			\
118
	cairo-surface-snapshot.c		\
118
	cairo-surface-snapshot.c		\
119
	cairo-surface-subsurface.c		\
119
	cairo-surface-subsurface.c		\
120
	cairo-surface-wrapper.c			\
120
	cairo-surface-wrapper.c			\
121
	cairo-svg-surface.c			\
121
	cairo-svg-surface.c			\
122
	cairo-tor22-scan-converter.c		\
122
	cairo-tor22-scan-converter.c		\
123
	cairo-tor-scan-converter.c		\
123
	cairo-tor-scan-converter.c		\
124
	cairo-toy-font-face.c			\
124
	cairo-toy-font-face.c			\
125
	cairo-traps.c				\
125
	cairo-traps.c				\
126
	cairo-traps-compositor.c		\
126
	cairo-traps-compositor.c		\
127
	cairo-tristrip.c			\
127
	cairo-tristrip.c			\
128
	cairo-truetype-subset.c			\
128
	cairo-truetype-subset.c			\
129
	cairo-type1-fallback.c			\
129
	cairo-type1-fallback.c			\
130
	cairo-type1-glyph-names.c		\
130
	cairo-type1-glyph-names.c		\
131
	cairo-type1-subset.c			\
131
	cairo-type1-subset.c			\
132
	cairo-type3-glyph-surface.c		\
132
	cairo-type3-glyph-surface.c		\
133
	cairo-unicode.c				\
133
	cairo-unicode.c				\
134
	cairo-user-font.c			\
134
	cairo-user-font.c			\
135
	cairo-version.c				\
135
	cairo-version.c				\
136
	cairo-wideint.c				\
136
	cairo-wideint.c				\
137
	$(NULL)
137
	$(NULL)
138
 
138
 
139
 
139
 
140
SOURCES= $(CAIRO_SOURCES)
140
SOURCES= $(CAIRO_SOURCES)
141
 
141
 
142
OBJECTS =  $(patsubst %.c, src/%.o, $(SOURCES))
142
OBJECTS =  $(patsubst %.c, src/%.o, $(SOURCES))
143
 
143
 
-
 
144
ifeq ($(findstring ebox,$(MAKECMDGOALS)),ebox)
-
 
145
CFLAGS+=-march=pentium-mmx
-
 
146
endif
144
 
147
 
145
# targets 
148
# targets 
146
 
149
 
147
 
150
 
148
all: $(LIBRARY).a $(LIBRARY).dll
151
all: $(LIBRARY).a $(LIBRARY).dll
149
 
152
 
-
 
153
ebox: $(LIBRARY).a $(LIBRARY).dll
150
 
154
 
151
$(LIBRARY).a: $(OBJECTS) Makefile
155
$(LIBRARY).a: $(OBJECTS) Makefile
152
	ar cvrs $(LIBRARY).a $(OBJECTS)
156
	ar cvrs $(LIBRARY).a $(OBJECTS)
153
	mv -f $(LIBRARY).a ../../lib
157
	mv -f $(LIBRARY).a ../../lib
154
 
158
 
155
 
159
 
156
$(LIBRARY).dll: $(OBJECTS) Makefile
160
$(LIBRARY).dll: $(OBJECTS) Makefile
157
	$(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(OBJECTS) $(LIBS)
161
	$(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(OBJECTS) $(LIBS)
158
	$(STRIP) $@
162
	$(STRIP) $@
159
	sed -e "s/ @[^ ]*//" $(LIBRARY).orig.def > $(LIBRARY).def
163
	sed -e "s/ @[^ ]*//" $(LIBRARY).orig.def > $(LIBRARY).def
160
	sed -f ../newlib/cmd1.sed $(LIBRARY).def > mem
164
	sed -f ../newlib/cmd1.sed $(LIBRARY).def > mem
161
	sed -f ../newlib/cmd2.sed mem >$(LIBRARY).inc
165
	sed -f ../newlib/cmd2.sed mem >$(LIBRARY).inc
162
	mv -f $@ ../../bin
166
	mv -f $@ ../../bin
163
	mv -f $(LIBRARY).dll.a ../../lib   
167
	mv -f $(LIBRARY).dll.a ../../lib   
164
 
168
 
165
%.o : %.c 
169
%.o : %.c 
166
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
170
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
167
 
171
 
168
clean: 
172
clean: 
169
	-rm -f */*.o
173
	-rm -f */*.o
170
 
174
 
171
clean:>
175
clean:>