From 9579d97937cc8ef13114b39ac3db09fefd5e1c07 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 bffa8263e719..eb5362bd2953 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 a2657c1f6065..ac0a1360d92d 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.