一个简单的Makefile的编写实例

首先直接上代码实例

#Makefile文件
#同时生成client server两个可执行文件

CC 		    = gcc
CXX		    = g++
INCLUDEPATH = -I../header
FLAG		= -g  -o
CLIENT		= client.o \
			  controlclient.o \
			  logger.o \
			  register.o \
			  mainwindow.o \
			  managerclient.o \
			  login.o
SERVER		= server.o \
			  controlserver.o \
			  logger.o \
			  storage.o \
			  managerserver.o
COBJECT		= $(CLIENT) -o  client
SOBJECT		= $(SERVER) -o  server
TARGET		= client server
LIB			= -lpthread -lmysqlclient -std=c++11
CLEAN		= rm *.o

all:$(TARGET)

#create client
client:$(CLIENT)
	$(CXX)  $(COBJECT) 	$(LIB)   #生成client可执行文件

client.o:client.cpp 
	$(CXX) -c client.cpp $(INCLUDEPATH)  $(FLAG) client.o 

controlclient.o:controlclient.cpp 
	$(CXX) -c controlclient.cpp $(INCLUDEPATH) $(FLAG) controlclient.o

register.o:register.cpp
	$(CXX) -c register.cpp $(INCLUDEPATH) $(FLAG) register.o

mainwindow.o:mainwindow.cpp
	$(CXX) -c mainwindow.cpp $(INCLUDEPATH) $(FLAG) mainwindow.o

managerclient.o:managerclient.cpp
	$(CXX) -c managerclient.cpp $(INCLUDEPATH) $(FLAG) managerclient.o

login.o:login.cpp
	$(CXX) -c login.cpp $(INCLUDEPATH) $(FLAG) login.o

logger.o:logger.cpp
	$(CXX) -c logger.cpp $(INCLUDEPATH) $(FLAG) logger.o

#create server
server:$(SERVER)
	$(CXX) $(SOBJECT) $(LIB)         #生成server可执行文件

server.o:server.cpp
	$(CXX) -c server.cpp $(INCLUDEPATH) $(FLAG) server.o

controlserver.o:controlserver.cpp
	$(CXX) -c controlserver.cpp $(INCLUDEPATH) $(FLAG) controlserver.o

storage.o:storage.cpp
	$(CXX) -c storage.cpp $(INCLUDEPATH) $(FLAG) storage.o

managerserver.o:managerserver.cpp
	$(CXX) -c managerserver.cpp $(INCLUDEPATH) $(FLAG) managerserver.o

clean:
	$(CLEAN)

注意:
本实例意在生成两个可执行文件client和server,所以开头用 all: 来表示两个需要生成的可执行文件
变量的定义为:变量名 = 语句/单词
变量的引用: $(变量)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值