欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

make 命令参数笔记 博客分类: C/C++ cmakefilemake 

程序员文章站 2024-03-19 12:34:22
...
-b 忽略兼容性

-B 无条件make所有目标

-C dir或者--directory=DIR
   在读取makefile文件前,先切换到"dir"目录下,即把dir当作为当前目录。如果存在多个-C选项,make的最终当前目录是第一个目录的相对路径,如“make -C /home/root -C src”,等价于"make -C /home/root/src"

-d make执行时打印出所有的调试信息。包括:make认为那些需要重新生成的文件;那些需要比较它们的最后修改时间的文件,比较的结果;重新生成目标所要执行的命令;使用的隐含规则等。

-e 或者--environment-override
不允许在Makefile中对系统环境变量进行重新赋值

-f filename 或者 --file=File 或者 --makefile=File
使用指定的文件作为Makefile文件

-i 或者 --ingore-errors
忽略执行Makefile中命令时产生的错误,不退出make

-h 或者 -help
打印出帮助信息

-k 或者 --keep-going
执行命令遇到错误时不终止make的执行,make尽最大可能执行所有的命令,直到出现致命错误才终止

-n 或者 --just-print 或者 --dry-run
只打印出要执行的命令,但不执行命令

-o filename 或者 --old-file=File
指定文件“filename”不需要重建,即使相对于它的依赖已经过时,同时也不重建依赖于此文件的任何目标文件

-p 或者 --print-data-base
命令执行之前,打印出make读取的Makfile的所有数据(包括规则和变量的值),同时打印出make的版本信息。如果只需要打印这些数据信息矶不执行命令,可以使用“make -qp”命令。查看make执行的隐含规则和预定义变量,可以使用命令“make -p-f /dev/null”。

-q 或者 -question
称为“询问模式”,不执行任何命令。make只是返回一个查询状态值,返回的状态值为0表示没有目标需要重建,1表示存在需要重建的目标,2表示有错误发生。

-r 或者--no-builtin-rules
忽略隐规则,使之不起作用。该选项不会取消make内嵌的预定义变量。

-R 或者 --no-builtin-variabes
取消make内嵌的预定义变量,不过我们可以在makefile中明确定义某些变量。注意,-R选项同时打开-r选项,因为没有预定义变量,隐含规则将失去意义(隐含规则是以内嵌的预定义变量为基础的)

-s 或者 -silent
执行但不显示所执行的命令

-t 或者 -touch
把所有目标文件的最后修改时间设置为当前系统时间

-v 或者 -version
打印出make的版本信息

参考《linux C编程实践》
相关标签: c makefile make