当前位置:网站首页>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)
边栏推荐
- Hook初探索
- 西塞罗 论老年
- 自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning
- Convolutional Nerual Nertwork(CNN)
- cmdline -[command line,__fdt_pointer,initial_boot_params] boot_command_line 获取
- 自监督论文阅读笔记FIAD net: a Fast SAR ship detection network based on feature integration attention and self
- 中国生物降解塑料行业市场运营态势及发展趋势研究报告2022~2028年
- Mysql 外键详解(Foreign Key)
- Mysql 预准备语句详解(prepare、execute、deallocate)
- NFT租赁提案EIP-5006步入最后审核!让海外大型游戏的链改成为可能
猜你喜欢

MySQL 下载和安装详解
代码没写完,哪里有脸睡觉!17 张程序员壁纸推荐

自监督论文阅读笔记 Self-supervised Learning in Remote Sensing: A Review

Dynamic adjustment subject web system?Look at this one is enough

【 Nmap and Metasploit common commands 】

自监督论文阅读笔记 Multi-motion and Appearance Self-Supervised Moving Object Detection

Leetcode刷题——一些用层次遍历解决的问题(111. 二叉树的最小深度、104. 二叉树的最大深度、226. 翻转二叉树、剑指 Offer 27. 二叉树的镜像)

【第一周】深度学习和pytorch基础

softmax和最大熵
ASP.NET MVC3的伪静态实现
随机推荐
Kettle Spoon 安装配置详解
enum和enum class的区别
虚拟地址空间布局
[XSS, file upload, file inclusion]
中国磷化铟技术行业发展趋势与前景规划建议报告2022~2028年
磁盘空间管理
c#,.net 下载文件 设置断点
用户登录验证程序的实现
嵌入式实验二
Gradle插件与代理服务器导致Sync Project失败的问题
动漫 吞噬星空
【DC-5 Range Penetration】
进程间通讯 (IPC 技术) - 信号
当奈飞的NFT忘记了web2的业务安全
理论上的嵌入式跑马灯
代码没写完,哪里有脸睡觉!17 张程序员壁纸推荐
ARMv8 架构----armv8 类别
Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})
自监督论文阅读笔记 S3Net:Self-supervised Self-ensembling Network for Semi-supervised RGB-D Salient Object Det
3559. 围圈报数