生成多个目标文件的Makefile文件

在Linux编程中,Makefile简化了程序编译的过程。本文介绍了如何编写一个简单的Makefile,用于生成多个目标文件,如encoder和decoder。通过声明编译器、目标文件、源文件以及依赖关系,利用make命令自动处理编译和链接,提高效率。同时,提到了clang编译器的优点,以及Makefile中的一些关键变量和规则。
摘要由CSDN通过智能技术生成

Makefile简介

在Linux上编程,常常需要编写Makefile来编译程序。编译的过程大致可以分为两个步骤:第一步由.c和.h文件编译生成中间代码文件(即.o文件);第二步把多个中间代码文件链接合并为一个目标文件(即可执行程序)。Linux上的GNU make命令会对Makefile中的指令进行解释执行,比手工调用clang或gcc来编译程序方便而且高效。关于Makefile文件的用途、格式、工作原理等详见CSDN上陈皓(haoel)的博客“跟我一起写 Makefile”系列文章。简单地说,Makefile文件指明了文件之间的依赖关系,make命令会根据各个文件的修改时间确定哪些文件需要重新编译,生成所需要的文件并链接目标程序

一个真正的coder,是有必要花时间认真系统地学习下的。但是,对于一般的小项目和课程作业,可能不需要学习复杂的Makefile文件编写规则。下面贴出来一个可供参考的Makefile。例如,项目中包含若干.h 和.c 文件,需要编译生成目标文件encoder和decoder。示例Makefile文件如下所示:


Makefile示例

segment 1:

CFLAGS = -Wall -Wextra -Werror -Wpedantic -std=c99
CC = clang $(CFLAGS)

第二行指定使用的编译器为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值