Makefile
changeset 115 e4628dea2126
parent 114 6f4ac352009a
child 116 6841b56e128b
equal deleted inserted replaced
114:6f4ac352009a 115:e4628dea2126
    51 .PHONY : dirs clean depend dist
    51 .PHONY : dirs clean depend dist
    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/%) build/obj/py
    57 	mkdir -p build/pyx
       
    58 
    57 
    59 clean:
    58 clean:
    60 	rm -f build/obj/*/*.o build/deps/*/*.d build/pyx/*.c
    59 	rm -f build/obj/*/*.o build/deps/*/*.d build/pyx/*.c
    61 	rm -f bin/{pngtile,pngtile-static} lib/libpngtile.{a,so} run/*
    60 	rm -f bin/{pngtile,pngtile-static} lib/libpngtile.{a,so} run/*
    62 	rm -rf dist/*
    61 	rm -rf dist/*
    94 	$(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
    93 	$(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
    95 
    94 
    96 lib/lib%.a :
    95 lib/lib%.a :
    97 	$(AR) rc $@ $+
    96 	$(AR) rc $@ $+
    98 
    97 
    99 build/pyx/%.c : python/%.pyx
    98 python/%.c : python/%.pyx
   100 	cython -o $@ $<
    99 	cython -o $@ $<
   101 
   100 
   102 build/obj/py/%.o : build/pyx/%.c
   101 build/obj/py/%.o : python/%.c
   103 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
   102 	$(CC) -c -fPIC -I/usr/include/python2.5 $(CPPFLAGS) $(CFLAGS) $< -o $@
   104 
   103 
   105 lib/py%.so : build/pyx/py%.c
   104 lib/py%.so : build/obj/py/py%.o
   106 	$(CC) -I/usr/include/python2.5 -shared -fPIC $(CPPFLAGS) $(CFLAGS) $+ $(LDFLAGS) $(LOADLIBES) $(LDLIBS) -o $@
   105 	$(CC) -shared $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
   107 
   106 
   108 dist:
   107 dist:
   109 	mkdir -p dist/$(DIST_NAME)
   108 	mkdir -p dist/$(DIST_NAME)
   110 	cp -rv Makefile $(DIST_RESOURCES) src/ include/ dist/$(DIST_NAME)/
   109 	cp -rv Makefile $(DIST_RESOURCES) src/ include/ dist/$(DIST_NAME)/
   111 	rm dist/$(DIST_NAME)/src/*/.*.sw[op]
   110 	rm dist/$(DIST_NAME)/src/*/.*.sw[op]