当前位置:网站首页>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)
边栏推荐
- 解析各种文本的年月日
- Leetcode刷题——一些用层次遍历解决的问题(111. 二叉树的最小深度、104. 二叉树的最大深度、226. 翻转二叉树、剑指 Offer 27. 二叉树的镜像)
- Kettle Spoon 安装配置详解
- IPC通信 - 管道
- 布尔盲注需简化代码
- Oracle 分区索引详解(local、global)
- Execute the mysql script file in the docker mysql container and solve the garbled characters
- BeanFactory和FactoryBean的区别
- 自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
- 设备树解析源码分析<devicetree>-1.基础结构
猜你喜欢

嵌入式实验三(代码几乎都要改才能运行)

自监督论文阅读笔记Efficient Self-supervised Vision Pretraining with Local Masked Reconstruction

Kettle Spoon 安装配置详解

KASLR-内核地址空间布局随机化

自监督论文阅读笔记 TASK-RELATED SELF-SUPERVISED LEARNING FOR REMOTE SENSING IMAGE CHANGE DETECTION

设备树解析源码分析<devicetree>-1.基础结构

二叉树常见的问题和解决思路

经典论文-ResNet

嵌入式实验二注意点

Dynamic adjustment subject web system?Look at this one is enough
随机推荐
【HQL】(一)json字符串处理json_tuple和get_json_object
西塞罗 论老年
Kotlin 中的泛型介绍
page fault-页异常流程
controller层到底能不能用@Transactional注解?
中国生产力促进中心”十四五”规划与发展规模分析报告2022~2028年
动漫 吞噬星空
自监督论文阅读笔记 S3Net:Self-supervised Self-ensembling Network for Semi-supervised RGB-D Salient Object Det
自监督论文阅读笔记 TASK-RELATED SELF-SUPERVISED LEARNING FOR REMOTE SENSING IMAGE CHANGE DETECTION
自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
IPC 通信 - IPC
MySQL 安装报错的解决方法
php连接数据库脚本
BeanFactory和FactoryBean的区别
中国生物反应器行业市场投资分析及前景预测报告2022~2028年
漫谈Map Reduce 参数优化
Execute the mysql script file in the docker mysql container and solve the garbled characters
解决Gradle Download缓慢的百种方法
[XSS, file upload, file inclusion]
中国食品微生物检测行业深度监测及投资战略规划建议报告2022~2028年