Makefile 范例,支持多程序

这个Makefile范例展示了如何配置编译多个程序,包括ftpclient和ftpserver。用户可以修改SRC_DIR和INC_DIR来指定源代码和头文件路径。编译选项包括-Wall、-O和-g。通过$(cc)、$(CFLAGS)和vpath规则,Makefile能处理源文件和头文件的位置。清理目标clean会删除所有的.o文件和最终的可执行程序。

#Author:cinience@gmail.com
#edit "src" to your path,it include your c source file
SRC_DIR =.

#edit "inc" to your path,it include your c header file
INC_DIR =.

#edit your .o file
OBJECTS01 = ftpclient.o
OBJECTS02 = chklogin.o clientinfo.o ftpserver.o

#edit your app name
TARGETS01 = client
TARGETS02 = server

#edit your complie
cc = gcc

#edit
CFLAGS = -Wall -O -g

#VPATH = src:inc
vpath %.c $(SRC_DIR)
vpath %.h $(INC_DIR)

all : $(TARGETS01)  $(TARGETS02)

#edit "myapp" to your app name
$(TARGETS01) : $(OBJECTS01)
    $(cc) $^ $(CFLAGS) -o $@
$(OBJECTS) : %.o : %.c
    $(cc) $(CFLAGS) -c $< -I$(INC_DIR)

$(TARGETS02) : $(OBJECTS02)
    $(cc)  $^ $(CFLAGS) -o $@ -lphread -lmysqlclient
$(OBJECTS) : %.o : %.c
    $(cc) $(CFLAGS) -c $< -I$(INC_DIR)

.PHONY : clean
clean :
    -rm -f *.o $(TARGETS01) $(TARGETS02)

 

 

如果不需要支持多程序编译,只需屏蔽相应的即可

如果还需要支持更多程序,类似的添加即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值