modify makefile

This commit is contained in:
gwdwyy 2013-07-11 16:44:17 +08:00
parent bd030a412d
commit e00eb14468

View File

@ -3,33 +3,34 @@ CCOPT = -Wall -c
LINK = g++ LINK = g++
LINKOPT = LINKOPT =
PACKA = ar PACKA = ar
PARCAOPT = rc PACKAOPT = rc
DOLINK = $(LINK) $(LINKOPT) -o $@ $^ DOLINK = $(LINK) $(LINKOPT) -o $@ $^
DOPACK = $(PACKA) $(PACKAOPT) $@ $?
SOURCES := $(wildcard *.cpp) SOURCES := $(wildcard *.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) OBJS := $(patsubst %.cpp,%.o,$(SOURCES))
CMDIR = ./cppcommon CMDIR = ./cppcommon
CMLIB = $(CMDIR)/cmlib.a CMLIB = $(CMDIR)/cmlib.a
CMLIB_DEPS := $(wildcard $(CMDIR)/*)
LIBA = cppjiebalib.a
# remove the objs after compilation # remove the objs after compilation
.INTERMEDIATE: .INTERMEDIATE:
.PHONY: clean .PHONY: clean $(CMLIB)
all: $(LIBA)
# This is a suffix rule # This is a suffix rule
#.c.o: #.c.o:
%.o: %.cpp %.o: %.cpp
$(CC) $(CCOPT) $< $(CC) $(CCOPT) $<
# Main Targets
all: main
$(LIBA): $(OBJS) $(CMLIB)
$(DOPACK)
main: $(OBJS) $(CMLIB) $(CMLIB):
$(DOLINK)
$(CMLIB): $(CMLIB_DEPS)
cd $(CMDIR) && $(MAKE) cd $(CMDIR) && $(MAKE)
#unit test #unit test
@ -39,9 +40,8 @@ Trie.ut: Trie.cpp Trie.h globals.h $(CMLIB)
Segment.ut: Segment.cpp Trie.cpp Segment.h Trie.h globals.h $(CMLIB) Segment.ut: Segment.cpp Trie.cpp Segment.h Trie.h globals.h $(CMLIB)
$(CC) -o $@ Segment.cpp Trie.cpp -DSEGMENT_UT $(CMLIB) $(CC) -o $@ Segment.cpp Trie.cpp -DSEGMENT_UT $(CMLIB)
clean: clean:
rm -f *.o *.d *.ut main rm -f *.o *.d *.ut $(LIBA)
cd $(CMDIR) && make clean cd $(CMDIR) && make clean
sinclude $(SOURCES:.cpp=.d) sinclude $(SOURCES:.cpp=.d)