Linux学习笔记011---编译命令make的认识及使用
JAVA技术交流QQ群:170933152
make命令是GNU的工程化编译工具,用于编译众多相互关联的源代码问价,以实现工程化的管理,提高开发效率。
语法
make(选项)(参数)
选项
-f:指定“makefile”文件; -i:忽略命令执行返回的出错信息; -s:沉默模式,在执行之前不输出相应的命令行信息; -r:禁止使用build-in规则; -n:非执行模式,输出所有执行命令,但并不执行; -t:更新目标文件; -q:make操作将根据目标文件是否已经更新返回"0"或非"0"的状态信息; -p:输出所有宏定义和目标文件描述; -d:Debug模式,输出有关文件和检测时间的详细信息。
Linux下常用选项与Unix系统中稍有不同,下面是不同的部分:
-c dir:在读取 makefile 之前改变到指定的目录dir; -I dir:当包含其他 makefile文件时,利用该选项指定搜索目录; -h:help文挡,显示所有的make选项; -w:在处理 makefile 之前和之后,都显示工作目录。
参数
目标:指定编译目标。
知识扩展
无论是在linux 还是在Unix环境 中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。
而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员 来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。
因此,有效的利用make和 makefile工具可以大大提高项目开发的效率。同时掌握make和makefile之后,您也不会再面对着Linux下的应用软件手足无措了。
Linux学习笔记011---编译命令make的认识及使用相关推荐
- Linux学习笔记---使用tftp命令下载文件
向开发板下载数据时,不仅可以通过nfs命令下载,还可以通过更简单的命令tftp下载. 用网线将开发板和笔记本连接起来,设置好网络环境.网络的具体设置方法可以参考 Linux学习笔记---网线直连电脑和 ...
- Linux 学习笔记2 常用命令
Linux 学习笔记1 安装linux详细教程_O丶ne丨柒夜的博客-CSDN博客 Linux_目录结构 基本介绍 1.liux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录&quo ...
- Linux学习笔记---初次编译Uboot系统
在初次编译Uboot系统时,是按照正点原子开发指南操作的,但是开发指南上讲得不是很详细,又看了一遍视频教程才搞清楚完整步骤,为了方便学习,就将详细步骤记录下来,以便以后参考. Uboot初次编译 1. ...
- linux学习笔记2——ls命令说明
ls是list的简写,功能是列出目录的内容,类似于DOS下的dir命令.这篇学习笔记主要介绍ls命令相关知识. 一.Linux下文件目录的特点 蓝色字体代表文件夹,白色字体代表文件 1.Linux文件 ...
- Linux学习笔记---常用shell命令
目录 目录信息查看命令ls 清屏命令 clear 目录切换命令 cd 自动补全Tab键的妙用 创建文件夹 mkdir 删除文件夹 rmdir 删除命令 rm 查看路径命令pwd 移动或修改命令 mv ...
- linux学习笔记:yum命令的常见用法
要知道,不同的linux系统里软件包的命令可能是不同的. yum命令是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 例如: yum install -y net-too ...
- LINUX学习笔记之mount命令
depmod modprobe loop lsmod | grep loop loop 19017 0 有时需要在linux下需要访问windows的共享文件夹,可以使用mount挂载或者使用samb ...
- Linux学习笔记003----linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- 1)Linux学习笔记:crontab命令
crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程 配置文件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr ...
最新文章
- 数学建模感悟:新的算法的学习
- Django框架深入了解_01(Django请求生命周期、开发模式、cbv源码分析、restful规范、跨域、drf的安装及源码初识)
- 玩转oracle 11g(9):crud操作(亲测)
- python 文件加密_python实现文件快照加密保护的方法
- (18) HTML面试题集锦2
- android 修改 选择壁纸来源,修改android选择壁纸来源列表
- 开发错误记录5-Failed to sync Gradle project ‘HideTitleDemo’
- 解决ajaxSubmit无法传递自动回填和下拉框的数据
- 元宇宙,是忽悠还是未来
- adb 连接手机 cannot connect to xxx.xxx.x.xx:5555: 由于目标计算机积极拒绝,无法连接。 (10061)
- 网吧服务器系统如何配置,网吧服务器系统配置
- IMDB数据看影响电影票房的因素分析
- Python必学的OS模块详解
- 企业邮箱的优势有哪些
- 偶尔娱乐一下应该无妨?
- 工作中有可能用到的运维小知识《现查现用》
- Python的Couter使用,计算字符串中每个单词出现的次数
- matplotlib柱状图上方显示数据_Python数据分析matplotlib可视化之绘图!
- C++实现生产者消费者队列
- 矩阵连乘c语言实验报告,2013矩阵连乘实验报告.docx
热门文章
- Matplotlib - subplot(同一图中绘制不同的内容)
- keras笔记-mnist数据集上的简单训练
- Spring 中获取 request 的几种方法,及其线程安全性分析
- 《精通Spring 4.x 企业应用开发实战》读书笔记
- Uber 宣布将香港最低打车费用上涨 80%, 最低 45 港币
- 通过js动态设置select中option选中
- MySQL -- 获取当前数据行号
- jquery仿搜狐投票动画代码
- 编码原则:如何减少缩进层次
- altas(ajax)控件(二):悬浮面板控件AlwaysVisibleControl