嵌入式linux实验楼,makefile

本文介绍了Makefile在C程序项目中的重要性,它能够自动化编译过程,提高开发效率。通过实例展示了如何创建和修改Makefile,包括使用变量和隐式规则,以管理两个C文件的编译。实验步骤详细指导了从编写C源文件到使用Makefile编译生成可执行文件的过程。
摘要由CSDN通过智能技术生成

Makefile 简介

读者经常看到一个C程序的项目常常由很多的文件组成,那么,多文件的好处到底在哪里呢?一个最简单也最直接有力的理由就是,这样可以将一个大项目分成多个小的部分,独立开来,利于结构化管理。在修改和维护的时候,优势就更明显了。例如,需要对代码做一点小的改动,如果这个项目所有的代码都在一个文件中,那么就要重新编译所有这些代码,这是很耗时的,不仅效率低,而且维护难度更大。但是,如果是多个不同的文件,那么只需要重新编译这些修改过的文件就行了,而且其他源文件的目标文件都已经存在,没有必要重复编译,这样就会快捷很多。

因此,通过合理有效的划分,将一个项目分解为多个易于处理的文件,是非常明智的做法。多文件的管理方式非常正确的选择。

一个工程中的源文件不计其数,按其类型、功能、模块分别放在若干个目录中。makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作(因为makefile就像一个shell脚本一样,可以执行操作系统的命令)。

makefile带来的好处就是——“自动化编译”,一但写好,只需要一个make命令,整个工程完全编译,极大的提高了软件的开发效率。make是一个命令工具,是一个及时makefile中命令的工具程序。

make工具最主要也是最基本的功能就是根据makefile文件中描述的源程序至今的相互关系来完成自动编译、维护多个源文件工程。而makefile文件需要按某种语法进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文件,要求定义源文件之间的依赖关系。

实验目的:

学会编写Makefile。

实验要求:

实现一应用程序,该程序由两个c文件组成,使用makefile来完成文件的编译。

实验步骤:

1.用vi编译两个c文件文件fun.c内容如图,

efe08a9edcae2d224fff3daa2a1f4ce5.png

文件main.c内容如图,

bb49f31a99330d2aec1903fb90407b6d.png

文件fun.h内容如图,

47947ffe10cc9d8da56795d388778a73.png

2.使用gcc编译命令直接编译生成可执行文件main并运行查看结果,如图,

命令:

3.用vi编辑makefile内容如图,

781b9f1791e79df803b1255c3b763dc2.png

4.退出并保存,在shell中键入make,查看并运行产生可执行文件main,如图,

5.用vi打开makefile进行改写,用变量进行替换,如图,

9138416f99dbbaf11f354d9647130d89.png

退出保存后,在shell中执行make和make clean命令的效果和前面第4步效果是一样的。

6.改写makefile,使用自动变量,改写后情况如图,

bff233fb3f7bec3f2c90ac6ae165975e.png

退出保存后,在shell中执行make和make clean命令的效果和前面效果是一样的。

7.改写makefile,使用隐式规则,改写后如图,

8aa0a407ef6d895b4318b4944ba2f996.png

8.改写makefile,使用隐式规则,改写后如图,

8ba33d9e0390e4878e6e2f2f354a3aa3.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值