gnu make 手册 学习笔记 C语言 / C++ 构建工具 part.1 简介 简单用法
2020-03-05 13:56
1176 查看
GNU Make manual 学习笔记 C语言 / c++ 构建工具
1.GNU Make 是什么
GNU Make是一个开源组织的一个项目,可以简单理解为,一个自动化构建的工具。
常见于C/C++的项目构建。
官网的地址 https://www.gnu.org/software/make/
手册地址 https://www.gnu.org/software/make/manual/
1-2.现在VisualStudio都有社区版了,为什么还要使用make
- Linux/Unix 能直接使用Visual Studio ?
- 在github上的一些项目会使用 make , autotools , cmake 或者类 make的工具进行构建,如果想要debug首先需要编译过了。
- 如果开发的环境是windows ,然后项目想在 x_86 Linux 或者 arm 结构 Linux ,那么自少得会一种构建工具,仅仅依赖 IDE很捉急。
2.GNU Make 的简单用法
源文件 HelloWorld.c
#include <stdio.h> int main(void) { printf("hello world."); }
- Makefile文件
.PHONY : clean compile: HelloWorld.c gcc HelloWorld.c -o HelloWorld clean: rm -rf *.exe *.o
- 使用命令,编译
make target 在使用make的时候不指定target,会使用默认的,就是写在文件的第一个rule的target
2-1.Make 命令参数的简单介绍
make -f File, --file=File, --makefil=File 如果配置文件不是Makefile,makefile,GNUmakefile的一种,可以指定文件名,不在同一个目录,需要变量配置 make -I Directory , --include-dir=Directory 指定include的Makefile的路径 make -i,--ignore-erors 忽略异常 make -t ,--touch 仅仅修改target对应文件的修改时间,没有真正重新编译 make -p, --print-data-base 打印make缓存的变量,automatic,default,makefile,environment和Pattern Rules
2-2-1.make -f 例子
2-2-2.make -I 例子
Makefile
include nestFile #包含一个makefile 但是这个makefile的名字是nestFile .PHONY : all clean nestFile #定义伪目标 all: compile nestFile compile: HelloWorld.c gcc HelloWorld.c -o HelloWorld clean: rm -rf *.exe *.o
/otherDir/nestFile
nestFile: @echo In the other Makefile #这里就是打印一句话
配置文件中使用到include的时候,就需要使用 -I 参数
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- gnu make 手册 学习笔记 C语言 / C++ 构建工具 part.5 函数 控制语句
- gnu make 手册 学习笔记 C语言 / C++ 构建工具 part.3 变量的使用,传递,取消 特殊变量 VPATH 缓存的变量
- gnu make 手册 学习笔记 C语言 / C++ 构建工具 part.6 编译 静态库 动态库
- gnu make 手册 学习笔记 C语言 / C++ 构建工具 part.2 Makefile文件的基本写法
- 构建简单的 C++ 服务组件,第 1 部分: 服务组件体系结构 C++ API 简介
- 【学习笔记】tableview 简单用法,加图片,文字数组,锁定不滚动
- static关键字用法学习笔记(C++)
- 【C++学习笔记】简单的多线程程序(摘自孙鑫C++教学视频)
- 传智播客c/c++公开课学习笔记--C语言与木马恶意代码分析和360安全防护揭秘
- 【C++学习笔记】-static的用法
- C++ Data Structure 学习笔记 (2011.5.3)——传值,指针,引用的区别及Vector与String的详细用法
- C++: wxWidgets (3) 一个简单的wxWidgets程序(学习笔记)
- 数据库学习笔记---connect by的简单用法
- C++学习笔记3 C语言到C++的升级
- Gnu Make学习笔记1:基本用法
- Java项目开发环境构建工具 Gradle 使用笔记(简单、基本)
- C++开源矩阵计算工具——Eigen的简单用法
- 构建简单的 C++ 服务组件,第 1 部分: 服务组件体系结构 C++ API 简介
- 学习笔记——atoi函数的用法及用C语言实现atoi
- C\C++ 程序员从零开始学习Android - 个人学习笔记(三) - java基础 - 环境和工具