Makfile总结( 三 )

其他函数循环函数foreachforeach函数的主要使用规则为:
$(foreach <var>,<list>,<text>)我们直接使用一个例子来说明这个情况:
files = a.c b.c c.c d.cnew_files = $(foreach n, $(files), $(n)pp)main: demo.c echo $(new_files)call函数call函数在makefile当中可以用于调用我们自定义的一个表达式,他的语法个数如下面所示:
$(call <expression>,<parm1>,<parm2>,...,<parmn>)

  • 表示定义的表达式的名字 。
  • 表示第n个参数,我们在当中可以使用$(n)进行引用 。
a=a.cb=b.cc=$(a)-------$(b)main: demo.c echo $(c)在makefile当中使用shell函数我们在makefile的表达式当中可以使用shell的函数 。
比如现在我们有一个文件叫做test.txt,文件的内容如下所示:
a.c b.c c.c d.ccontent=$(shell cat test.txt) # 将shell命令的输出内容赋给contentmain: demo.c echo $(content) # 输出contentorigin函数origin这个函数主要是返回变量的定义方式,使用格式如下:
$(origin <variable>) # 其中 variable 是变量名字 这里不需要使用 $ 符号去引用error函数在makefile当中我们可以使用error函数让makefie停止执行 。当我们有需求:让在某种条件下让makefile停止编译
data=https://www.huyubaike.com/biancheng/dataifeq ($(data), data)$(error"data =https://www.huyubaike.com/biancheng/= data")endifmain: main.c gcc main.c除此之外还有个warning函数使用方法和error一样!
总结在本篇文章当中主要给大家总结了一些常见的makefile的使用方法,方便大家查阅复习!
以上就是本篇文章的所有内容了,我是LeHung,我们下期再见!!!更多精彩内容合集可访问项目:https://github.com/Chang-LeHung/CSCore
关注公众号:一无是处的研究僧,了解更多计算机(Java、Python、计算机系统基础、算法与数据结构)知识 。
【Makfile总结】

经验总结扩展阅读