?wildcard: 搜索当前目录下所有的.c文件。 ?addprefix $(TEST_DIR)/,$(TEST)) //给$(TEST)加前缀路径 ?$@: 目标变量。 $^: 目标依赖 ?.PONHY: clean :伪目标,会被无条件执行。 ?自动产生依赖:Gcc –M命 令生成该文件要依赖 ...
分类:
其他好文 时间:
2020-02-24 00:45:36
阅读次数:
89
[toc] 1 Makefile语法和规则 语法: 或 其中: target 为生成目标, 一般使用文件名或伪目标作为target, 多个target用空格分开,可使用通配符。 除了指定要生成的target, 其他target若没有被依赖则不会执行。要生成的target通过make target命令 ...
分类:
其他好文 时间:
2020-02-21 17:54:02
阅读次数:
57
Makefile引言 第1课 - make 和 makefile 第2课 - 初识makefile的结构 第3课 - makefile伪目标的引入 第4课 - 变量和不同的赋值方式 第5课 - 预定义变量的使用 第6课 - 变量的高级主题(上) 第7课 - 变量的高级主题(下) 第8课 - 条件判断 ...
分类:
其他好文 时间:
2020-02-07 01:36:40
阅读次数:
99
Makefile包含 目标文件、依赖文件、可运行命令三部分。 每部分的基本格式例如以下: test: prog.o code.o gcc -o test prog.o code.o 当中,第一行的test是目标文件。 prog.o、code.o是依赖文件; 第二行的gcc -o test prog. ...
分类:
其他好文 时间:
2019-11-06 01:07:33
阅读次数:
88
什么是Makefile?首先,make是一个工具程序(Utility software),是一种控制编译或者重复编译软件的工具;make可以自动管理软件编译的内容、方式和时机从而使程序员能够把精力集中在编写代码上。那make怎样工作呢?其实make是通过makefile文件实现的。makefile是 ...
分类:
系统相关 时间:
2019-03-23 22:29:15
阅读次数:
253
一.伪目标的引入a.默认情况下1.make认为目标对应一个文件2.make比较目标文件和依赖文件的新旧关系,决定是否执行命令3.make以文件处理作为第一优先级示例hello.outall:func.omain.ogcc-ohello.outfunc.omain.ofunc.o:func.cgcc-ofunc.o-cfunc.cmain.o:main.cgcc-omain.o-cmain.ccle
分类:
其他好文 时间:
2019-01-18 12:18:35
阅读次数:
220
Lunix下编译静态库文件: .o后缀文件:编译生成的中间代码文件; .a后缀文件:静态库文件,编译的时候会合到可执行程序中,文件比较大; .so后缀文件:动态库文件,只是一个指向,不会合到可执行程序中,当要调用函数库的时候才使用; 用一个简单的例子阐述下在lunix环境下生成静态库文件的过程: 一 ...
分类:
其他好文 时间:
2018-11-10 12:57:58
阅读次数:
248
一般而言,在一个大型项目中,不同工程师负责不同模块的开发;那么问题就来了,我们怎么知道自己编写的这部分代码有没有问题,怎样进行编译?在编译环境中如何支持模块的独立编译?因为在大型项目中的代码文件成千上万,完整编译的时间较长;编写模块代码时,可通过编译检查语法错误;为了提高开发效率,需要支持指定模块的独立编译。 解决方案便是:1、将模块名(module)作为目标名(伪目标)建立规则;2、目标(module)对应的依赖为 build build/module;3、规则中的命令进入对应的模块文件夹进行编译;4、编译结果存放于 build 文件夹下。其关键技术点是如何获取 make 命令行中指定编译的模块名,通过预定义变量:$(MAKECMDGOALS),命令行中指定的目标名(make 的命令行参数)。
分类:
其他好文 时间:
2018-06-25 12:51:12
阅读次数:
193
我们之前学习的makefile中的目标究竟是什么呢?在默认情况下:a>make认为目标对应着一个文件;b>make比较目标文件和依赖文件的新旧关系来决定是否执行命令;c>make以文件处理作为第一优先级。那么下面的代码有什么意义呢?还是以代码为例来进行分析说明,func.c和main.c还是用的是上节博客中的hello.outall:func.omain.ogcc-ohello.outfunc.o
分类:
其他好文 时间:
2018-06-11 11:00:12
阅读次数:
176