Makefile
为了搞懂NVBoard是怎么工作的,先看一下它的构建规则是怎么样的
其构建规则在/scripts/nvboard.mk中,Makefile的一些补充知识
自动变量:
$@: 目标$<: 第一个依赖$^: 所有依赖(去重)$+: 所有依赖(不去重)命令前加
@,不在终端中显示该命令,但仍会显示输出内建变量:
CXX: cpp编译器CC: c编译器CPPFLAGS: 编译器选项CFLAGS赋值
=: 展开赋值(动态值),使用时才赋值:=: 立即赋值(静态值)+=: 追加赋值?=: 条件赋值,只有在没有被定义的时候才会赋值同名目标的多个规则会合并
依赖中的变量会在读取Makefile时展开(编读边展开),而规则中的变量会在使用时展开。而Makefile会读取完整个文件后再执行对应的规则
Makefile 默认的 target 是 file 中的第一个 target
接入NVBoard(流水灯)
编写Makefile
参考NVBoard/example中的Makefile,但有几点是要注意的