make的命令行选项
make的命令行选项
-b
-m
忽略,提供其它版本make兼容性。
-B
--always-make
强制重建所有规则的目标,不根据规则的依赖描述决定是否重建目标文件。
-C DIR
--directory=DIR
在读取Makefile之前,进入目录“DIR”,就是切换工作目录到“DIR”之后执行make。存在多个“-C”选项时,make的最终工作目录是第一个目录的相对路径。如:“make
–C / -C etc”等价于“make
–C /etc”。一般此选项被用在递归地make调用中。
-d
make在执行过程中打印出所有的调试信息。包括:make认为那些文件需要重建;那些文件需要比较它们的最后修改时间、比较的结果;重建目标所要执行的命令;使用的隐含规则等。使用“-d”选项我们可以看到make构造依赖关系链、重建目标过程的所有信息,它等效于“—debug=a”.
—debug[=OPTIONS]
make执行时输出调试信息。可以使用“OPTIONS”控制调试信息级别。默认是“OPTIONS=b”,“OPTIONS”的可能值为以下这些,首字母有效(all 和
aw等效)。
a(all)
输出所有类型的调试信息,等效于“-d”选项。
b(basic)
输出基本调试信息。包括:那些目标过期、是否重建成功过期目标文件。
v(verbose)
“basic”级别之上的输出信息。包括:解析的makefile文件名,不需要重建文件等。此选项目默认打开“basic”级别的调试信息。
i(implicit)
输出所有使用到的隐含规则描述。此选项目默认打开“basic”级别的调试信息。
j(jobs)
输出所有执行命令的子进程,包括命令执行的PID等。
m(makefile)
也就是makefile,输出make读取makefile,更新makefile,执行makefile的信息。
-e
--environment-overrides
使用系统环境变量的定义覆盖Makefile中的同名变量定义。
-f=FILE
--file= FILE
--makefile= FILE
指定“FILE”为make执行的makefile文件。
-h
--help
打印帮助信息。
-i
--ignore-errors
执行过程中忽略规则命令执行的错误。
-I DIR
--include-dir=DIR
指定被包含makefile文件的搜索目录。在Makefile中出现“include”另外一个文件时,将在“DIR”目录下搜索。多个“-I”指定目录时,搜索目录按照指定顺序进行。
-j [JOBS]
--jobs[=JOBS]
指定可同时执行的命令数目。在没有指定“-j”参数的情况下,执行的命令数目将是系统允许的最大可能数目。存在多个“-j”参数时,尽最后一个“-j”指定的数目(“JOBS”)有效。
-k
--keep-going
执行命令错误时不终止make的执行,make尽最大可能的执行所有的命令,直到出现致命错误才终止。
-l LOAD
--load-average[=LOAD]
—max-load[=LOAD]
告诉make当存在其它任务在执行时,如果系统负荷超过“LOAD”(浮点数表示的),不再启动新任务。没有指定“LOAD”的“-I”选项将取消之前“-I”指定的限制。
-n
--just-print
--dry-run
--recon
只打印出所要执行的命令,但不执行命令。
-o FILE
--old-file= FILE
--assume-old= FILE
指定文件“FILE”不需要重建,即使相对于它的依赖已经过期;同时也不重建依赖于此文件任何文件(目标文件)。注意:此参数不会通过变量“MAKEFLAGS”传递给子make进程。
-p
--print-data-base
命令执行之前,打印出make读取的Makefile的所有数据(包括规则和变量的值),同时打印出make的版本信息。如果只需要打印这些数据信息(不执行命令)可以使用“make -qp”命令。查看make执行前的预设规则和变量,可使用命令“make –p -f /dev/null”。
-q
--question
称为“询问模式”;不运行任何命令,并且无输出。make只是返回一个查询状态。返回状态为0表示没有目标需要重建,1表示存在需要重建的目标,2表示有错误发生。
-r
--no-builtin-rules
取消所有内嵌的隐含规则,不过你可以在Makefile中使用模式规则来定义规则。同时选项“-r”会取消所有支持后追规则的隐含后缀列表,同样我们也可以在Makefile中使用“.SUFFIXES”定义我们自己的后缀规则。“-r”选项不会取消make内嵌的隐含变量。
-R
--no-builtin-variabes
取消make内嵌的隐含变量,不过我们可以在Makefile中明确定义某些变量。注意,“-R”选项同时打开“-r”选项。因为没有了隐含变量,隐含规则将失去意义(隐含规则是以内嵌的隐含变量为基础的)。
-s
--silent
--quiet
取消命令执行过程的打印。
-S
--no-keep-going
--stop
取消“-k”选项。在递归的make过程中子make通过“MAKEFLAGS”变量继承了上层的命令行选项。我们可以在子make中使用“-S”选项取消上层传递的“-k”选项,或者取消系统环境变量“MAKEFLAGS”中的“-k”选项。
-t
—touch
和Linux的touch命令实现功能相同,更新所有目标文件的时间戳到当前系统时间。防止make对所有过时目标文件的重建。
-v
--version
查看make版本信息。
-w
--print-directory
在make进入一个目录读取Makefile之前打印工作目录。这个选项可以帮助我们调试Makefile,跟踪定位错误。使用“-C”选项时默认打开这个选项。参考本节前半部分“-C”选项的描述。
--no-print-directory
取消“-w”选项。可以是用在递归的make调用过程中,取消“-C”参数的默认打开“-w”功能。
-W FILE
--what-if= FILE
--new-file= FILE
--assume-file= FILE
设定文件“FILE”的时间戳为当前时间,但不改变文件实际的最后修改时间。此选项主要是为实现了对所有依赖于文件“FILE”的目标的强制重建。
--warn-undefined-variables
在发现Makefile中存在对没有定义的变量进行引用时给出告警信息。此功能可以帮助我们调试一个存在多级套嵌变量引用的复杂Makefile。但是:我们建议在书写Makefile时尽量避免超过三级以上的变量套嵌引用。
make的命令行选项的更多相关文章
- Maven学习(四)Maven 命令行选项
说明: 1.使用-选项时,和后面的参数之间可以不要空格.而使用--选项时,和后面的参数之 间必须有空格.如下面的例子: $ mvn help:describe -Dcmd=compiler:co ...
- 学习笔记——Maven 命令行选项
2014-10-09:更新裁剪反应堆具体用法 说明: 1.使用-选项时,和后面的参数之间可以不要空格.而使用--选项时,和后面的参数之 间必须有空格.如下面的例子: $ mvn help:des ...
- Microsoft Windows Installer 工具 Msiexec.exe 的命令行选项
摘自:http://support.microsoft.com/kb/314881/zh-cn 概要 本文列出了 Windows Installer 工具 Msiexec.exe 的命令行选项.Msi ...
- PhantomJS命令行选项
支持命令行选项有: --help或-h列出所有可能的命令行选项.立即停止,不会运行一个脚本作为参数传递. --version或-v打印的版本PhantomJS.立即停止,不会运行一个脚本作为参数传递. ...
- 【Python】【自动化测试】【pytest】【常用命令行选项】
https://www.cnblogs.com/cnkemi/p/9989019.html http://www.cnblogs.com/cnkemi/p/10002788.html pytest 常 ...
- python 解析命令行选项
问题: 程序如何能够解析命令行选项 解决方案 argparse 模块可被用来解析命令行选项 argparse 模块 argparse 模块是标准库中最大的模块之一,拥有大量的配置选项 dest 参数指 ...
- Ruby 命令行选项
Ruby 命令行选项 Ruby 一般是从命令行运行,方式如下: $ ruby [ options ] [.] [ programfile ] [ arguments ... ] 解释器可以通过下列选项 ...
- CCF真题之命令行选项
201403-3 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项.每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔.这些字符串中的第一个为该命令行工具的名字,由小写字母 ...
- 雷林鹏分享:Ruby 命令行选项
Ruby 命令行选项 Ruby 一般是从命令行运行,方式如下: $ ruby [ options ] [.] [ programfile ] [ arguments ... ] 解释器可以通过下列选项 ...
随机推荐
- Jump Game II 解答
Question Given an array of non-negative integers, you are initially positioned at the first index of ...
- Pascal's Triangle 解答
Question Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows ...
- Cuckoo hash算法分析
一 基本思想: cuckoo hash是一种解决hash冲突的方法,其目的是使用简单的hash 函数来提高hash table的利用率,同时保证O(1)的查询时间 基本思想是使用2个hash函数来处理 ...
- [转]Activemq管理和基本介绍
1.ActiveMQ服务器工作模型 通过ActiveMQ消息服务交换消息.消息生产者将消息发送至消息服务,消息消费者则从消息服务接收这些消息.这些消息传送操作是使用一组实现 ActiveM ...
- 点滴记录——Centos 6.5 yum安装Ganglia
转载请说明出处:http://blog.csdn.net/cywosp/article/details/39701141 注:下面操作都仅仅是在一台机器上操作 1. 安装php支持 yum inst ...
- What should we do when meet a crash in android?
制造一个crash 为了演示的目的,我在libsensors的open_sensors_device中故意制造了一个crash: static int open_sensors_device( ...
- 四、Mp3文件类型及其判断
根据前两篇文章的分析,帧分为标签帧和数据帧,MP3文件类型是根据数据帧的类型来分的,文件类型如下表: 位率相等(Constant BitRate) CBR Mp3文件 位率不等(Variable B ...
- C#中打日志导出日志到txt文本
/// <summary> /// 打日志 /// </summary> /// <param name="log"></param> ...
- Core Bluetooth 概述 【官方文档翻译】
Core Bluetooth 框架在Mac和iOS平台,为配备了低功耗蓝牙无线技术的设备提供了进行通信所需要的类.例如,您的应用程序可以发现,探索,和低功耗的外围设备进行交互,如心率监视器.数字温控器 ...
- ASP.NET MVC学习之路由篇
约束路由 上面我们有一个{id}用来捕获参数的,但是你也发现了它可以捕捉任何字符串等等,但是我们有时需要限制它,比如让它只能输入数字,那么我们就可以使用正则表达式去约束它. 如下修改RouteConf ...