1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
CC=gcc CPP=g++ CFLAGS:="-std=c++0x" "-Wall" "-g" -fpic C_HEADERS:=$(wildcard src/*.h) C_FILES:=$(wildcard src/*.cpp) TEST_H:=$(wildcard demo/*.h) TEST_C:=$(wildcard demo/*.cpp) OBJECTS:=$(addsuffix .o, $(basename $(C_FILES))) TEST_OBJECTS:=$(addsuffix .o, $(basename $(TEST_C))) INSTALL_PREFIX=/usr/local VERSION=0.1 ARCHIVE_FORMAT=tar.gz MKDIR=mkdir -p RM=rm -r all: libnoslib.so test #### lib libnoslib.so: prepareDir $(OBJECTS) $(CPP) -shared $(CFLAGS) $(OBJECTS) $(LIBS) $(LIB_DIRS) $(INCLUDE_DIRS) -o ./bin/$@ $(OBJECTS): %.o: %.cpp #### test check: test ./bin/test test: libnoslib.so $(TEST_OBJECTS) $(CPP) $(CFLAGS) $(TEST_OBJECTS) ./bin/libnoslib.so $(INCLUDE_DIRS) -o ./bin/$@ $(TEST_OBJECTS): %.o: %.cpp #### install install: prepare_install install ./bin/libnoslib.so $(INSTALL_PREFIX)/lib/libnoslib.so install ./N0Slib-install.h $(INSTALL_PREFIX)/include/N0Slib.h install $(C_HEADERS) $(INSTALL_PREFIX)/include/noslib/ prepare_install: patch_include_file $(MKDIR) $(INSTALL_PREFIX)/include/noslib $(MKDIR) $(INSTALL_PREFIX)/lib patch_include_file: cp N0Slib.h N0Slib-install.h sed -i s/src/noslib/ N0Slib-install.h #### release archive: git archive --format=$(ARCHIVE_FORMAT) --prefix=noslib/ HEAD > noslib-$(VERSION).$(ARCHIVE_FORMAT) publish_release: archive scp noslib-$(VERSION).$(ARCHIVE_FORMAT) "nee@pictor.uberspace.de:/var/www/virtual/nee/hidamari.blue/git/noslib/release/" #### util %.o: %.cpp $(CC) $(DEFINES) $(CFLAGS) -c $< -o $@ prepareDir: $(MKDIR) ./bin/ clean: $(RM) $(OBJECTS) ./bin/ N0Slib-install.h