一篇文章教你掌握Makefile文件

前言:

        Makefile 是一个用于自动编译和链接程序的工具,在我们进行项目开发的过程中可以简化编译过程,提高开发效率。接下来我将介绍 Makefile 的基本概念、语法规则以及如何编写一个简单的 Makefile。

1.Makefile基本使用语法:

        Makefile 的基本语法包括以下几个部分:

        1.目标:目标是作为一个文件名,表示你需要生成/运行的是哪个文件。
        2.依赖:依赖是目标文件所依赖的其他文件(类似于库),通常是一个或者多个源文件库。
        3.命令:用于生成目标文件的shell命令。

2.Makefile示例:

        假设我们有一个简单的 C++ 程序,包含两个源文件 main.cpp 和test.cpp,我们需要编写一个 Makefile 来自动编译这个程序。(对于自己编写的话,基本框架不会改变。如下,内容就根据实际需要运行的名称修改就好。)

        首先,创建一个名为 Makefile 的文件,然后在文件中添加以下内容:
        注意:这里有个非常重要的地方是,我们可以看见在链接,编译命令的代码前都有空格,这里一定要是使用TAB键去留空,切勿打空格。
       
接下来,解释下这段代码,方便理解:
1.定义编译器:使用CC变量来存储编译器名称。
2.编译选项:使用CFLAGS变量存储编译选项。
3.目标文件:使用TARGET变量存储目标文件名称。
4.依赖关系:main目标依赖于main.o和test.o
5.链接命令:用于将这两个.o文件链接成可执行文件
6.编译命令:编译.cpp文件
7.清理命令:删除生成的目标文件和中间文件。
这里的1,3 ,4是一个Makefile文件的基础。

# 定义编译器
CC = g++

# 编译选项
CFLAGS = -Wall -g

# 目标文件
TARGET = main

# 依赖关系
$(TARGET): main.o test.o

# 链接命令
    $(CC) $(CFLAGS) -o $(TARGET) main.o test.o

# 编译命令
main.o: main.cpp
    $(CC) $(CFLAGS) -c main.cpp

factorial.o: factorial.cpp
    $(CC) $(CFLAGS) -c test.cpp

# 清理命令
clean:
    rm -f *.o $(TARGET)

 3.Makefile使用方法:

        在终端中,进入Makefile文件所在目录然后直接输入以下指令,来自动编译并且生成链接程序和可执行main文件(这种方法简单,但对于多线程的使用可能容易出现问题。所以还是建议自己去创建编写Makefile文件)

make

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值