From 19dbcf38149a2ba9a51935aae36c276a6dbd4b01 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 16 Mar 2020 14:27:19 +0000 Subject: [PATCH] Document 'make all:' (#8439) * Document 'make all:' * add cli docs * Apply suggestions from code review Co-Authored-By: skullydazed Co-authored-by: skullydazed --- docs/cli_commands.md | 6 ++++++ docs/feature_userspace.md | 20 ++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/cli_commands.md b/docs/cli_commands.md index bffa8263e7..eb5362bd29 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -57,6 +57,12 @@ Must be in keyboard directory with a default keymap, or in keymap directory for qmk compile ``` +**Usage for building all keyboards that support a specific keymap**: + +``` +qmk compile -kb all -km +``` + **Example**: ``` $ qmk config compile.keymap=default diff --git a/docs/feature_userspace.md b/docs/feature_userspace.md index a2657c1f60..ac0a1360d9 100644 --- a/docs/feature_userspace.md +++ b/docs/feature_userspace.md @@ -97,13 +97,25 @@ You'd want to replace the year, name, email and github username with your info. Additionally, this is a good place to document your code, if you wish to share it with others. -# Examples +## Build All Keyboards That Support a Specific Keymap + +Want to check all your keymaps build in a single command? You can run: + + make all: + +For example, + + make all:jack + +This is ideal for when you want ensure everything compiles successfully when preparing a [_Pull request_](https://github.com/qmk/qmk_firmware/pulls). + +## Examples For a brief example, checkout [`/users/_example/`](https://github.com/qmk/qmk_firmware/tree/master/users/drashna). For a more complicated example, checkout [`/users/drashna/`](https://github.com/qmk/qmk_firmware/tree/master/users/drashna)'s userspace. -## Customized Functions +### Customized Functions QMK has a bunch of [functions](custom_quantum_functions.md) that have [`_quantum`, `_kb`, and `_user` versions](custom_quantum_functions.md#a-word-on-core-vs-keyboards-vs-keymap) that you can use. You will pretty much always want to use the user version of these functions. But the problem is that if you use them in your userspace, then you don't have a version that you can use in your keymap. @@ -130,7 +142,7 @@ The `_keymap` part here doesn't matter, it just needs to be something other than You can see a list of this and other common functions in [`template.c`](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/template.c) in [`users/drashna`](https://github.com/qmk/qmk_firmware/tree/master/users/drashna). -## Custom Features +### Custom Features Since the Userspace feature can support a staggering number of boards, you may have boards that you want to enable certain functionality for, but not for others. And you can actually create "features" that you can enable or disable in your own userspace. @@ -166,7 +178,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { ``` -## Consolidated Macros +### Consolidated Macros If you wanted to consolidate macros and other functions into your userspace for all of your keymaps, you can do that. This builds upon the [Customized Functions](#customized-functions) example above. This lets you maintain a bunch of macros that are shared between the different keyboards, and allow for keyboard specific macros, too.