improve qmk documentation

This commit is contained in:
Jimmy
2020-08-24 12:33:09 +08:00
parent 772d714a20
commit 09c1fa76b0
11 changed files with 29 additions and 20 deletions

View File

@@ -4,7 +4,7 @@
### Qmk 是什么
qmk 是TecentOS的一个Makefile编译框架。
[qmk](../../qmk) 是TecentOS的一个Makefile编译框架。
### Qmk 的特点
- 使用简单任意目录均可make支持帮助`make help`
@@ -77,6 +77,16 @@ make help
要求对所有board、所有gcc-toolchain、cpu、arch、bsp适用。
所以一般只包含通用的规则。
| 模板文件 |说明|
| :-------- |:------|
|[Make.tpl](../../qmk/generic/Make.tpl) | 一个目录或者多个目录编译成`.a`的通用模板 |
|[Make.exec](../../qmk/generic/Make.exec) | 多个`.a`链接成 `elf`,生成`.bin`的通用模板 |
|[Make.lib](../../qmk/generic/Make.lib) | 处理多个`.o`生成`.a`的通用模板|
|[Make.subdirs](../../qmk/generic/Make.subdirs) | 处理 make递归进入多个subdir make的通用模板|
|[Make.depend](../../qmk/generic/Make.depend) | 处理 一个`.o`依赖多个`.h`,的规则模板 |
|[Make.debug](../../qmk/generic/Make.debug) | 用于调试Makefile的模板|
|[Make.tools](../../qmk/generic/Make.debug) | 用于屏蔽在多种OS使用qmksed、等基础shell/cli命令路径不同 |
### boardpack-Makefile(mk/board-pack)
`board-pack/bp.TencentOS_tiny_EVB_MX_Plus` 属于这类。
@@ -309,25 +319,26 @@ board-pack 是对 board 在编译时的一个抽象。
## qmk的 make 命令行参数
```cookie
```shell
make help
```
### make V=1 E=1
```cookie
```shell
# verbose打印编译时的命令
make V=1
# 调试头文件包含,宏扩展时很有用,会在生成`.o`文件的同时生成`.i`预处理文件
make E=1
```
```cookie
```shell
# verbose打印链接时的库搜索过程
make V=2
make V=3
```
## 调试Makefile
```cookie
```shell
#进入含Makefile的目录
make BP=TencentOS_tiny_EVB_MX_Plus dm
```
## Qmk 后续