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 
相关推荐
懂点Tech1 天前
ctfshow misc28:GIF 高度修改解题与脚本实现
开发语言·windows·python
云和数据.ChenGuang1 天前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
小向是个Der1 天前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本
美狐美颜SDK开放平台1 天前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
dtq04241 天前
C++小案例 - 日志实战
开发语言·c++
星夜离尘561 天前
MATLAB ADC 码流触顶诊断:命中数、缺口分段与削顶不可辨识性
开发语言·matlab
码匠许师傅1 天前
【C++三方组件】Qt 概览:桌面 C++ 的事实标准与许可证三轨
开发语言·c++·qt
码匠许师傅1 天前
【C++三方组件】POCO:跨平台系统编程全家桶
开发语言·c++
bkspiderx1 天前
基于Socket的广播通信及C语言实现详解
c语言·开发语言·socket·广播·socket的广播通信
小王C语言1 天前
Qt常用控件:输入类控件,单行/多行输入框、下拉框、(日期)微调框、旋钮、滑动条
开发语言·qt