C语言15-makefile(2)——makefile的自定义变量及两个函数

1.自定义变量的声明及使用

makefile 复制代码
#声明变量
src=123
#使用变量
foo=$(src)

2.wildcard函数

  • 用法:
makefile 复制代码
$(wildcard <pattern>)
  • 作用:
    该函数会返回当前目录下匹配指定模式()的所有文件名。它通常用于获取特定类型的文件列表。
  • 示例
makefile 复制代码
# 获取当前路径下所有的.c文件
src = $(wildcard *.c)

3.patsubst函数

  • 用法:
makefile 复制代码
$(patsubst 参数1,参数2,参数3)
  • 作用:

    将参数3中匹配参数1的文字全部替换成参数2

  • 示例:

makefile 复制代码
# 获取当前目录下的所有.c文件的文件名
src = $(wildcard *.c)
# 将.c文件的文件名替换为.o
obj = $(patsubst %.c,%.o,$(src)) 

4.改写上一节的makefile文件

makefile 复制代码
src = $(wildcard *.c)
obj = $(patsubst %.c,%.o,$(src))

app:$(obj)
	gcc $(obj) -o app
hello.o:hello.c
	gcc -c hello.c -o hello.o
add.o:add.c
	gcc -c add.c -o add.o
sub.o:sub.c
	gcc -c sub.c -o sub.o
mul.o:mul.c
	gcc -c mul.c -o mul.o 
相关推荐
YaBingSec2 小时前
玄机靶场—Apache-druid(CVE-2021-25646) WP
java·开发语言·笔记·安全·php·apache
少控科技2 小时前
小数典应用:农场环境数据采集监控
开发语言·windows·c#
叶小鸡2 小时前
Java 篇-项目实战-天机学堂(从0到1)-day7
java·开发语言
原来是猿2 小时前
Linux线程同步与互斥(五):线程池的全面实现
linux·服务器·开发语言
eqwaak02 小时前
PyTorch入门:10分钟搭建首个神经网络
开发语言·人工智能·pytorch·python
雪碧聊技术2 小时前
上午题_计算机系统
java·开发语言
纤纡.2 小时前
解锁 Python 实用编程技巧:线程、视觉识别、正则匹配与装饰器实战
开发语言·python·深度学习·opencv
t***5442 小时前
如何在Dev-C++中配置Clang编译器
开发语言·c++
逆境不可逃2 小时前
一篇速通RabbitMQ (从入门到生产实战:核心原理、高级特性与 Spring Boot 集成全解)
开发语言·后端·ruby