~ruther/qmk_firmware

0e5d67145a649480fd49a72712997feb6303a471 — Nick Brassel 3 years ago 5cad58d
Allow for `keymaps` array to be implemented in a file other than `$(KEYMAP_C)` (#17559)

M builddefs/build_keyboard.mk => builddefs/build_keyboard.mk +6 -0
@@ 400,6 400,12 @@ endif

OPT_DEFS += -DKEYMAP_C=\"$(KEYMAP_C)\"

# If a keymap or userspace places their keymap array in another file instead, allow for it to be included
# !!NOTE!! -- For this to work, the source file cannot be part of $(SRC), so users should not add it via `SRC += <file>`
ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),)
OPT_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\"
endif

# project specific files
SRC += \
    $(KEYBOARD_SRC) \

M quantum/keymap_introspection.c => quantum/keymap_introspection.c +5 -0
@@ 4,6 4,11 @@
// Pull the actual keymap code so that we can inspect stuff from it
#include KEYMAP_C

// Allow for keymap or userspace rules.mk to specify an alternate location for the keymap array
#ifdef INTROSPECTION_KEYMAP_C
#    include INTROSPECTION_KEYMAP_C
#endif // INTROSPECTION_KEYMAP_C

#include "keymap_introspection.h"

#define NUM_KEYMAP_LAYERS ((uint8_t)(sizeof(keymaps) / ((MATRIX_ROWS) * (MATRIX_COLS) * sizeof(uint16_t))))

M users/manna-harbour_miryoku/post_rules.mk => users/manna-harbour_miryoku/post_rules.mk +0 -2
@@ 1,8 1,6 @@
# Copyright 2019 Manna Harbour
# https://github.com/manna-harbour/miryoku

SRC += manna-harbour_miryoku.c # keymaps

# alternative layouts:

# alphas

M users/manna-harbour_miryoku/rules.mk => users/manna-harbour_miryoku/rules.mk +1 -1
@@ 5,7 5,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
AUTO_SHIFT_ENABLE = yes # Auto Shift

SRC += manna-harbour_miryoku.c # keymaps
INTROSPECTION_KEYMAP_C = manna-harbour_miryoku.c # keymaps

include users/manna-harbour_miryoku/custom_rules.mk