脚本宝典收集整理的这篇文章主要介绍了Makefile学习笔记,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
make
命令就能实现整个工程的编译。文件命名:makefile
或者Makefile
Makefile规则
命令在执行前,需要先检查规则中的依赖是否存在
检测更新,在执行规则中的命令时,会比较目标和依赖文件的时间
VAR=hello
$(var)
AR
: 归档维护程序的名称,默认值为 ar
CC
: C 编译器的名称,默认值为 cc
CXX
: C++ 编译器的名称,默认值为 g++
$@
: 目标的完整名称
$<
: 第一个依赖文件的名称
$^
: 所有的依赖文件$(变量名)
app:main.c a.c b.c
gcc -c main.c a.c b.c
#自动变量只能在规则的命令中使用
app:main.c a.c b.c
$(CC) -c $^ -o $@
%.o:%.c
%
:通配符,匹配一个字符串%
匹配的是同一个字符串%.o:%.c
gcc -c $< -o $@
$(wildcard PATTERN...)
$(wildcard *.c ./sub/*.c)
返回值格式: a.c b.c c.c d.c e.c f.c
$(patsubst <pattern>,<replacement>,<text>)
<text>
中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式<pattern>
,如果匹配的话,则以<replacement>
替换。<pattern>
可以包括通配符%
,表示任意长度的字串。如果<replacement>
中也包含%
,那么,<replacement>
中的这个%
将是<pattern>
中的那个%
所代表的字串。(可以用
来转义,以%
来表示真实含义的%
字符)$(patsubst %.c, %.o, x.c bar.c)
返回值格式: x.o bar.o
以上是脚本宝典为你收集整理的Makefile学习笔记全部内容,希望文章能够帮你解决Makefile学习笔记所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。