分享一个通用的MAKEFILE模板

本文详细解析了GCC编译配置文件,包括CC编译器的选择、CFLAGS预处理指令、LDFLAGS链接器参数、LDLIBS链接库设置、源文件通配符匹配、目标文件生成规则及依赖文件生成过程。深入理解这些配置有助于优化编译流程,提高软件开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CC      = arm-none-linux-gnueabi-gcc
CFLAGS  = -Wall -ffloat-store  -fPIC -Wunused -Dfar= -ggdb -D DEBUG 
LDFLAGS = -ggdb -Wall -Wl,-Map=$@.map
LDLIBS  = -lpthread -lc -lrt

srcs    = $(wildcard *.c) 
objs	= $(patsubst %.c,%.o,$(srcs))

target  = app_host

all : $(target)

$(target) : $(objs)
	$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)

%.o : %.c
	$(CC) $(CFLAGS) -c $< -o $@

%.d : %.c
	@set -e; rm -f $@; \
	$(CC) -M $< > $@.$$$$; \
	sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
	rm -f $@.$$$$

-include $(srcs:.c=.d)

.PHONY : clean

clean:
	-rm $(target) $(objs) *.d* *.map
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值