aboutsummaryrefslogtreecommitdiff
path: root/build_keyboard.mk
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-08-23 22:29:07 -0400
committerGitHub <noreply@github.com>2017-08-23 22:29:07 -0400
commitd2ff66a985b938e87fffe55c1d9f1dc55e356f91 (patch)
tree561b3e203033849573a17f5ac6248077ab687676 /build_keyboard.mk
parent7260fc3eef98fb7b0e2ed24d3d0d14cf2e613000 (diff)
downloadqmk_firmware-d2ff66a985b938e87fffe55c1d9f1dc55e356f91.tar.gz
qmk_firmware-d2ff66a985b938e87fffe55c1d9f1dc55e356f91.zip
Creates a layouts/ folder for keymaps shared between keyboards (#1609)
* include variables and .h files as pp directives * start layout compilation * split ergodoxes up * don't compile all layouts for everything * might seg fault * reset layouts variable * actually reset layouts * include rules.mk instead * remove includes from rules.mk * update variable setting * load visualizer from path * adds some more examples * adds more layouts * more boards added * more boards added * adds documentation for layouts * use lowercase names for LAYOUT_ * add layout.json files for each layout * add community folder, default keymaps for layouts * touch-up default layouts * touch-up layouts, some keyboard rules.mk * update documentation for layouts * fix up serial/i2c switches
Diffstat (limited to 'build_keyboard.mk')
-rw-r--r--build_keyboard.mk12
1 files changed, 9 insertions, 3 deletions
diff --git a/build_keyboard.mk b/build_keyboard.mk
index 3ec389ac9..e8e21f2ba 100644
--- a/build_keyboard.mk
+++ b/build_keyboard.mk
@@ -39,6 +39,7 @@ ifneq ("$(wildcard $(KEYBOARD_C))","")
39else 39else
40 $(error "$(KEYBOARD_C)" does not exist) 40 $(error "$(KEYBOARD_C)" does not exist)
41endif 41endif
42OPT_DEFS += -DKEYBOARD_$(KEYBOARD)
42 43
43ifneq ($(SUBPROJECT),) 44ifneq ($(SUBPROJECT),)
44 SUBPROJECT_PATH := keyboards/$(KEYBOARD)/$(SUBPROJECT) 45 SUBPROJECT_PATH := keyboards/$(KEYBOARD)/$(SUBPROJECT)
@@ -97,11 +98,13 @@ else ifneq ("$(wildcard $(MAIN_KEYMAP_C))","")
97 -include $(MAIN_KEYMAP_PATH)/Makefile 98 -include $(MAIN_KEYMAP_PATH)/Makefile
98 KEYMAP_C := $(MAIN_KEYMAP_C) 99 KEYMAP_C := $(MAIN_KEYMAP_C)
99 KEYMAP_PATH := $(MAIN_KEYMAP_PATH) 100 KEYMAP_PATH := $(MAIN_KEYMAP_PATH)
101else ifneq ($(LAYOUTS),)
102 include build_layout.mk
100else 103else
101 $(error "$(MAIN_KEYMAP_C)/keymap.c" does not exist) 104 $(error Could not find keymap)
105 # this state should never be reached
102endif 106endif
103 107
104
105# Object files directory 108# Object files directory
106# To put object files in current directory, use a dot (.), do NOT make 109# To put object files in current directory, use a dot (.), do NOT make
107# this an empty or blank macro! 110# this an empty or blank macro!
@@ -157,7 +160,10 @@ endif
157 160
158OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) 161OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT)
159$(KEYMAP_OUTPUT)_SRC := $(SRC) 162$(KEYMAP_OUTPUT)_SRC := $(SRC)
160$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) $(GFXDEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" 163$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) $(GFXDEFS) \
164-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(KEYBOARD).h\" -DQMK_KEYBOARD_CONFIG_H=\"$(KEYBOARD_PATH)/config.h\" \
165-DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \
166-DQMK_SUBPROJECT=\"$(SUBPROJECT)\" -DQMK_SUBPROJECT_H=\"$(SUBPROJECT).h\" -DQMK_SUBPROJECT_CONFIG_H=\"$(SUBPROJECT_PATH)/config.h\"
161$(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) 167$(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS)
162$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H) 168$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H)
163$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) $(GFXSRC) 169$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) $(GFXSRC)