makefile指令详解.pptx

makefile指令详解.pptx

ID:48671316

大小:48.31 KB

页数:10页

时间:2020-01-19

makefile指令详解.pptx_第1页
makefile指令详解.pptx_第2页
makefile指令详解.pptx_第3页
makefile指令详解.pptx_第4页
makefile指令详解.pptx_第5页
资源描述:

《makefile指令详解.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、makefile简介Makefile方便中大型程序项目的管理(不一定是基于C语言的项目)在Linux下通过make命令调用makefile脚本,根据其定义执行shell命令行常用规则如果这个工程没有编译过,那么我们的所有c文件都要编译并被链接。如果这个工程的某几个c文件被修改,那么我们只编译被修改的c文件,并链接目标程序。如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的c文件,并链接目标程序。Makefile格式target...:prerequisites...#注释command...targe

2、t:可以为可执行文件,object文件,或标签(label)prerequisites:生成该target需要的文件/目标生成该target需要执行的shell命令Makefileexampleedit:main.okbd.ocommand.occ-oeditmain.okbd.ocommand.omain.o:main.cdefs.hcc-cmain.ckbd.o:kbd.cdefs.hcommand.hcc-ckbd.ccommand.o:command.cdefs.hcommand.hcc-ccommand.c

3、clean:rmeditmain.okbd.ocommand.omake工作原理make会在当前目录下找名字叫“Makefile”或“makefile”的文件。如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。如果edit文件不存在,或是edit所依赖的后面的.o文件的文件修改时间要比edit这个文件新,那么,他就会执行后面所定义的命令来生成edit这个文件。make工作原理如果edit文件不存在,或是edit所依赖的后面的.o文件的

4、文件修改时间要比edit这个文件新,那么,他就会执行后面所定义的命令来生成edit这个文件。如果edit依赖的.o文件不存在,则找到后面对应的定义规则来生成该.o文件。最后再用.o文件生成edit执行文件变量的使用edit:main.okbd.ocommand.occ-oeditmain.okbd.ocommand.o…clean:rmeditmain.okbd.ocommand.oobjects=main.okbd.ocommand.oedit:$(objects)cc-oedit$(objects)…clean:

5、rmedit$(objects)Make自动推导只要make看到一个[whatever.o]文件,它就会自动的把相应的[whatever.c]文件加在依赖关系中。并且也会把执行命令cc–cwhatever.c推导出来。Make自动推导main.o:main.cdefs.hcc-cmain.ckbd.o:kbd.cdefs.hcommand.hcc-ckbd.ccommand.o:command.cdefs.hcommand.hcc-ccommand.cmain.o:defs.hkbd.o:defs.hcommand.

6、hcommand.o:defs.hcommand.h.PHONY:cleanclean:rmedit$(objects)文件引用include;假如你有这样几个Makefile:a.mk、b.mk、c.mk,还有一个文件叫foo.make,以及一个变量$(bar),其包含了e.mk和f.mk,includefoo.make*.mk$(bar)=ncludefoo.makea.mkb.mkc.mke.mkf.mk

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。