make 命令参数笔记
转载至:http://www.coin163.com/it/2376448961193984859/c-makefile-make
相关推荐:centos make命令不能用
在centos 5下安装软件遇到的问题,google了一圈,是因为系统没有安装编译器,那安装就是了,嘿嘿。解决办法,在SSH下输入下面的命令yum -y install gcc automake autoconf libtool make
-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”。相关推荐:Android中的make命令
如果android的source在android21文件夹(即Makefile文件的目录)下,先执行cd android21,然后可以执行下面的命令;1、make Settings生成Settings.apk的文件2、 make snod等同于make droid该命令生成一个新的系统映像system.img,速度比make快很多,但不
-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编程实践》