make 常用命令参数

在LInux上编译代码的时候,我们经常使用make命令,使用较多的是后面加上 -j 参数,开启多线程的编译,其实make还有很多参数的,使用make –help能够得到如下的信息。
用法:make [选项] [目标] …
选项:
-b, -m 忽略兼容性。
-B, --always-make 无条件 make 所有目标。
-C DIRECTORY, --directory=DIRECTORY
在执行前先切换到 DIRECTORY 目录。
-d 打印大量调试信息。
–debug[=FLAGS] 打印各种调试信息。
-e, --environment-overrides
环境变量覆盖 makefile 中的变量。
-f FILE, --file=FILE, --makefile=FILE
从 FILE 中读入 makefile。
-h, --help 打印该消息并退出。
-i, --ignore-errors Ignore errors from commands. //和-k参数结合使用能够得到所有的编译错误信息
-I DIRECTORY, --include-dir=DIRECTORY
在 DIRECTORY 中搜索被包含的 makefile。
-j [N], --jobs[=N] 同时允许 N 个任务;无参数表明允许无限个任务。
-k, --keep-going 当某些目标无法创建时仍然继续。
-l [N], --load-average[=N], --max-load[=N]
在系统负载高于 N 时不启动多任务。
-L, --check-symlink-times 使用软链接及软链接目标中修改时间较晚的一个。
-n, --just-print, --dry-run, --recon
不要实际运行任何命令;打印要执行的命令

-o FILE, --old-file=FILE, --assume-old=FILE
将 FILE 当做很旧,不必重新生成。
-p, --print-data-base 打印 make 的内部数据库和隐含的规则。
-q, --question 不运行任何命令;退出状态说明是否已全部更新。
-r, --no-builtin-rules 禁用内置隐含规则。
-R, --no-builtin-variables 禁用内置变量设置。
-s, --silent, --quiet 不显示命令。
-S, --no-keep-going, --stop
关闭 -k。
-t, --touch touch 目标而不是重新创建它们。
-v, --version 打印 make 的版本号并退出。
-w, --print-directory 打印当前目录。
–no-print-directory 关闭 -w,即使 -w 默认开启。
-W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
将 FILE 当做最新。
–warn-undefined-variables 当引用未定义变量的时候发出警告。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Make命令   在make命令后不仅可以出现宏定义,还可以跟其他命令行参数,这些参数指定了需要编译的目标文件。其标准形式为:   target1 [target2 …]:[:][dependent1 …][;commands][#…]   [(tab) commands][#…]   方括号中间的部分表示可选项。Targets和dependents当中可以包含字符、数字、句点和"/"符号。除了引用,commands中不能含有"#",也不允许换行。   在通常的情况下命令行参数中只含有一个冒号":",此时command序列通常和makefile文件中某些定义文件间依赖关系的描述行有关。如果与目标相关连的那些描述行指定了相关的command序列,那么就执行这些相关的command命令,即使在分号和(tab)后面的aommand字段甚至有可能是NULL。如果那些与目标相关连的行没有指定command,那么将调用系统默认的目标文件生成规则。   如果命令行参数中含有两个冒号"::",则此时的command序列也许会和makefile中所有描述文件依赖关系的行有关。此时将执行那些与目标相关连的描述行所指向的相关命令。同时还将执行build-in规则。   如果在执行command命令时返回了一个非"0"的出错信号,例如makefile文件中出现了错误的目标文件名或者出现了以连字符打头的命令字符串,make操作一般会就此终止,但如果make后带有"-i"参数,则make将忽略此类出错信号。   Make命本身可带有四种参数:标志、宏定义、描述文件名和目标文件名。其标准形式为:   Make [flags] [macro definitions] [targets]   Unix系统下标志位flags选项及其含义为:   -f file  指定file文件为描述文件,如果file参数为"-"符,那么描述文件指向标准输入。如果没有"-f"参数,则系统将默认当前目录下名为makefile或者名为Makefile的文件为描述文件。在linux中, GNU make 工具在当前工作目录中按照GNUmakefile、makefile、Makefile的顺序搜索 makefile文件。   -i   忽略命令执行返回的出错信息。   -s   沉默模式,在执行之前不输出相应的命令行信息。   -r   禁止使用build-in规则。   -n   非执行模式,输出所有执行命令,但并不执行。   -t   更新目标文件。   -q   make操作将根据目标文件是否已经更新返回"0"或非"0"的状态信息。   -p   输出所有宏定义和目标文件描述。   -d   Debug模式,输出有关文件和检测时间的详细信息。   linuxmake标志位的常用选项与Unix系统中稍有不同,下面我们只列出了不同部分:   -c dir   在读取 makefile 之前改变到指定的目录dir。   -I dir   当包含其他 makefile文件时,利用该选项指定搜索目录。   -h   help文挡,显示所有的make选项。   -w   在处理 makefile 之前和之后,都显示工作目录。   通过命令行参数中的target ,可指定make要编译的目标,并且允许同时定义编译多个目标,操作时按照从左向右的顺序依次编译target选项中指定的目标文件。如果命令行中没有指定目标,则系统默认target指向描述文件中第一个目标文件。
### 回答1: linuxmake命令是一个在Linux系统中用于编译和构建软件的命令。它可以根据源代码生成可执行文件或库文件,并且可以根据不同的编译选项进行定制化的编译。使用linuxmake命令可以方便地管理和构建大型软件项目,提高开发效率和代码质量。 ### 回答2: linux中的make命令是一个用于自动化编译和链接程序的工具。它可以根据源代码文件的修改情况,智能地判断哪些文件需要重新编译,从而避免不必要的编译过程,提高程序的编译效率。 make命令通过读取Makefile文件中的规则来执行编译和链接过程。Makefile是一个文本文件,定义了各个源文件之间的依赖关系和编译链接规则。通过编写Makefile文件,可以实现程序的模块化编译和管理。 make命令的基本用法如下: make [选项] [目标] 常用的选项包括: - -f:指定Makefile文件的路径,默认为当前目录下的Makefile文件。 - -n:显示make命令执行的过程,但不实际执行。 - -j n:指定并行编译的任务数,加快编译速度。 常用的目标包括: - all:编译并链接整个程序。 - clean:删除编译生成的目标文件和可执行文件。 - install:将可执行文件安装到指定的目录。 在执行make命令时,它会根据Makefile文件中定义的规则进行编译和链接。如果某个源文件或依赖的头文件被修改,make会重新编译相应的文件。这样可以避免不必要的编译过程,提高编译效率。 Makefile文件中的规则由目标、依赖和命令三部分组成。目标是生成的文件,依赖是生成目标所需要的文件,命令是生成目标的具体操作。通过定义合理的规则,可以实现源文件的自动编译、模块的自动链接等功能,简化了编译过程。 总之,make命令是一个非常实用的工具,在Linux系统中广泛应用于程序的编译和管理中,它能够提高编译效率,简化编译过程,是开发者的得力助手。 ### 回答3: Linux中的make命令是一个构建工具,主要用于自动化编译和链接程序。它基于Makefile文件来描述构建关系和规则,并根据这些规则来生成目标文件、可执行文件或库文件。 make命令通过检查文件的修改时间来确定哪些文件需要重新编译,从而提高了编译的效率。通过定义依赖关系和编译规则,make命令可以自动化地进行增量编译,只编译发生改变的文件,大大节省了编译时间。 Makefile是make命令的配置文件,它通常包含了工程中各个源文件的编译规则、依赖关系和链接参数。在Makefile中,可以定义目标及其依赖关系,并指定相应的编译命令。 使用make命令,可以简化复杂的编译操作,尤其适用于大型工程或包含多个源文件的项目。通过简单的命令,make命令可以自动完成编译、连接和生成可执行文件。 make命令还提供了一些常用的功能,例如清理编译生成的中间文件、执行程序等。 总之,make命令是一个强大的构建工具,它可以自动化编译和链接程序,提高编译效率,简化编译操作,尤其适用于大型工程或包含多个源文件的项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值