![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Makefile
文章平均质量分 91
C_LearnCup
这个作者很懒,什么都没留下…
展开
-
20230428Makefile系统
在Makefile中首先需要声明需要打包的文件列表,定义用于打包的文件和目录的变量定义打包文件的目标文件名及其依赖关系,编写归档命令(本案例用"tar"),并指定文件名为"myapp.tar"#或“c”:表示创建归档文件“z”:表示对归档文件进行gzip压缩“v”:表示显示进度信息“f”:表示指定输出文件。原创 2023-04-28 15:33:52 · 70 阅读 · 0 评论 -
20230427Makefile函数
注意:判断语句中可以调用函数,但最好不要使用自动化变量(如"$@"),因为"make"命令在读取Makefile时就计算判断结果并选定语句,而自动化变量在运行时才展开。上述示例中,定义了一个宏"FOO",使用"expr"命令计算两个参数的和,使用"call"调用宏"FOO"得到结果3。如果为1,则设置"CHLAGS"变量为"-g -O0",表示使用调试标志进行编译。上述示例中,将"aaBBCC"中的"aa"替换为"AA",得到"AABBCC"原创 2023-04-27 15:14:35 · 80 阅读 · 0 评论 -
20230425Makefile变量
上述示例中,将赋值式子"$($($(z)))“展开得到”$($(y))“→”$($(subst 1,2,$(x)))“→”$($(subst 1,2,var1))“→”$(var2)“→"Hello”上述示例中,定义了一个"$(foo)“变量,再把把”$(foo)“中所有以”.o"字符结尾的字符串全部替换成".c"结尾的字符串,也就是"a.c b.c c.c”上述示例中,通过给变量"x"不同赋值来决定"c_obj"的值为"a.c b.c c.c"或者"1.c 2.c 3.c"原创 2023-04-26 15:33:27 · 255 阅读 · 0 评论 -
20230424Makefile命令
make命令在执行时,会默认将所有的在终端上打印出来"@“字符用于控制命令的输出,可以禁止当前命令打印到终端上,仅输出执行的结果(不影响命令本身的执行)如果一个命令在前面加了”@“符号,那么该命令的执行结果不会显示在终端上如果没有”@"符号,则该命令的执行结果会显示在终端上"echo"命令用于将一个文本字符串打印到标准输出,通常用于显示一个消息,以调试Makefile文件这个例子将会打印以下内容第一行echo "Hello,World!“为echo命令的打印第二行Hello,World!为执行结原创 2023-04-25 15:22:52 · 1846 阅读 · 0 评论 -
20230421Makefile语法
更效率具有灵活性,但降低了可读性并增加维护成本foo:foo.cbar:bar.c上述例子中,定义了两个目标"foo"和"bar",默认情况下执行make,只会默认第一个任务也就是生成"foo"可执行文件,或者使用"make foo"或"make bar",也可以同时生成"make foo bar"foo:foo.cbar:bar.c或者按这种写法,使用make就能同时生成"foo"和"bar"两个可执行文件(目标"all"前加上".all"表示指定默认的目标,如果不加就默认第一个)原创 2023-04-24 15:57:52 · 132 阅读 · 0 评论 -
20230417Makefile入门
4、即如果"all"所依赖的"hello"文件不存在,那么make会在当前文件中找目标(target)为"hello"的规则,并根据其命令与依赖项"hello.o"规则生成"hello"文件。3、如果"all"文件不存在或"all"所依赖的文件修改时间要比"all"这个文件新(新更新),那么就会执行后面所定义的命令来生成"all"这个文件。此示例中规则"all"为默认任务,在执行"make"命令时默认执行,找到“all”这个文件,并把这个文件作为最终的目标文件(命令执行后的生产物)原创 2023-04-20 17:01:12 · 83 阅读 · 0 评论 -
20230410Makefile介绍
Makefiles是Linux系统中的一个构建自动化工具,用于管理大型项目的编译、安装等过程,通过定义一系列源文件、目标文件和规则,可以自动的构建和安装程序。Makefile是一种文本文件,其中包含了一系列的规则和指令,指定了如何生成目标文件。Makefile中的规则通常由目标、依赖项和命令组成。目标/依赖:表示程序编译以及链接的源文件和目标文件命令:用于生成目标文件的指令源文件(.c/.cpp)→中间目标文件(.o.obj)→可执行文件(.exe/.out||无后缀)原创 2023-04-17 17:22:09 · 113 阅读 · 1 评论