Makefile
changeset 114 6f4ac352009a
parent 109 acbe0086da3f
child 115 e4628dea2126
equal deleted inserted replaced
113:8b0f5cc117eb 114:6f4ac352009a
    52 
    52 
    53 dirs: 
    53 dirs: 
    54 	mkdir -p bin lib dist
    54 	mkdir -p bin lib dist
    55 	mkdir -p $(SRC_DIRS:%=build/deps/%)
    55 	mkdir -p $(SRC_DIRS:%=build/deps/%)
    56 	mkdir -p $(SRC_DIRS:%=build/obj/%)
    56 	mkdir -p $(SRC_DIRS:%=build/obj/%)
       
    57 	mkdir -p build/pyx
    57 
    58 
    58 clean:
    59 clean:
    59 	rm -f build/obj/*/*.o build/deps/*/*.d
    60 	rm -f build/obj/*/*.o build/deps/*/*.d build/pyx/*.c
    60 	rm -f bin/{pngtile,pngtile-static} lib/libpngtile.{a,so} run/*
    61 	rm -f bin/{pngtile,pngtile-static} lib/libpngtile.{a,so} run/*
    61 	rm -rf dist/*
    62 	rm -rf dist/*
    62 
    63 
    63 # .h dependencies
    64 # .h dependencies
    64 depend: $(SRC_NAMES:%.c=build/deps/%.d)
    65 depend: $(SRC_NAMES:%.c=build/deps/%.d)
    93 	$(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
    94 	$(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
    94 
    95 
    95 lib/lib%.a :
    96 lib/lib%.a :
    96 	$(AR) rc $@ $+
    97 	$(AR) rc $@ $+
    97 
    98 
    98 build/pyx/%.c : src/py/%.pyx
    99 build/pyx/%.c : python/%.pyx
    99 	cython -o $@ $<
   100 	cython -o $@ $<
   100 
   101 
   101 build/obj/py/%.o : build/pyx/%.c
   102 build/obj/py/%.o : build/pyx/%.c
   102 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
   103 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
   103 
   104 
   104 lib/py%.so : build/obj/py/%.o
   105 lib/py%.so : build/pyx/py%.c
   105 	$(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
   106 	$(CC) -I/usr/include/python2.5 -shared -fPIC $(CPPFLAGS) $(CFLAGS) $+ $(LDFLAGS) $(LOADLIBES) $(LDLIBS) -o $@
   106 
   107 
   107 dist:
   108 dist:
   108 	mkdir -p dist/$(DIST_NAME)
   109 	mkdir -p dist/$(DIST_NAME)
   109 	cp -rv Makefile $(DIST_RESOURCES) src/ include/ dist/$(DIST_NAME)/
   110 	cp -rv Makefile $(DIST_RESOURCES) src/ include/ dist/$(DIST_NAME)/
   110 	rm dist/$(DIST_NAME)/src/*/.*.sw[op]
   111 	rm dist/$(DIST_NAME)/src/*/.*.sw[op]