makefile学习整理

本文介绍了Makefile的基础知识,包括Windows和Linux下的库文件格式,如.lib和.a。讲解了Makefile中目标依赖、.PHONY伪目标、编译命令以及特殊符号的使用,如自动推导规则和变量替换。通过Makefile,可以自动化编译过程并管理项目构建。

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

库文件
在windows下 是.lib
在linux下是.a

目标:依赖文件
需要执行的命令(任意的shell命令)必须以Tab键作为开头
如果冒号后面没有指定依赖文件,就不会自动执行,例如clean

makefile会自动推到 [.o] = [.c],所以可以省略

例如 main.o : main.c def.h
gcc -c main.c
可以直接写成 main.o : def.h
gcc -c main.c

gcc -c main.c 也可以忽略,可以自动推倒
例如 main.o : main.c def.h
可以直接写成 main.o : def.h

关键字 .PHONY
.PHONY : clean
.PHONY 意思表示clean是一个伪目标
-rm edit 前面加一个减号的意思就是 某些文件出现问题,依然可以继续坐后面的事

注释用 “#”

Make -f file 指定make的对应文件
Make -I 指定include的文件
< ” 表 示 所 有 的 依 赖 目 标 集 ( 也 就 是 “ f o o . c b a r . c ” ) , “ <”表示所有的依赖目标集(也就是“foo.c bar.c”), “ <foo.cbar.c@”表示目
标集(也就是“foo.o bar.o”)

在这里插入图片描述
命令执行: 执行两条命令时,如果想第二条命令在第一条命令的基础上执行,就需要用分号“;”,并且写到同一行
例如:
exec:
cd /home/hchen; pwd

makefile中一些特殊符号的使用,查百度知晓
$(var:a=b) 表示var中a字符用b替换

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值