Makefile学习之路13 —— 自动生成依赖关系(下)

本文探讨了在Makefile中如何管理和组织.deps文件,以确保目标文件依赖关系的正确生成。文章介绍了当.deps文件不存在时,如何通过规则创建并将其放在deps文件夹中。同时,针对make在检测deps文件夹变化可能导致的不必要的重新解析和命令执行,文章提出了使用ifeq条件判断和include的“暗黑操作”来避免问题,包括使用-include来忽略错误和理解include命令在文件夹存在与否情况下的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文写于 狄泰软件学院Makefile课程 学后总结

 问题

        如何在makefile中组织 .dep 文件到指定目录?

解决思路

        - 当 include 发现 .dep 文件不存在:

                1. 通过规则和命令创建 deps 文件

                 2. 将所有 .dep 文件创建到 deps 文件夹

                 3.  .dep文件中记录目标文件的依赖关系

初步代码设计:


$(DIR_DEPS) :
    $(MKDIR) $@

$(DIR_DEPS)/%.dep : $(DIR_DEPS)%.c
    @echo "Creating $@ ..."
    @set -e; \
    $(CC) -MM -E $(fifter %.c, $^) | sed 's,\(.*\)\.o[ :]*,objs/\1.o:,g''>$@

 

问题分析

     deps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值