| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Makefile -> 正文阅读 |
|
[系统运维]Makefile |
一、前言在linux下一般使用Makefile来完成编译,而Makefile相当于脚本,它可以调用gcc、clang等编译器。但是Makefile有一套它自己的规则,而且与bash不太一样,以下介绍该规则。 二、伪目标现在有以下main.c
对其编写的Makefile如下
结果如下 使用make all命令可以编译出可执行文件hello,使用make clean可以把hello删除。 伪目标可以调用一行bash命令。 三、目标和依赖现在将Makefile改一下。
其中main.o:main.c,main.o就是目标文件,也就是需要用main.c编译出来的。而main.c就是依赖文件,也就是被编译的源码。 此时,使用make、make all命令同样可以编译出可执行文件hello。 四、变量想要复用Makefile里面的代码,就不能直接写死文件名等,那就需要用到变量。再修改Makefile。
TAR = hello,就把hello命名为变量TAR,后面使用该变量时,需要写成$(TAR)。 然后用变量对下面的命名进行替换,那么如果要换个工程,也是简单修改就能使用了。 五、通配符
可以使用通配符*,来匹配所有.o或者.c文件。
也可以写成$@代表所有的目标文件,相当于*.o,而$^则代表所有的依赖文件,相当于*.c。 六、多文件编译现在有main.c
disp.h
disp.c
Makefile
结果如下 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:35:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |