aboutsummaryrefslogtreecommitdiff
path: root/docs/getting_started_make_guide.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/getting_started_make_guide.md')
-rw-r--r--docs/getting_started_make_guide.md27
1 files changed, 13 insertions, 14 deletions
diff --git a/docs/getting_started_make_guide.md b/docs/getting_started_make_guide.md
index 97383d950..b6f0f4ee2 100644
--- a/docs/getting_started_make_guide.md
+++ b/docs/getting_started_make_guide.md
@@ -1,22 +1,21 @@
1# More detailed make instruction 1# More detailed make instruction
2 2
3The full syntax of the `make` command is `<keyboard>-<subproject>-<keymap>-<target>`, where: 3The full syntax of the `make` command is `<keyboard_folder>:<keymap>:<target>`, where:
4 4
5* `<keyboard>` is the name of the keyboard, for example `planck` 5* `<keyboard_folder>` is the path of the keyboard, for example `planck`
6 * Use `allkb` to compile all keyboards 6 * Use `all` to compile all keyboards
7* `<subproject>` is the name of the subproject (revision or sub-model of the keyboard). For example, for Planck it can be `rev3` or `rev4`. 7 * Specify the path to compile a revision, for example `planck/rev4` or `planck/rev3`
8 * If the keyboard doesn't have any subprojects, it can be left out 8 * If the keyboard doesn't have any folders, it can be left out
9 * To compile the default subproject, you can leave it out, or specify `defaultsp` 9 * To compile the default folder, you can leave it out
10 * Use `allsp` to compile all subprojects
11* `<keymap>` is the name of the keymap, for example `algernon` 10* `<keymap>` is the name of the keymap, for example `algernon`
12 * Use `allkm` to compile all keymaps 11 * Use `all` to compile all keymaps
13* `<target>` will be explained in more detail below. 12* `<target>` will be explained in more detail below.
14 13
15The `<target>` means the following 14The `<target>` means the following
16* If no target is given, then it's the same as `all` below 15* If no target is given, then it's the same as `all` below
17* `all` compiles as many keyboard/revision/keymap combinations as specified. For example, `make planck-rev4-default-all` will generate a single .hex, while `make planck-rev-all` will generate a hex for every keymap available to the planck. 16* `all` compiles as many keyboard/revision/keymap combinations as specified. For example, `make planck/rev4:default:all` will generate a single .hex, while `make planck/rev4:all` will generate a hex for every keymap available to the planck.
18* `dfu`, `teensy` or `dfu-util`, compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for ChibiOS keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme. 17* `dfu`, `teensy` or `dfu-util`, compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for ChibiOS keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme.
19 * **Note**: some operating systems need root access for these commands to work, so in that case you need to run for example `sudo make planck-rev4-default-dfu`. 18 * **Note**: some operating systems need root access for these commands to work, so in that case you need to run for example `sudo make planck/rev4:default:dfu`.
20* `clean`, cleans the build output folders to make sure that everything is built from scratch. Run this before normal compilation if you have some unexplainable problems. 19* `clean`, cleans the build output folders to make sure that everything is built from scratch. Run this before normal compilation if you have some unexplainable problems.
21 20
22You can also add extra options at the end of the make command line, after the target 21You can also add extra options at the end of the make command line, after the target
@@ -30,9 +29,9 @@ The make command itself also has some additional options, type `make --help` for
30 29
31Here are some examples commands 30Here are some examples commands
32 31
33* `make allkb-allsp-allkm` builds everything (all keyboards, all subprojects, all keymaps). Running just `make` from the `root` will also run this. 32* `make all:all` builds everything (all keyboard folders, all keymaps). Running just `make` from the `root` will also run this.
34* `make ergodox-infinity-algernon-clean` will clean the build output of the Ergodox Infinity keyboard. 33* `make ergodox_infinity:algernon:clean` will clean the build output of the Ergodox Infinity keyboard.
35* `make planck-rev4-default-dfu COLOR=false` builds and uploads the keymap without color output. 34* `make planck/rev4:default:dfu COLOR=false` builds and uploads the keymap without color output.
36 35
37## `rules.mk` options 36## `rules.mk` options
38 37