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 
相关推荐
郝学胜-神的一滴18 小时前
Qt 入门 01-01:从零基础到商业级客户端实战
开发语言·c++·qt·程序人生·软件构建
测试员周周18 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
摇滚侠19 小时前
@Autowired 和 @Resource 的区别
java·开发语言
Wy_编程19 小时前
go语言中的结构体
开发语言·后端·golang
SeaTunnel19 小时前
(八)收官篇 | 数据平台最后一公里:数据集成开发设计与上线治理实战
java·大数据·开发语言·白鲸开源
大卡片20 小时前
C++的基础知识点
开发语言·c++
郑同学的笔记20 小时前
【Qt教程29】Qt5和Qt6版本对比
开发语言·qt
基德爆肝c语言20 小时前
Qt 主窗口全家桶:菜单栏、工具栏、状态栏与对话框完全指南
开发语言·qt
XMYX-01 天前
28 - Go JSON 数据操作
开发语言·golang·json
三*一1 天前
Mapbox GL JS 自研面要素整形工具开发实录
开发语言·javascript·arcgis·ecmascript