makefile学习过程中的一些坑

本文介绍了在学习使用makefile时遇到的两个问题。一是由于include的依赖导致的死循环,原因是文件夹时间戳的变化。解决方法是通过判断文件夹存在与否,将文件名赋值给变量避免直接依赖文件夹。二是即使已经make过,系统仍然进行编译。作者发现这可能与文件时间戳有关,并应用了类似的方法来解决问题。
摘要由CSDN通过智能技术生成

在这里插入图片描述
makefile工作所创建编译的目录结构如上图所示。

在学习驾驭makefile时,里面在创建dep依赖文件时,用include包含进来后,或发生死循环的现象,原因是一直依赖于文件夹,而文件夹因为每次文件的创建更改导致文件夹的时间也跟着变化。解决办法是首先判断文件夹是否存在,然后如果不存在,就将文件名赋值给一个变量,让dep依赖于新创建的变量,而不是原来的dep文件夹的名字。

CC=gcc
RM=rm
MKDIR=mkdir
DIR_OBJ=obj
DIR_INC=inc
DIR_EXE=exe
DIR_O=o
DIR_DEPS=deps
DIR=${DIR_EXE} ${DIR_O} ${DIR_DEPS}<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值