简单的Makefile文件批处理

本文介绍了如何创建简单的Makefile文件以实现Linux编程中的一键编译和清理任务。主要内容包括Makefile的基本结构、规则、变量以及常用指令,如编译源文件为对象文件,链接生成可执行文件,以及清理目标文件。通过学习,初学者可以快速掌握基本的Makefile编写技巧,提升编程效率。

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

笔者同广大的初学者一样,很羡慕能一个make就干需要敲很多命令的事情。虽然没有系统的学过Linux,对shell和Makefile只了解皮毛中的皮毛,但是在我看来东西只有在用的时候再去学习,才爱得真切。本文将简单介绍最简单的且能满足需求的Makefile。

1、make命令依赖于Makefile文件,文件名就叫做Makefile或者makefile,没有后缀名。

2、Makefile文件集成了整个程序编译和链接过程,当然,电脑只是一个机器,如果要完美地完成整个过程,需要我们告诉它是哪个.C文件生出了哪个.O文件,哪些.O文件生出了可执行文件。

3、Makefile的组成: 规则+变量

目标:依赖

             命令(注意,前面一定是tab键)

通过命令执行之后,依赖生成了目标,比如.C文件生成.O文件

4、“伪目标,只有目标没有依赖,通常用关键字.PHONY:clean标明。”这句话是度娘的,我也没理解到,不过既然是简单的Makefile,那么只要记得有这么一句话就行了。

5、最终目标:执行make,在命令行输入make ,则执行第一条,如果想要执行其他的,则输入make+name

6、简单makefile分析

.PHONY:clean           这一行不知道干什么用,写上就行了

CC=gcc                                 gcc为编译器

OBJ= game.o init.o 目标文件由哪些.C文件生成就写哪些,注意后缀是.o

BIN=game                           最后生成的目标文件名

game:$(OBJ)

          $(CC) -o $@ $^         这个翻译过来的意思gcc -o game game.o init.o

%.o:%.c

          $(CC) -c $<                 把所有.c文件编译成.o文件

clean:

          rm -f *.o                    删除所有.o文件

执行make之后会在当前目录下生成对应的.o文件和目标文件;执行make clean之后会删除当前目录下的.o文件,这也就完成了一个目标文件由多个.c文件组成的编译任务。

以上的东东,大约在Linux编程过程中已经足够用了。更深入的东东就等到需要用到更深入的时候在深入的学习吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值