Makefile的引入及规则

Makefile 的引入

使用开发工具开发程序时,点点鼠标就可以对其进行编译了;但是内部机制是怎么样的呢?他们是怎么管理代码的?又是怎么决定编译哪一个文件的

实际上widows工具管理程序的内部工具也是Makefile,在Linux开发裸板程序的时候,也是使用Makefile来管理这些程序的。

接下来我们手动来管理这个文件和程序
a.c

#include <stdio.h>

int main()
{
	func_b();
	return 0;
}

b.c

#include <stdio.h>

void func_b()
{
	printf("This is B \n");
}

编译:

gcc -o test a.c b.c

运行:

./test

结果:

This is B

gcc -o test a.c b.c 这条命令虽然简单,但是它完成的功能不简单。

Makefile 的规则

目标: 依赖1 依赖2...
[tab]命令

当依赖比目标文件新,则执行它们下面的命令。

test: a.o b.o
	gcc -o test a.o b.o

a.o: a.c
	gcc -c -o a.o a.c

b.o: b.c
	gcc -c -o b.o b.c
  1. 只更新 a.c,则会得到下面两条指令
gcc -c -o a.o a.c
gcc -o test a.o b.o
  1. 只更新 b.c 也是同理

  2. 如无更新,就会显示如下

make: 'test' is up to date.
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值