0%

接入NVBoard

Makefile

为了搞懂NVBoard是怎么工作的,先看一下它的构建规则是怎么样的

其构建规则在/scripts/nvboard.mk中,Makefile的一些补充知识

  1. 自动变量:

    $@: 目标

    $<: 第一个依赖

    $^: 所有依赖(去重)

    $+: 所有依赖(不去重)

  2. 命令前加@,不在终端中显示该命令,但仍会显示输出

  3. 内建变量:

    CXX: cpp编译器

    CC: c编译器

    CPPFLAGS: 编译器选项

    CFLAGS

  4. 赋值

    =: 展开赋值(动态值),使用时才赋值

    :=: 立即赋值(静态值)

    +=: 追加赋值

    ?=: 条件赋值,只有在没有被定义的时候才会赋值

  5. 同名目标的多个规则会合并

  6. 依赖中的变量会在读取Makefile时展开(编读边展开),而规则中的变量会在使用时展开。而Makefile会读取完整个文件后再执行对应的规则

  7. Makefile 默认的 target 是 file 中的第一个 target

接入NVBoard(流水灯)

编写Makefile

参考NVBoard/example中的Makefile,但有几点是要注意的