Makefile

本文详细介绍了如何使用Makefile进行自动化编译和链接,包括在当前目录及子目录下查找并编译C源文件,生成目标文件,最终链接成可执行文件a.out。文中展示了Makefile的基本语法,如变量定义、依赖规则和目标规则等,适用于初学者快速上手Makefile。

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

Makefile
在当前文件下生成

src = $(wildcard *.c)
obj = $(patsubst %.c, %.o, $(src))

target = a.out

all:$(target)
$(target) : $(obj)
	gcc $(obj) -o a.out
	
main.o:main.c
	gcc -c main.c -o main.o
	
add.o:add.c
	gcc -c add.c -o add.o
	
sub.o:sub.c
	gcc -c sub.c -o sub.o
	
mul.o:mul.c
	gcc -c mul.c -o mul.o
	
clean:
	rm -rf $(target) $(obj)

在指定文件下生成

src = $(wildcard ./src/*.c)        
obj = $(patsubst ./src%.c, ./obj/%.o, $(src))  

target = ./bin/a.out

all:$(target)

$(target):$(obj)
	gcc $(^) -o $(@)   

$(obj):./obj/%.o:./src/%.c
	gcc -c $(^) -I ./include -o $(@)  
	
.PHONY:clean all
clean:
	-rm -rf $(target) $(obj)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值