Makefile —— 如何在文件内使用变量?

C 语言 同时被 2 个专栏收录
68 篇文章 6 订阅

在上篇Makefile —— Makefile的规则是什么?make是如何工作的?make的工作方式是什么?文章中我们可以看到[.o]文件的字符串被重复用了三次,如果我们在工程中需要加入一个新的[.o]文件,那么我们需要在三个地方加。

# 为了makefile文件易维护,我们使用变量来表示。
# makefile的变量也就是一个字符串,理解成C语言中的宏会更好
#
# 声明一个变量,objects, OBJECTS, objs, OBJS,obj, 或者是 OBJ
#
# 如果有新的.o文件加入,我们只需简单的修改一下objects变量就好

Makefile文件代码如下:

CC=gcc

objects=b.o a.o

all:edit
    @echo "all"

edit:$(objects)
    @$(CC) -o edit $(objects)
    @echo "edit"

a.o:a.c a.h common.h
    @$(CC) -c a.c -o a.o
    @echo "a.o"

b.o:b.c b.h common.h
    @$(CC) -c b.c -o b.o
    @echo "b.o"

.PHONY:clean
clean:
    @rm -f edit $(objects)

结果显示如下:

 若工程未被编译过:
#       打印结果为: b.o >然后是> a.o >然后是>  edit >然后是> all
# 若编译好后,只是修改了a.h文件:
#       打印结果为:  a.o >然后是> edit >然后是> all

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

杰儿__er

感你小爷的鼓励

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值