微知-Mellanox OFED编译的一些细节?无法编译怎么办?如何添加自定义编译选项?

0. 背景

本文记录Mellanox OFED编译的一些常见问题,经常有人问或者遇到,特此记录。Mellanox OFED编译框架,从文件视角是configure脚本进行配置检查和配置,makefile进行编译管理,结合内核编译框架完成最终编译,configure之后基本遵循内核这一套。

1. 要点

  • configure本质是一个shell脚本,接受–xxx的shell参数,会先定义shell变量,然后根据shell变量,定义makefile变量到configure.mk.kernel或其他中
  • Makefile脚本中定义了根据configre指定的CONFIG的Makefile变量,决定编译哪些模块,makefile中定义了编译规则,比如make install的tag
  • compat/config.h configure之后自动生成的动态头文件,如果未config会编译报错,配置文件放在这里
  • config的日志在compat/config.log中,如果config失败,可以从这里查看
    在这里插入图片描述
  • 如果要查看详细编译过程 使用 make -j V=1 #V=1表示verbose模式,可以查看详细gcc参数
  • 还有一个查看gcc参数的方法:每个目录下面对应的文件,有隐藏文件.xxxfile.o.cmd 该部分会存储详细编译参数,可以在自定义编译的时候查看参数是否符合预期等
    在这里插入图片描述
    在这里插入图片描述

关键要点

./configure 之后的CONFIG参数会放到当前目录的configure.mk.kernel中

在这里插入图片描述
./configure xxx之后,会有很多配置,比如–

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值