equal
deleted
inserted
replaced
19 # libraries to use |
19 # libraries to use |
20 LOADLIBES = -lpng -lpthread |
20 LOADLIBES = -lpng -lpthread |
21 |
21 |
22 # output name |
22 # output name |
23 DIST_NAME = pngtile-${shell hg id -i} |
23 DIST_NAME = pngtile-${shell hg id -i} |
24 DIST_DEPS = python/pypngtile.c |
24 DIST_DEPS = |
25 DIST_RESOURCES = README python/ pngtile/ static/ bin/ |
25 DIST_RESOURCES = README pngtile/ static/ bin/ |
26 |
26 |
27 all: depend lib/libpngtile.so bin/pngtile lib/pypngtile.so |
27 all: depend lib/libpngtile.so bin/pngtile |
28 |
28 |
29 lib/libpngtile.so : \ |
29 lib/libpngtile.so : \ |
30 build/obj/lib/ctx.o build/obj/lib/image.o build/obj/lib/cache.o build/obj/lib/tile.o build/obj/lib/png.o build/obj/lib/error.o \ |
30 build/obj/lib/ctx.o build/obj/lib/image.o build/obj/lib/cache.o build/obj/lib/tile.o build/obj/lib/png.o build/obj/lib/error.o \ |
31 build/obj/shared/util.o build/obj/shared/log.o |
31 build/obj/shared/util.o build/obj/shared/log.o |
32 |
32 |
33 lib/libpngtile.a : \ |
33 lib/libpngtile.a : \ |
34 build/obj/lib/ctx.o build/obj/lib/image.o build/obj/lib/cache.o build/obj/lib/tile.o build/obj/lib/png.o build/obj/lib/error.o \ |
34 build/obj/lib/ctx.o build/obj/lib/image.o build/obj/lib/cache.o build/obj/lib/tile.o build/obj/lib/png.o build/obj/lib/error.o \ |
35 build/obj/shared/util.o build/obj/shared/log.o |
35 build/obj/shared/util.o build/obj/shared/log.o |
36 |
|
37 lib/pypngtile.so : \ |
|
38 lib/libpngtile.so |
|
39 |
36 |
40 bin/pngtile : \ |
37 bin/pngtile : \ |
41 build/obj/pngtile/main.o \ |
38 build/obj/pngtile/main.o \ |
42 lib/libpngtile.so build/obj/shared/log.o |
39 lib/libpngtile.so build/obj/shared/log.o |
43 |
40 |
54 dist-clean : clean dirs |
51 dist-clean : clean dirs |
55 |
52 |
56 dirs: |
53 dirs: |
57 mkdir -p bin lib dist |
54 mkdir -p bin lib dist |
58 mkdir -p $(SRC_DIRS:%=build/deps/%) |
55 mkdir -p $(SRC_DIRS:%=build/deps/%) |
59 mkdir -p $(SRC_DIRS:%=build/obj/%) build/obj/python |
56 mkdir -p $(SRC_DIRS:%=build/obj/%) |
60 |
57 |
61 clean: |
58 clean: |
62 rm -f build/obj/*/*.o build/deps/*/*.d |
59 rm -f build/obj/*/*.o build/deps/*/*.d |
63 rm -f bin/pngtile bin/pngtile-static lib/*.so lib/*.a |
60 rm -f bin/pngtile bin/pngtile-static lib/*.so lib/*.a |
64 rm -f pngtile/*.pyc |
|
65 rm -f */.*.swp */*/.*.swp |
61 rm -f */.*.swp */*/.*.swp |
66 |
62 |
67 # .h dependencies |
63 # .h dependencies |
68 depend: $(SRC_NAMES:%.c=build/deps/%.d) |
64 depend: $(SRC_NAMES:%.c=build/deps/%.d) |
69 |
65 |
97 $(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@ |
93 $(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@ |
98 |
94 |
99 lib/lib%.a : |
95 lib/lib%.a : |
100 $(AR) rc $@ $+ |
96 $(AR) rc $@ $+ |
101 |
97 |
102 python/%.c : python/%.pyx |
|
103 cython -o $@ $< |
|
104 |
|
105 build/obj/python/%.o : python/%.c |
|
106 $(CC) -c -fPIC -I/usr/include/python2.5 $(CPPFLAGS) $(CFLAGS) $< -o $@ |
|
107 |
|
108 lib/py%.so : build/obj/python/py%.o |
|
109 $(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@ |
|
110 |
|
111 dist: $(DIST_DEPS) |
98 dist: $(DIST_DEPS) |
112 rm -rf dist/$(DIST_NAME) |
99 rm -rf dist/$(DIST_NAME) |
113 mkdir -p dist/$(DIST_NAME) |
100 mkdir -p dist/$(DIST_NAME) |
114 cp -rv Makefile $(DIST_RESOURCES) src/ include/ dist/$(DIST_NAME)/ |
101 cp -rv Makefile $(DIST_RESOURCES) src/ include/ dist/$(DIST_NAME)/ |
115 make -C dist/$(DIST_NAME) dist-clean |
102 make -C dist/$(DIST_NAME) dist-clean |