良许Linux教程网 干货合集 Linux系统Makefile使用教程(非常详细)

Linux系统Makefile使用教程(非常详细)

Makefile 是和 make 命令一起配合使用的.很多大型项目的编译都是通过 Makefile 来组织的, Makefile的组织流程的能力如此之强, 不仅可以用来编译项目, 还可以用来组织我们平时的一些日常操作.,下面和大家分享一下Linux系统中Makefile的使用方法,有需要的朋友可以在评论区留言。

u=3238863687,549577615&fm=26&gp=0

1.Makefile简介

使用GNU Make工具来管理程序是每个Linux工程师必须掌握的技能。Make能够使整个程序的编译、链接只需要一个命令(make)就可以完成。Make的工作主要依赖于一个叫为Makefile的文件。Makefile文件描述了整个程序的编译,连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译,如何最后产生我们想要得可执行文件。

2、Makefile构成-规则

Makefile中最重要的组成部分是“规则”规则:用于说明如何生成目标文件,规则的格式如下:targets : prerequisitescommand目标 依赖 命令特别提供:命令需要使用【TAB】键空格

3、Makefile构成-伪目标

Makefile中把那些只包含命令,没有任何依赖的目标称为”伪目标”(phony targets)..PHONY : cleanclean :rm –f hello main.o func.o“.PHONY” 将“clean”目标声明为伪目标

4、Makefile构成-最终目标

1.当一个makefile中有多条规则时,如何单独执行某条规则?  make led.o      (带一个目标名,自动判断)\2. 如果用户没有指定执行某一条规则,make会默认执行makefile中的第1条规则,而这条规则中的目标称之为:最终目标

5、Makefile规则-变量

使用变量前:app1: app1.o func1.o func2.ogcc app1.o func1.o func2.o -o app1app2: app2.o func1.o func2.ogcc app2.o func1.o func2.o -o app2使用变量后:obj=func1.o func2.oapp1: app1.o (obj) -o app1app2: app2.o (obj) -o app2重复使用的名字,可以用变量表示。没有特别的类型区别。使用时加在中,用户除了可以自己定义变量外,还可以使用存在存在系统已经定义好的默认变量。^:代表所有的依赖文件 :代表目标这些都是相对于目标名和依赖名来说的,如led.o:led.S这些都是相对于目标名和依赖名来说的,如led.o:led.S

6、Makefile规则-变量

使用前:led.o : led.Sarm-linux-gcc -g –o led.o -c led.S使用后:led.o : led.Sarm-linux-gcc -g –o ^

7、Makefile构成-通用规则

当一个makefile中有许多类似的规则时,如何将这些规则合并为一条通用规则?%.o :%.S  arm-linux-gcc -g -o kslasjd -o klsdjalkdj3.使用技巧-去回显Makefile中“#”字符后的内容被视作注释。hello: hello.c@gcc hello.c –o hello@:@:取消回显 (演示)

3.使用技巧-文件名make命令默认在当前目录下寻找名字为makefile或者Makefile的工程文件,当名字不为这两者之一时,可以使用如下方法指定:make –f 文件名是Makefile文件

至此关于Linux系统中Makefilede的使用教程分享结束,欢迎大家在评论区留言。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部