Makefile项目实践

CXX=g++
CC=gcc


AR = ar
RAN = ranlib
AR_OPT = rvu
LIB = seg
SEG_LIB = libseg.a
inc = ./HTKLib
HTKLIB = $(inc)/HTKLib.a 


KYTEA_INC = -Ikytea/include  -Lkytea/lib -lkytea
KYTEA_LIB = #-Lkytea/lib -lkytea


CPPFLAGS =  -O1 $(OPTFLAGS) -I$(PWD) -I$(inc) -I./ $(KYTEA_INC) $(KYTEA_LIB) #-lstdc++ $(KYTEA_INC)
CCFLAGS =  -O1 $(OPTFLAGS) -I$(PWD) -I$(inc) $(KYTEA_INC) $(KYTEA_LIB) #-lstdc 


#LDFLAGS0 = -L(LIBEVENT) -levent -L$(LIBSPEEX) -lspeex -lm -lrt -pthread
LDFLAGS0 = -levent -lm -lrt -pthread -static 
LDFLAGS  = -L./ -l$(LIB) $(LDFLAGS0) $(KYTEAL_LIB)  $(KYTEA_INC) 


LIB_OBJ = $(objs) mysegapi.o


hvite_objs = hvitehttp.o HVite.o HViteAPI.h


############################################################


all:lib httpvite

httpvite: $(hvite_objs)  
$(CXX) $(CPPFLAGS) -c -o %.o   
$(CXX) $(LDFLAGS) -o httpvite $(hvite_objs) $(LDFLAGS)


lib: $(LIB_OBJ)
$(AR) $(AR_OPT) $(SEG_LIB) $(LIB_OBJ) 
$(RAN) $(SEG_LIB)


clean:
$(RM) *.o *.bak *~ core TAGS $(LIB_OBJ)


distclean:
$(RM) *.o *.bak *~ core TAGS

$(RM) seghttp 

注记:

(1)$(CXX) $(CPPFLAGS) -c -o %.o   ,使用隐含规则, 没有显示地写出目标规则,如,%.o : %c.c, %.o, 是当前目录下所有的能生成的目标文件, 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值