diff --git a/CMakeLists.txt b/CMakeLists.txt index d802ac8..098febd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ PROJECT(CPPJIEBA) ADD_SUBDIRECTORY(cppjieba) ADD_SUBDIRECTORY(husky) -ADD_SUBDIRECTORY(limonp) +ADD_SUBDIRECTORY(demo) diff --git a/cppjieba/CMakeLists.txt b/cppjieba/CMakeLists.txt index cac5c4d..81bae4f 100644 --- a/cppjieba/CMakeLists.txt +++ b/cppjieba/CMakeLists.txt @@ -1 +1,3 @@ -ADD_LIBRARY(cppjieba) +SET(LIBCPPJIEBA_SRC HMMSegment.cpp KeyWordExt.cpp MixSegment.cpp MPSegment.cpp Trie.cpp) +INCLUDE_DIRECTORIES(../limonp) +ADD_LIBRARY(cppjieba SHARED ${LIBCPPJIEBA_SRC}) diff --git a/cppjieba/Makefile b/cppjieba/Makefile deleted file mode 100644 index c4febcf..0000000 --- a/cppjieba/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -CXX := g++ -LD := g++ -AR := ar rc - -DEBUG_CXXFLAGS := -g -Wall -DDEBUG -RELEASE_CXXFLAGS := -Wall -O3 - -ifeq (YES, ${RELEASE}) - CXXFLAGS := ${RELEASE_CXXFLAGS} - LDFLAGS := ${RELEASE_LDFLAGS} -else - CXXFLAGS := ${DEBUG_CXXFLAGS} - LDFLAGS := ${DEBUG_LDFLAGS} -endif - -SOURCES := $(wildcard *.cpp) -OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) - -INC := -I../limonp - -LIBA := libcppjieba.a - -# remove the objs after compilation -.INTERMEDIATE: -#.PHONY: clean $(CMLIB) -.PHONY: clean - -all: $(LIBA) - -# This is a suffix rule -#.c.o: -%.o: %.cpp - $(CXX) -c $(CXXFLAGS) $< $(INC) - - -${LIBA}: $(OBJS) - $(AR) $@ $(OBJS) - -#unit test -Trie.ut: Trie.cpp Trie.h globals.h TransCode.cpp TransCode.hpp $(CMLIB) - $(CXX) -o $@ $(CXXFLAGS) Trie.cpp TransCode.cpp -DTRIE_UT $(CMLIB) - -MPSegment.ut: MPSegment.cpp Trie.cpp MPSegment.h Trie.h globals.h $(CMLIB) - $(CXX) -o $@ $(CXXFLAGS) MPSegment.cpp Trie.cpp TransCode.cpp -DSEGMENT_UT $(CMLIB) - -KeyWordExt.ut: KeyWordExt.cpp KeyWordExt.h MPSegment.h Trie.h globals.h TransCode.cpp TransCode.hpp $(CMLIB) - $(CXX) -o $@ $(CXXFLAGS) KeyWordExt.cpp MPSegment.cpp Trie.cpp TransCode.cpp -DKEYWORDEXT_UT $(CMLIB) - -TransCode.ut: TransCode.cpp TransCode.hpp globals.h $(CMLIB) - $(CXX) -o $@ $(CXXFLAGS) TransCode.cpp -DCPPJIEBA_TRANSCODE_UT $(CMLIB) -HMMSegment.ut: HMMSegment.cpp TransCode.cpp TransCode.hpp HMMSegment.h $(CMLIB) - $(CXX) -o $@ $(CXXFLAGS) TransCode.cpp HMMSegment.cpp -DHMMSEGMENT_UT $(CMLIB) -MixSegment.ut: MixSegment.cpp MixSegment.h HMMSegment.cpp MPSegment.cpp Trie.cpp MPSegment.h Trie.h globals.h $(CMLIB) - $(CXX) -o $@ $(CXXFLAGS) MixSegment.cpp HMMSegment.cpp MPSegment.cpp Trie.cpp TransCode.cpp -DMIXSEGMENT_UT $(CMLIB) -ChineseFilter.ut: ChineseFilter.cpp ChineseFilter.hpp - $(CXX) -o $@ $(CXXFLAGS) ChineseFilter.cpp -DUT - -clean: - rm -f *.o *.d *.d.* *.ut $(LIBA) - -sinclude $(SOURCES:.cpp=.d) -%.d:%.cpp - @set -e; rm -f $@; \ - $(CXX) -MM $< > $@.$$$$; \ - sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ - rm -f $@.$$$$ diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt new file mode 100644 index 0000000..8cd1fc2 --- /dev/null +++ b/demo/CMakeLists.txt @@ -0,0 +1,8 @@ +ADD_EXECUTABLE(segment.demo segment.cpp) +ADD_EXECUTABLE(server.demo server.cpp) +ADD_EXECUTABLE(keywordext.demo keywordext.cpp) +INCLUDE_DIRECTORIES(../limonp ../cppjieba ../husky) +LINK_DIRECTORIES(../cppjieba ../husky) +TARGET_LINK_LIBRARIES(segment.demo cppjieba) +TARGET_LINK_LIBRARIES(server.demo cppjieba husky -lpthread) +TARGET_LINK_LIBRARIES(keywordext.demo cppjieba) diff --git a/demo/Makefile b/demo/Makefile deleted file mode 100644 index a305a01..0000000 --- a/demo/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -CXX := g++ -LD := g++ -AR := ar rc - - -DEBUG_CXXFLAGS := -g -Wall -DDEBUG -RELEASE_CXXFLAGS := -Wall -O3 - -ifeq (YES, ${DEBUG}) - CXXFLAGS := ${DEBUG_CXXFLAGS} - LDFLAGS := ${DEBUG_LDFLAGS} -else - CXXFLAGS := ${RELEASE_CXXFLAGS} - LDFLAGS := ${RELEASE_LDFLAGS} -endif - -INCS := -I../limonp -LINK := -lpthread - -SOURCES := $(wildcard *.cpp) -OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) -DEMOS := $(patsubst %.cpp,%.demo,$(SOURCES)) - -CPPJIEBADIR := ../cppjieba -LIBCPPJIEBA := $(CPPJIEBADIR)/libcppjieba.a - -HUSKYDIR := ../husky -LIBHUSKYA := $(HUSKYDIR)/libhusky.a - -.PHONY: clean $(LIBCPPJIEBA) - -all: $(DEMOS) - -%.demo: %.cpp $(LIBCPPJIEBA) $(LIBHUSKYA) - $(CXX) -o $@ $(CXXFLAGS) $^ $(INCS) $(LINK) - -$(LIBCPPJIEBA): - cd $(CPPJIEBADIR) && $(MAKE) - -$(LIBHUSKYA): - cd $(HUSKYDIR) && $(MAKE) - -clean: - rm -f *.o *.ut *.d *.d.* $(DEMOS) - cd $(CPPJIEBADIR) && make clean - cd $(HUSKYDIR) && make clean - -sinclude $(SOURCES:.cpp=.d) -%.d:%.cpp - @set -e; rm -f $@; \ - $(CXX) -MM $< > $@.$$$$; \ - sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ - rm -f $@.$$$$ diff --git a/husky/CMakeLists.txt b/husky/CMakeLists.txt new file mode 100644 index 0000000..b968744 --- /dev/null +++ b/husky/CMakeLists.txt @@ -0,0 +1,3 @@ +SET(LIBHUSKY_SRC Daemon.cpp ServerFrame.cpp) +INCLUDE_DIRECTORIES(../limonp) +ADD_LIBRARY(husky SHARED ${LIBHUSKY_SRC}) diff --git a/husky/Makefile b/husky/Makefile deleted file mode 100644 index 84395f8..0000000 --- a/husky/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -CXX := g++ -LD := g++ -AR := ar rc - -DEBUG_CXXFLAGS := -g -Wall -DDEBUG -RELEASE_CXXFLAGS := -Wall -O3 - -ifeq (YES, ${RELEASE}) - CXXFLAGS := ${RELEASE_CXXFLAGS} - LDFLAGS := ${RELEASE_LDFLAGS} -else - CXXFLAGS := ${DEBUG_CXXFLAGS} - LDFLAGS := ${DEBUG_LDFLAGS} -endif - -DOLINK := $(LD) $(LDFLAGS) -o $@ $^ -DOPACK := $(AR) -SOURCES = $(wildcard *.cpp) -OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) - -INC := -I../limonp -LIBA := libhusky.a - -.PHONY: clean - -all: $(LIBA) - -%.o: %.cpp - $(CXX) -c $(CXXFLAGS) $< $(INC) - -${LIBA}: $(OBJS) - $(DOPACK) $@ $(OBJS) - -clean: - rm -f *.o *.d *.d.* $(LIBA) - -sinclude $(SOURCES:.cpp=.d) -%.d:%.cpp - @set -e; rm -f $@; \ - $(CXX) -MM $< > $@.$$$$; \ - sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ - rm -f $@.$$$$