美文网首页DPDK文档翻译DPDK学习指南
DPDK编程指南(翻译)( 三十二)

DPDK编程指南(翻译)( 三十二)

作者: 半天妖 | 来源:发表于2017-11-17 09:39 被阅读166次

    32. DPDK 根目录 Makefile 理解

    DPDK提供了一个根目录级别的Makefile,包含配置,构建,清理,测试,安装等目的。 这些操作将在下面的部分中进行解释。

    32.1. 配置 Targets

    配置 target 需要使用 T=mytarget 指定target的名称,这个操作不能省略。 可用的target列表位于 $(RTE_SDK)/config 中(移除defconfig _ 前缀)。

    配置target还支持使用 O=mybuilddir 来指定输出目录的名称。 这是一个可选配置,默认的输出目录是build。

    • Config

      这将创建一个构建目录,并从模板中生成一个配置。 同时会在构建目录下生成一个 Makefile 文件。

      例如:

      make config O=mybuild T=x86_64-native-linuxapp-gcc
      

    32.2. 构建 Targets

    构建 targets 支持输出目录名称可选规则,使用 O=mybuilddir。 默认的输出目录是build。

    • all, build or just make

      在前面由make config创建的目录上构建DPDK。

      例如:

      make O=mybuild
      
    • clean

      清除所有由 make build 生成的目标文件。

      例如:

      make clean O=mybuild
      
    • %_sub

      只构建某个目录,而不管对其他目录的依赖性。

      例如:

      make lib/librte_eal_sub O=mybuild
      
    • %_clean

      清除对子目录的构建操作结果。

      例如:

      make lib/librte_eal_clean O=mybuild
      

    32.3. 安装 Targets

    32.4. 测试 Targets

    • test

      对使用 O=mybuilddir 指定的构建目录启动自动测试。 这是可选的,默认的输出目录是build。

      例如:

      make test O=mybuild
      

    32.5. 文档 Targets

    • doc

      生成文档(API和指南)。

    • doc-api-html

      在html中生成Doxygen API文档。

    • doc-guides-html

      在html中生成指南文档。

    • doc-guides-pdf

      用pdf生成指南文档。

    32.6. 其他 Targets

    • help

      显示快速帮助。

    32.7. 其他有用的命令行变量

    以下变量可以在命令行中指定:

    • V=

      启用详细构建(显示完整的编译命令行和一些中间命令)。

    • D=

      启用依赖关系调试。 这提供了一些关于为什么构建目标的有用信息。

    • EXTRA_CFLAGS=, EXTRA_LDFLAGS=, EXTRA_LDLIBS=, EXTRA_ASFLAGS=, EXTRA_CPPFLAGS=

      附加特定的编译,链接或汇编标志。

    • CROSS=

      指定一个交叉工具链头部,该头部将作为所有gcc/binutils应用程序的前缀。这只适用于使用gcc。

    32.8. 在需要构建的目录中执行Make

    上面描述的所有目标都是从SDK根目录 $(RTE_SDK) 调用的。 也可以在build目录中运行相同的Makefile target。 例如,下面的命令:

    cd $(RTE_SDK)
    make config O=mybuild T=x86_64-native-linuxapp-gcc
    make O=mybuild
    

    相当于:

    cd $(RTE_SDK)
    make config O=mybuild T=x86_64-native-linuxapp-gcc
    cd mybuild
    
    # no need to specify O= now
    make
    

    32.9. 编译为调试 Target

    要编译包含调试信息和优化级别设置为0的DPDK和示例应用程序,应在编译之前设置EXTRA_CFLAGS环境变量,如下所示:

    export EXTRA_CFLAGS='-O0 -g'
    

    相关文章

      网友评论

        本文标题:DPDK编程指南(翻译)( 三十二)

        本文链接:https://www.haomeiwen.com/subject/vepdvxtx.html