makefile函数和特殊变量和变量

我们这里只要介绍makefile中的两个函数(makefile中不止两个函数)

在makefill中所有函数都是有返回值的 必须拿到这个返回值

(和shell中的函数不同,shell函数中函数没有返回值和参数表,但是可以像调用

程序一样输入命令行(可以理解成参数),进程的结束状态(int类型)可以变相理解成返回值,这些在前面的章节 我们

已经介绍过了)

1.wildcard函数

和变量一样要加 $来获取值, ()括起来然后函数名(wildcard 参数)

src=$(wildcard ./*.c) 表示当前路劲下的所有  .c   文件

2.patsubst函数

这个函数是一个替换函数

obj=$(patsubst  ./%.c  ./%.o  $(src))表示把$(src)所有的 .c 文件 都替换成 .o 文件

可能这样说起来比较干,那我们来实现一个简单的demo看一下

效果:

不急让我们一一讲解其中的一些关键字

变量  src rely  target的取值 我就不用多说了 把 用 $()

makefile中的特殊变量

$<:规则中的第一依赖

$@:规则的目标

$^:规则中的所有依赖

只能在规则的命令中使用

makefile中还提供了一些大写的变量

接下来 说说这个 .PHONY:clean

他表示声明 clean 为一个伪目标(在运行前执行)

更多的C/C++ linux编程我会在下面的文章中陆续的分享,也可以关注‘奇牛学院’

来一起讨论

猜你喜欢

转载自blog.csdn.net/qq_44065088/article/details/106869113
今日推荐