一种有规律多目标Makefile写法

本文介绍如何利用Makefile实现自动化编译过程,针对多个C++源文件(如a.cpp, b.cpp, c.cpp等),自动编译并生成对应的可执行文件(如abc.exe)。通过Makefile中的addsuffix和for循环功能,简化了源文件到可执行文件的转换流程。只需在bins变量中添加源文件名,即可轻松管理编译任务。

场景:有a.cpp b.cpp c.cpp….共计n个源文件,每个源文件要生成一个对应的名为a b c …的可执行文件。

Makefile示例:

CXX = g++
LIB = ../lib/source/libDs.a
INCLUDE = ../lib/include/
CFLAGS = -I$(INCLUDE)

bins =		a \
		b \
		c

all :
	for i in $(bins); do \
		$(CXX) -c $(CFLAGS) $(addsuffix .cpp, $$i) -o $(addsuffix .o, $$i); \
		$(CXX) -o $$i $(addsuffix .o, $$i) $(LIB); \
	done

clean : 
	for i in $(bins); do \
		rm -f $(addsuffix .o, $$i); \
		rm -f $$i; \
	done

主要就是利用addsuffix来处理这种有规律的匹配,再用for语句加以循环。以后每增加一个源文件,就在bins那里加一行即可。

转载于:https://www.cnblogs.com/guocai/archive/2012/07/23/2605309.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值