linux之系统编程 makefile 2个函数和clean
1.makefie 2个函数:wildcard 和patsubst
src=$(wildcard *.c);找到当前目录下所有后缀为.c的文件赋值给src (wildcard是一个通配符)
obj=$(patsubst %.c,%.c,$(src)):把src变量里所有后缀为.c的文件替换成.o,是将参数3中包含参数1的部分,替换为参数2
2.clean后面可以跟删除文件的动作,他是没有依赖的,如:
clean:
- rm -rf $(obj)a.out rm前面的-作用是删除不存在的文件时,不报错,顺序执行结束。
3.3个自动变量:
$@:在规则的命令中,表示规则中的目标;
$<:在规则的命令中,表示第一个依赖条件,如果将该变量应用在模式规则中,它可以将依赖条件列表中的依赖一次取出,套用模式规则。
$^:在规则的命令中,表示所有依赖条件.
4.模式规则
%.o:%.c
gcc -c $< $@
5.静态模式规则
$(obj):%.o:%.c
gcc -c $< $@
伪目标
.PHONY: clean ALL
警告命令:(可以在命令后面加入如下参数)
-Wall -g
相关推荐
-
「PHP」MVC框架是什么?为什么要用它2025-02-25 00:25:41
-
如何用PHP写一个比较安全的API系统(实现)2025-02-25 00:19:49
-
php 解析url获取相关信息2025-02-25 00:15:37
-
mysql命令总结和PyMysql2025-02-25 00:11:35
-
MySQL特性:深入理解ICP2025-02-25 00:11:07