update makefile

This commit is contained in:
gwdwyy 2013-08-02 20:52:35 +08:00
parent df4a543270
commit 76308730fe
2 changed files with 23 additions and 11 deletions

View File

@ -1,10 +1,22 @@
CC = g++ CXX := g++
CCOPT = -Wall -c LD := g++
LINK = g++ AR := ar rc
LINKOPT =
PACKA = ar INCS := -I. -I./cppcommon
PARCAOPT = rc
DOLINK = $(LINK) $(LINKOPT) -o $@ $^ 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
DOLINK := $(LD) $(LDFLAGS)
DOPACK := $(AR)
SOURCES := $(wildcard *.cpp) SOURCES := $(wildcard *.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) OBJS := $(patsubst %.cpp,%.o,$(SOURCES))
@ -21,20 +33,21 @@ all: demo
# This is a suffix rule # This is a suffix rule
#.c.o: #.c.o:
%.o: %.cpp %.o: %.cpp
$(CC) $(CCOPT) $< $(CXX) -c $(CXXFLAGS) $<
demo: $(OBJS) $(SRCLIB) demo: $(OBJS) $(SRCLIB)
$(DOLINK) $(DOLINK) -o $@ $^
$(SRCLIB): $(SRCLIB):
cd $(SRCDIR) && $(MAKE) cd $(SRCDIR) && $(MAKE)
clean: clean:
rm -f *.o *.ut demo rm -f *.o *.ut demo
cd $(SRCDIR) && make clean
sinclude $(SOURCES:.cpp=.d) sinclude $(SOURCES:.cpp=.d)
%.d:%.cpp %.d:%.cpp
@set -e; rm -f $@; \ @set -e; rm -f $@; \
$(CC) -MM $< > $@.$$$$; \ $(CXX) -MM $< > $@.$$$$; \
sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$ rm -f $@.$$$$

View File

@ -1,4 +1,3 @@
CXX := g++ CXX := g++
LD := g++ LD := g++
AR := ar rc AR := ar rc