当前位置:网站首页>Makefile自动推导的简单例程
Makefile自动推导的简单例程
2022-08-03 05:24:00 【langaopeng】
最近在深入的研究Makefile的编译过程。发现看Makefile代码时,觉得挺简单。其实不然,当你合上课本写的时候,发现有时就是不按照你的思想走。下面我用最简单的例子分享一下Makefile自动根据C代码的include情况推导规则。
1 在同一个目录下建立test.c,test_sub.c,test.h, test1.h, test2.h。test.c包含test.h,test.h包含test1.h,test1.h包含test2.h。
Makefile代码如下:
src :=test.c test_sub.c
obj:=$(src:.c=.o)
def:=$(src:.d=.o)
IFLAGS:= -I.
test:$(obj)
cc -o test $(obj) $(LDFLAGS) $(IFLAGS)
%.d:%.c
cc -MF $(@:%.o=%.d) -o @ -M $^ #生成test.d test_sub.d 内容为:test.o:test.c .....
sed -i 's/\(.*\)\.o:/\1\.o \1\.d:/g' [email protected] #将test.o:test.c变成test.o test.d:test.c .....
-include $(def) #包含.d文件,自动推导成隐晦规则
.PHONY : clean
clean:
-rm $(obj) $(def)
边栏推荐
- 自监督论文阅读笔记 Self-supervised Learning in Remote Sensing: A Review
- 自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning
- 关于如何向FastAPI的依赖函数添加参数
- Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})
- Kotlin 中的泛型介绍
- 自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
- 中国食品产业园区行业前景规划建议及投融资模式分析报告2022~2028年
- [frp intranet penetration]
- Mysql 预准备语句详解(prepare、execute、deallocate)
- 动漫 吞噬星空
猜你喜欢
自监督论文阅读笔记Reading and Writing: Discriminative and Generative Modelingfor Self-Supervised Text Recogn
滚动条 scrollbar 和scrollbar-thumb 样式
自监督论文阅读笔记FIAD net: a Fast SAR ship detection network based on feature integration attention and self
EIP-5058 能否防止NFT项目方提桶跑路?
自监督论文阅读笔记 S3Net:Self-supervised Self-ensembling Network for Semi-supervised RGB-D Salient Object Det
交叉熵(第六周)
Qlik Sense 赋值详解(Set、Let)
关于梯度下降法的一些优化方法
Oracle 密码策略详解
自监督论文阅读笔记SELF-SUPERVISED SPECTRAL MATCHING NETWORK FOR HYPERSPECTRAL TARGET DETECTION
随机推荐
自监督论文阅读笔记Reading and Writing: Discriminative and Generative Modelingfor Self-Supervised Text Recogn
Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})
Invalid signature file digest for Manifest main attributes解决方法
【第四周】MobileNet和HybridSN
Delightful Nuxt3 Tutorial (1): Application Creation and Configuration
中国水产养殖行业市场投资分析及未来风险预测报告2022~2028年
自监督论文阅读笔记 DetCo: Unsupervised Contrastive Learning for Object Detection
[Rebound shell and privilege escalation]
mysql 客户端SSL错误2026 (HY000)
Qlik Sense 字符串截取和拼接详解(Left、Right、&)
中国认证认可服务行业“十四五”发展规划及经营模式分析报告2022~2028年
代码没写完,哪里有脸睡觉!17 张程序员壁纸推荐
Mysql 外键详解(Foreign Key)
进程间通讯 (IPC 技术) - 信号
优雅的拦截TabLayout的点击事件
opencv
自监督论文阅读笔记DisCo: Remedy Self-supervised Learning on Lightweight Models with Distilled Contrastive
自我监督学习和BERT模型
寄存器常见指令
Sentinel初次使用Demo测试