makefile模板(生成.so)

# Make command to use for dependencies
RM=rm
MKDIR=mkdir

OUTDIR=_obj
SODIR=./bin
LIBNAME=pdk_ai.so
OUTFILE=$(SODIR)/$(LIBNAME)
INC=-I../../../../lib/svrlib/include -I../../../../lib/tinyxml -I../../../include 
LIB=-lpthread -lrt -ldl 

#obj dir
TINYXML=../../../../lib/tinyxml
EXEFILE=$(EXEDIR)/$(APP)
SRC := $(wildcard *.cpp $(TINYXML)/*.cpp)
OBJ := $(patsubst %.cpp, $(OUTDIR)/%.o, $(notdir ${SRC}))
	
	
COMPILE=g++ -c -o "$(OUTDIR)/$(*F).o" $(INC) -fPIC -w "$<"
LINK=g++ -o "$(OUTFILE)" $(OBJ) $(LIB) -shared -fPIC

# Pattern rules
$(OUTDIR)/%.o : $(TINYXML)/%.cpp
	$(COMPILE)

$(OUTDIR)/%.o : ./%.cpp
	$(COMPILE)
	
# Build rules
all: $(OUTFILE)

$(OUTFILE): $(OUTDIR)  $(OBJ)
	$(LINK)
#	sh sh_ver.sh ./win/svrlib.rc $(OUTFILE)   #update ver. ( read by "readelf -h libsvr.so")
#	sh sh_tar.sh  ./win/*.rc  $(SODIR)  $(LIBNAME) #tar file

$(OUTDIR):
	$(MKDIR) -p "$(OUTDIR)"
	$(MKDIR) -p "$(SODIR)"
	
# Rebuild this project
rebuild: cleanall all

# Clean this project
clean:
	$(RM) -f $(OUTFILE)
	$(RM) -f $(OBJ)

# Clean this project and all dependencies
cleanall: clean

 

转载于:https://www.cnblogs.com/kangbry/p/4013490.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值