Makefile 中向下传参问题讨论

简介:

发现一个规律,凡是在上一级Makefile中这样执行:make -C xxx CFLAGS="$(CFLAGS)",那么在 xxx/Makefile 中对 CFLAGS 的设置就会不生效。


做个实验

建一个这样的目录:

Makefile 的内容:


CFLAGS=-I../xxx
 
all:
    @echo ---top:CFLAGS=$(CFLAGS)---
    make -C sub CFLAGS="$(CFLAGS)"

sub/Makefile 的内容:


CFLAGS+=-L/usr/include
 
all:
    @echo ---sub:CFLAGS=$(CFLAGS)---

我们在 sub/Makefile 中让 CFLAGS 追加了 -L/usr/include
按理解,sub/Makefile 的输出结果应该是:-I../xxx -L/usr/include,而实现输出的内容是 -I../xxx

证明 sub/Makefile 中 CFLAGS+=-L/usr/include 根本就没有生效。


规避方法

那应该怎么办呢? 尝试过了,将 Makefile 改成这样:


CFLAGS=-I../xxx
export CFLAGS
 
all:
    @echo ---top:CFLAGS=$(CFLAGS)---
    make -C sub

用 export 关键字来向下传 CFLAGS 变量就可以了。


提问

就算是规避了,但这个现象的根本问题是什么?如何解决?

目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】十大算法之一 “神经网络”
神经网络是一种模拟人脑信息处理方式的算法,其通过神经元之间不断传递信息、调节连接权重等方式进行学习和预测,最终实现数据分类、识别等功能。由于神经网络算法的强大功能和广泛应用,其在过去几十年间经历了多次的发展和变革。神经网络算法是一种非常强大和广泛应用的算法,其在数据分类、预测、图像处理、自然语言处理等领域都有着非常出色的表现。神经网络算法的发展历程从原始的感知机模型到多层神经网络,再到卷积神经网络,反应了机器学习的发展过程,各个模型优点互补,使神经网络在各个领域得以深入应用。
1043 0
【机器学习】十大算法之一 “神经网络”
|
机器学习/深度学习 数据挖掘 计算机视觉
经典神经网络论文超详细解读(一)——AlexNet学习笔记(翻译+精读)
经典神经网络论文超详细解读(一)——AlexNet学习笔记(翻译+精读)
2355 3
经典神经网络论文超详细解读(一)——AlexNet学习笔记(翻译+精读)
|
搜索推荐 测试技术 数据库
QPS、TPS、RT、并发数、吞吐量分别是什么意思
QPS、TPS、RT、并发数、吞吐量分别是什么意思
5287 0
|
10月前
|
并行计算 PyTorch 算法框架/工具
74_调试技巧:OOM与性能瓶颈
在大型语言模型(LLM)的开发与部署过程中,内存溢出(Out of Memory,简称OOM)错误和性能瓶颈问题是开发者经常面临的两大挑战。随着模型规模的不断扩大(从最初的BERT、GPT-2到现在的GPT-4、Claude 3等千亿甚至万亿参数的模型),这些问题变得更加突出。据2025年最新的开发者调查报告显示,超过78%的LLM开发者在模型训练或推理过程中遇到过OOM错误,而性能瓶颈则影响了约65%的生产环境部署。
850 0
|
人工智能 自动驾驶 机器人
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界
过去22个月,AI发展速度超过任何历史时期,但我们依然还处于AGI变革的早期。生成式AI最大的想象力,绝不是在手机屏幕上做一两个新的超级app,而是接管数字世界,改变物理世界。
24952 73
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界
|
人工智能 自然语言处理 机器人
对话阿里云 CIO 蒋林泉:AI 时代,企业如何做好智能化系统建设?
10 月 18 日, InfoQ《C 位面对面》栏目邀请到阿里云 CIO 及 aliyun.com 负责人蒋林泉(花名:雁杨),就 AI 时代企业 CIO 的角色转变、企业智能化转型路径、AI 落地实践与人才培养等主题展开了讨论。
24662 69
对话阿里云 CIO 蒋林泉:AI 时代,企业如何做好智能化系统建设?
如何设置条件格式以填充颜色?
【10月更文挑战第21天】如何设置条件格式以填充颜色?
1537 2
|
人工智能 架构师 IDE
阿里云通义灵码重磅升级,能自主修BUG、开发应用的AI程序员来了
通义灵码AI编程能力再进化,说几句话就能开发网页
23841 9
|
存储 人工智能 数据处理
阿里云CTO周靖人:全面投入升级AI大基建
9月19日,在2024杭州云栖大会上,阿里云CTO周靖人表示,阿里云正在围绕AI时代,树立一个AI基础设施的新标准,全面升级从服务器到计算、存储、网络、数据处理、模型训练和推理平台的技术架构体系,让数据中心成为一台超级计算机,为每个AI和应用提供高性能、高效的算力服务。
24040 15
|
存储 数据库连接 API
构建RESTful API:使用FastAPI实现高效的增删改查操作
构建RESTful API:使用FastAPI实现高效的增删改查操作
1072 0