一个简单项目的makefile,带有客户端,lib,服务端,测试

test = test
ALL: client server libser.so
.SUFFIXES:.o .C .cxx .cpp
CC = g++ -g
CXXFLAGS = -fPIC -D_PROC_INV  -D_DEBUG
FJ_FLAG = 
MK_SO = -shared -fPIC -fpermissive
CP = install

PROG = .
INCDIR = -I. 
LIBDIR = -L$(HOME)/lib -L$(HOME)/src/lib
LIBS = -ldl 
LIBS_SRVS = 
LIBS_CLIENT = 
LIB_SEARCH = -Wl,-rpath=$(HOME)/lib
OBJDIR = $(PROG)/obj

#测试代码依赖.o
TESTOBJ = test.o

#lib依赖.o
LIBOBJS = lib.o 

#服务.o 
OBJ_D_ME_SRV = tool.o

OBJ_D_ME_SRV_MAIN = server.o

#客户端.o
OBJ_D_ME_CLI = client.o


VPATH = $(PROG)/server:$(PROG)/mdl:$(PROG)/client:$(PROG)/obj:$(PROG)/test

.cpp.o:
	$(CC) $(CXXFLAGS) $(FJ_FLAG)  $(INCDIR) -c $< -o $(OBJDIR)/$(@F)
	@echo "********" $< is builded ok. "********"
	@echo ""


libser.so:$(LIBOBJS)
	cd $(OBJDIR);$(CC) $(MK_SO) $(CXXFLAGS) $(FJ_FLAG) -o ../bin/$@ $(LIBOBJS) $(LIBDIR) $(LIBS) $(LIB_SEARCH)
	@echo "********" $@ is link ok. "********"
	@echo "" 

server : $(OBJ_D_ME_SRV) $(OBJ_D_ME_SRV_MAIN)
	cd $(OBJDIR);$(CC) $(CXXFLAGS) $(FJ_FLAG) -o ../bin/$@ $(OBJ_D_ME_SRV) $(OBJ_D_ME_SRV_MAIN) $(LIBDIR) $(LIBS) $(LIBS_SRVS) $(LIB_SEARCH)
	@echo "********" $@ is link ok. "********"
	@echo "" 

client : $(OBJ_D_ME_CLI) $(LIBOBJS) 
	cd $(OBJDIR);$(CC) $(CXXFLAGS) $(FJ_FLAG) -o ../bin/$@ $(OBJ_D_ME_CLI) $(LIBOBJS)  $(LIBDIR) $(LIBS) $(LIBS_SRVS) $(LIB_SEARCH)
	@echo "********" $@ is link ok. "********"
	@echo "" 

$(test):$(TESTOBJ) $(OBJ_D_ME_SRV)
	cd $(OBJDIR);$(CC) -o ../bin/$@ $(patsubst %,%.o,$@) $(OBJ_D_ME_SRV) $(LIBDIR) $(LIBS) $(LIBS_SRVS) -ld_mod_data_manange_client $(INCDIR) $(LIB_SEARCH)
	@echo "********" $@ is builded ok. "********"
	@echo ""


clean:
	rm -rf $(OBJDIR)/*.o
	
installso:

.PHONY:TEST
TEST:$(test)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值