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 
相关推荐
91刘仁德2 小时前
C++ 继承和多态 设计模式
c语言·c++·笔记
码行山野赴时序归途2 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55232 小时前
单体项目编写思路和落地形式
java·开发语言
库玛西3 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
计算机毕设定制辅导-无忧学长3 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
Ivanqhz3 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir
m0_734571763 小时前
深入理解C++ RAII
开发语言·c++
泡海椒3 小时前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
雷✘3 小时前
C 语言预处理中的宏展开、条件编译与头文件保护
c语言
aramae3 小时前
模拟实现memset()(C语言)
c语言·开发语言·后端