→嵌入式Linux开发
专注于嵌入式Linux下的内核、驱动和系统软件开发。
承接嵌入式软硬件定制开发
展开
-
Makefile实战之八Makefile中的伪目标
8.1 伪目标伪目标不代表真正的文件名,执行make时可以指定这个目标来执行其所在规则定义的命令为了便于对已经编译好的工程进行清理,安装等,我们一般会在Makefile文件中定义如下:clean: $(RM) *.o target然后通过make命令显示地执行:make clean由于我们并不生成clean这个文件,clean只是一个标签,make无法生成它的依赖关系和决定它是否要执行,所有要通过make命令显示地执行这个目标:make clean但是如果Makefile当前目录下有一个和c原创 2022-01-10 20:01:36 · 1015 阅读 · 0 评论 -
Makefile实战之七Makefile中的目录搜索
7.1 一般搜索通过变量VPATH指定搜索路径,不同路径之间用冒号或空格分开:VPATH = src:../include7. 2 选择性搜索通过关键字vpath实现选择性搜索使用方法:vpath PATTERN DIRECTORIESPATTERN为模式,用模式字符%来匹配一个或多个字符。DIRECTORIES为搜索目录vpath %.h …/include 如果.h文件在当前目录下没有,则到…/include目录下去寻找,这里的.h文件并不包含源文件中包含的头文件所在的路径v原创 2022-01-10 19:29:05 · 509 阅读 · 0 评论 -
Makefile实战之六Makefile中的通配符
更多学习资料:https://mp.weixin.qq.com/s?__biz=Mzg5MDU3NjUyNA==&mid=2247483665&idx=1&sn=2dbdfeeb3de79c17b281c6e9aae07655&chksm=cfdbcaf2f8ac43e4bebe0a867a55cbd9695ba322259a978bfa50635fd88fdc4c37146685b7d3#rdMaekfile中表示文件名时可使用通配符,Makefile中的通配符用法和含义原创 2022-01-09 16:07:32 · 1256 阅读 · 0 评论 -
Makefile实战之五Makefile中的函数
5.1 subst函数其格式如下:$(subst <from>,<to>,<text>)subst函数实现把字符串 中的 字符串替换成字符串$(subst ee,EE,feet on the street) 把feet on the street 中的ee 替换成EE ,返回结果是fEEt on the strEEt5.2 patsubst函数其格式如下:$(patsubst <pattern>,<replacement>,&原创 2022-01-09 12:42:43 · 230 阅读 · 0 评论 -
Makefile实战之三Makefile规则
3.1 隐含规则隐含规则是编译工程的一个非常高效的手段,为编译大型工程提供了简便使用make内嵌的隐含规则,在Makefile中就不需要明确给出重建某一个目标的命令,甚至可以不需要规则。make会自动根据已存在(或者可以被创建)的源文件类型来启动相应的隐含规则foo : foo.o bar.o cc -o foo foo.o bar.o $(CFLAGS) $(LDFLAGS) 3.2 常用隐含规则编译C程序N.o自动由N.c生成,执行的命令为$(CC) -c $(CPPFLAGS)原创 2022-01-08 20:04:49 · 300 阅读 · 0 评论 -
Makefile实战之四Makefile变量
4.1 Makefile中的变量Makefile中的变量相当于C语言中的宏变量,变量名称是区分大小写的,变量在声明时需要给予初值,使用时在变量名前加上$ 符号,但最好用小括号() 或是大括号{} 把变量给包括起来。如果你要使用$ 字符,要用$$ 来表示4.2 变量的命名规范当变量用来表示命令行上或环境中的常数时,全部以大写字母编写,单词之间以下划线( _ )隔开;Makefile文件中出现的内部变量或函数中使用的变量,全部以小写编写,单词之间以破折线( - )隔开;4.3 变量的赋值类型原创 2022-01-07 22:06:29 · 829 阅读 · 0 评论 -
Makefile实战之二make介绍
1. make到底是什么make是一个自动化编译命令工具,它通过读取一个名为Makefile的特殊文件,来决定如何对源代码文件进行编译和链接;make通过比较对应文件(规则的目标和依赖)的最后修改时间,来决定哪些文件需要更新,哪些文件不需要更新;说到底make就是用来解析并执行Makefile文件中定义的规则和命令,并最终生成我们需要的文件;2. make的工作原理make会根据源代码文件和目标文件的最后修改时间来决定哪些文件需要重新编译,如果所有的源代码文件都没有被编译过,则对各个源代码文原创 2022-01-01 12:55:39 · 379 阅读 · 0 评论 -
Makefile实站之一预备知识
1. Linux下程序的编译过程在Linux系统下,要生成最终的可执行程序,需要经过以下几个步骤:#mermaid-svg-Cd06fMLOfgzMLtEE .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Cd06fMLOfgzMLtEE .label text{fill:#333}#mermaid-svg-原创 2022-01-01 12:47:28 · 208 阅读 · 0 评论