annotate src/Makefile.pmake @ 489:23c7667b3ec0 Android_Skia

Fix a potential bug when destroy a rdman. When a rdman is dirty, free shapes and coords works specially. Objects are append to a free list. They are not real freed until rdman being clean. redraw_man_destroy() free shapes and coords with free functions of them. If rdman is dirty when destroy it, objects would be leaked. The changeset make rdman clean before free shapes and coords to make objects being freed correctly.
author Thinker K.F. Li <thinker@branda.to>
date Sun, 22 Nov 2009 20:41:27 +0800
parents 50d253d0fcba
children 586e50f82c1f
rev   line source
33
d82749f77108 Fix bug of demo and remove *_fill() and *_stroke().
Thinker K.F. Li <thinker@branda.to>
parents: 30
diff changeset
1 SRCS = coord.c geo.c shape_path.c shape_text.c shape_rect.c \
257
50d253d0fcba Simple image loader and image shape.
Thinker K.F. Li <thinker@branda.to>
parents: 235
diff changeset
2 shape_image.c \
73
9ab15ebc9061 Observer for mouse events
Thinker K.F. Li <thinker@branda.to>
parents: 41
diff changeset
3 redraw_man.c timer.c animate.c paint.c event.c observer.c \
116
1d74eb3861b7 move animation actions from animate.c to files.
Thinker K.F. Li <thinker@branda.to>
parents: 108
diff changeset
4 X_supp.c timertool.c tools.c shift.c chgcolor.c \
257
50d253d0fcba Simple image loader and image shape.
Thinker K.F. Li <thinker@branda.to>
parents: 235
diff changeset
5 visibility.c rotate.c prop.c mouse.c img_ldr.c
5
9c331ec9e210 SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents: 4
diff changeset
6 OBJS = ${SRCS:C/(.*)\.c/\1.o/g}
235
65cabbdd5284 termporary revision
Thinker K.F. Li <thinker@branda.to>
parents: 224
diff changeset
7 TESTCASE_SRCS = ${SRCS:C/X_supp\.c//}
65cabbdd5284 termporary revision
Thinker K.F. Li <thinker@branda.to>
parents: 224
diff changeset
8 TESTCASE_OBJS = ${TESTCASE_SRCS:C/(.*)\.c/testcase-\1.o/g}
224
29e1b2bffe4c X backend only sent EVT_MOUSE_MOVE_RAW to MadButterfly.
Thinker K.F. Li <thinker@branda.to>
parents: 171
diff changeset
9 CFLAGS+= -Wall -I../include -I/usr/local/include \
29e1b2bffe4c X backend only sent EVT_MOUSE_MOVE_RAW to MadButterfly.
Thinker K.F. Li <thinker@branda.to>
parents: 171
diff changeset
10 `pkg-config --cflags cairo`
5
9c331ec9e210 SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents: 4
diff changeset
11 LDFLAGS = `pkg-config --libs cairo`
108
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
12 BINS = libmbfly.a X_main
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
13 PREFIX?=/usr/local/
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
14 HEADERS= X_supp.h animate.h mb.h mb_timer.h mb_types.h \
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
15 observer.h paint.h redraw_man.h shapes.h tools.h
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
16 MKDIR?= mkdir -p
1
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
17
2
31402929c587 Transform position
Thinker K.F. Li <thinker@branda.to>
parents: 1
diff changeset
18 all: $(BINS)
1
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
19
108
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
20 install: $(BINS)
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
21 $(INSTALL) -d ${PREFIX}include/mb
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
22 .for i in $(HEADERS)
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
23 $(INSTALL) -o root -m 0644 ${i} ${PREFIX}include/mb/
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
24 .endfor
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
25 $(INSTALL) -o root libmbfly.a ${PREFIX}lib/
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
26
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
27 uninstall:
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
28 .for i in $(HEADERS)
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
29 rm -f ${PREFIX}include/mb/${i}
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
30 .endfor
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
31 rm -f ${PREFIX}lib/libmbfly.a
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
32 rmdir ${PREFIX}include/mb/
565b55508c8d More dox
Thinker K.F. Li <thinker@branda.to>
parents: 78
diff changeset
33
1
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
34 testcase: testcase.o $(TESTCASE_OBJS)
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
35 $(CC) $(LDFLAGS) -o $@ $(.ALLSRC) -L/usr/local/lib -lcunit
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
36
78
3645e29e4986 Add runtime for Xlib.
Thinker K.F. Li <thinker@branda.to>
parents: 77
diff changeset
37 libmbfly.a: $(OBJS)
3645e29e4986 Add runtime for Xlib.
Thinker K.F. Li <thinker@branda.to>
parents: 77
diff changeset
38 $(AR) -cr $@ $(.ALLSRC)
3645e29e4986 Add runtime for Xlib.
Thinker K.F. Li <thinker@branda.to>
parents: 77
diff changeset
39
3645e29e4986 Add runtime for Xlib.
Thinker K.F. Li <thinker@branda.to>
parents: 77
diff changeset
40
1
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
41 .for i in $(TESTCASE_OBJS)
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
42 ${i}: ${i:C/testcase-(.*).o/\1.c/}
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
43 $(CC) $(CFLAGS) -DUNITTEST -g -c -o $@ $(.ALLSRC)
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
44 .endfor
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
45
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
46 testcase.o: testcase.c
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
47 $(CC) $(CFLAGS) -c $(.ALLSRC)
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
48
78
3645e29e4986 Add runtime for Xlib.
Thinker K.F. Li <thinker@branda.to>
parents: 77
diff changeset
49 X_main: X_main.o libmbfly.a
4
399517bf65dc Add rules for X_main to Makefile
Thinker K.F. Li <thinker@branda.to>
parents: 2
diff changeset
50 $(CC) $(CFALGS) `pkg-config --libs cairo` -o $@ $(.ALLSRC)
399517bf65dc Add rules for X_main to Makefile
Thinker K.F. Li <thinker@branda.to>
parents: 2
diff changeset
51
399517bf65dc Add rules for X_main to Makefile
Thinker K.F. Li <thinker@branda.to>
parents: 2
diff changeset
52 X_main.o: X_main.c
399517bf65dc Add rules for X_main to Makefile
Thinker K.F. Li <thinker@branda.to>
parents: 2
diff changeset
53 $(CC) $(CFLAGS) `pkg-config --cflags cairo` -c $(.ALLSRC)
399517bf65dc Add rules for X_main to Makefile
Thinker K.F. Li <thinker@branda.to>
parents: 2
diff changeset
54
1
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
55 clean:
123
9e2316dc6ecb Program completion events
Thinker K.F. Li <thinker@branda.to>
parents: 117
diff changeset
56 for i in *.o *~ *.core $(SHAPE_OBJS) $(BINS) testcase; do \
1
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
57 echo "delete $$i"; \
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
58 rm -f $$i; \
b5c0162ccf69 Coordination tranforming
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
59 done
18
0f3baa488a62 Support solid color paint for fill.
Thinker K.F. Li <thinker@branda.to>
parents: 15
diff changeset
60
0f3baa488a62 Support solid color paint for fill.
Thinker K.F. Li <thinker@branda.to>
parents: 15
diff changeset
61 depend:
0f3baa488a62 Support solid color paint for fill.
Thinker K.F. Li <thinker@branda.to>
parents: 15
diff changeset
62 mkdep $(CFLAGS) $(SRCS)