224.Makefile的使用

Makefile是一种用于管理和自动化软件编译过程的文本文件。它通常包含了一系列规则,这些规则描述了如何根据源代码文件生成可执行文件或者其他目标文件。Makefile的核心概念是规则和依赖关系,规则定义了如何生成一个或多个目标文件,而依赖关系则指定了生成目标文件所需要的源文件或其他依赖文件。下面我们通过一步一步编写Makefile来学习Makefile规则。

(1)linux下安装build-essential工具包

sudo apt install -y build-essential

(2)​​​为main.c和hello.c编写基本Makefile

hello.h
#ifndef __HELLO_H__
#define __HELLO_H__

void say_hello();

#endif

hello.c
#include "hello.h"
#include <stdio.h>

void say_hello()
{
    printf("Hello world!\n");
}

main.c
#include "hello.h"

int main()
{
    say_hello();
    return 0;
}
# Makefile内容通常由以下部分组成
# <目标>: <前置依赖>
#     <需要执行的命令>

# 放在第一个的是默认目标
# 目标为编译出main文件,依赖main.o和hello.o文件
# 编译的命令为 gcc -o main hello.o main.o
main: hello.o main.o
	gcc -o main hello.o main.o

# main.o目标依赖main.c hello.h
# 编译命令为gcc -c main.c
main.o: main.c hello.h
	gcc -c main.c

# hello.hello.c hello.h
# 编译命令为gcc -c hello.c
hello.o: hello.c hello.h
	gcc -c hello.c

# clean目标可以清理编译的临时文件
clean:
	rm main main.o hello.o

执行Makefile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清酒。233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值