linux makefile简单介绍

本文详细解析了Linux环境下Makefile的基本概念、核心组成部分及其应用实例,包括目标文件、依赖文件和构建命令。通过一个具体示例,展示了如何使用Makefile将多个源文件链接成最终的可执行文件,以及如何实现清理操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们来看看linux下面的Makefile的规则:

target ... : prerequisites ...
command
...
...
target也就是一个目标文件,可以是Object File,也可以是执行文件。
prerequisites就是,要生成那个target所需要的文件或是目标。
command也就是make需要执行的命令。(任意的Shell命令)
这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在command中。说白一点就是说,prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。这就是Makefile的规则。也就是Makefile中最核心的内容。

简单的来个例子:首先我们新建一个a.h文件

#include<stdio.h>
int add(int x,int y);
然后新建一个a.c文件

#include"a.h"
int add(int x , int y )
{
	return x + y;
}
最后我们新建一个b.c
#include<stdio.h>
#include"a.h"
int main()
{
	printf("make file anwser is %d\n",add(3,4));
	return 0 ;
}
下面我们要做的就是把这几个文件通过makefile连接起来。这里直接贴出来。

obj=a.o b.o
c : $(obj)
        g++ -o c $(obj)
a.o : a.c a.h
        g++ -c a.c a.h
b.o : a.c b.c a.h
        g++ -c a.c b.c a.h
clean:
        rm  $(obj)

下面的clean就是当你输入make clean的时候执行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值