VERSION = 1.1.0.1
# A:Alpha B:Beta RC:Release Candidate R:Release
STAGE =
CC=g++
# "$" 变量替换
OBJFILES:=$(shell find ./ -iname '*.o')
DFILES:=$(DFILES1) $(DFILES2)
#SOURCE CODE wildcard 扩展通配符
CC_SRC=$(wildcard ./grc/*.cpp ./src/*.cpp ./command/*.cpp ./nvr/*.cpp ./rtp/*.cpp ./vapcmd/*.cpp ./vsp/*.cpp ./jrtplib3/*.cpp)
#OBJECTS patsubst 替换通配符
CC_OBJS=$(patsubst %.cpp,./build/%.o,$(CC_SRC))
OBJS=$(CC_OBJS)
#INCLUDE DIR 设置所有的头文件包含目录
INC_DIR= -I./comlib -I./comlib/include -I./comlib/SimpleTimer -I./comlib/include/utils -I./comlib/include/jrtplib3 -I./grc -I./src -I./cmd -I./command -I./rtp -I./vapcmd -I./vsp -I./nvr -I./RtspInterleaved -I./comlib/IHttpMessage
#LIB_DIR lib输出目录
LIB_DIR=-L./lib -L/usr/local/lib
#LIBS
LIBS=-lACE -lxml2 -lhttpclient -lhttpagent -lsimpletimer -lhttpmessage -lxmlparser \
-lvivs_core -lvivs_basic
LDFLAGS= $(LIB_DIR) $(LIBS)
CPPFLAGS=
CPPFLAGS= $(INC_DIR) $(DFLAGS)
EXE=iamdu
DIRS=./cmd ./src ./command
SOURCE=source
all:MESSAGE XMLTOOL HTTPCLIENT HTTPAGENT SIMPLETIMER $(EXE)
#all:$(EXE)
HTTPCLIENT:
cd comlib/IHttpClient;make;cp *.a ../../lib
HTTPAGENT:
cd comlib/HttpAgent;make;cp *.a ../../lib
SIMPLETIMER:
cd comlib/SimpleTimer;make;cp *.a ../../lib
MESSAGE:
cd comlib/IHttpMessage;make;cp *.a ../../lib
XMLTOOL:
cd comlib/xmltools;make;cp libxmlparser.a ../../lib
include $(DEPS)
$(EXE):$(OBJS)
$(CC) -o $@ $^ $(LDFLAGS)
./build/%.o:%.cpp
$(CC) -g -o $@ -c $< $(CPPFLAGS)
clean:
rm -f ${EXE}
rm -f $(DEPS)
rm -f lib/libhttpagent.a
rm -f lib/libhttpclient.a
rm -f lib/libhttpmessage.a
rm -f lib/libsimpletimer.a
rm -f lib/libxmlparser.a
rm -f $(CC_OBJS)
cd comlib/IHttpClient;make clean
cd comlib/HttpAgent;make clean
cd comlib/SimpleTimer;make clean
cd comlib/IHttpMessage;make clean
cd comlib/xmltools;make clean
re:
rm -f release/*$(EXE)*
rm -f release/lib/*
#delete debug info
#strip -s $(EXE)
cp $(EXE) release/
cp watchdog_$(EXE).pl release/
cp $(EXE).xml release/
cp vendors.xml release/
cp lib/*.so* release/lib
cd release; zip -r ../IAMDU_$(VERSION)$(STAGE)_SuseLinux10_X86_Bin.zip * -x "*svn*"