原创 make和Makefile的使用

2010-1-20 15:50 1957 5 5 分类: MCU/ 嵌入式
make和Makefile的使用

make是一个Linux下的二进制程序,用来处理Makefile这种文本文件。在Linux的Shell命令行键入make的时候,将自动寻找
名称为"Makefile"的文件作为编译文件,如果没有名称为"Makefile"的文件,将继续查找名称为"makefile"的文件。找到编译文件
后,make工具将根据Makefile中的第一个目标自动寻找依赖关系,找出这个目标所需要的其他目标。如果所需要的目标也需要依赖其他的目
标,make工具将一层层寻找直到找到最后一个目标为止。


make工具的使用格式为:


make [options] [target] ...

options为make工具的选项,target为Makefile中指定的目标。表5-1给出了make工具的参数选项。


表5-1  make工具的参数选项





   


-f filename


显式地指定文件作为Makefile


-C dirname


制定make在开始运行后的工作目录为dirname


-e


不允许在Makefile中替换环境变量的赋值


-k


执行命令出错时,放弃当前目标,继续维护其他目标


-n


按实际运行时的执行顺序模拟执行命令


(包括用@开头的命令),没有实际执行


效果,仅仅用于显示执行过程


-p


显示Makefile中所有的变量和内部规则


-r


忽略内部规则


-s


执行但不显示命令,常用来检查Makefile的正确性


-S


如果执行命令出错就退出


-t


修改每个目标文件的创建日期


-I


忽略运行make 中执行命令的错误


-V


显示make的版本号


在Makefile中,经常使用的变量如表5-2所示。


表5-2  Makefile中常用变量




变量


   


$@


目标文件名


$<


规则中的第一个文件名


$^


规则中所有相关文件的名称


$


规则中日期比目标新的文件列表,用空格分开


$@(D)


目标文件的目录部分


$@(F)


目标文件的文件名部分


在Makefile中,目标名称的指定常常有以下惯例:


all:表示编译所有的内容,是执行make时默认的目标。


clean:表示清除目标。


distclean:表示清除所有的内容。


install:表示进行安装的内容。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条