makefile解析

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*"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值