aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-10-14 11:32:19 -1000
committerGitHub <noreply@github.com>2017-10-14 11:32:19 -1000
commit800ec55dfca06b4630acf62cbb5f130c4031e4f1 (patch)
tree718e43d976bc71627558b5f9e1b657e8a64e4131
parente5dc2253e26a105a11e0fad3e4e39c306e49cc92 (diff)
downloadqmk_firmware-800ec55dfca06b4630acf62cbb5f130c4031e4f1.tar.gz
qmk_firmware-800ec55dfca06b4630acf62cbb5f130c4031e4f1.zip
Make arguments redo, subproject elimination (#1784)
* redo make args to use colons, better folder structuring system [skip ci] * don't put spaces after statements - hard lessons in makefile development * fix-up some other rules.mk * give travis a chance * reset KEYMAPS variable * start converting keyboards to new system * try making all with travis * redo make args to use colons, better folder structuring system [skip ci] * don't put spaces after statements - hard lessons in makefile development * fix-up some other rules.mk * give travis a chance * reset KEYMAPS variable * start converting keyboards to new system * try making all with travis * start to update readmes and keyboards * look in keyboard directories for board.mk * update visualizer rules * fix up some other keyboards/keymaps * fix arm board ld includes * fix board rules * fix up remaining keyboards * reset layout variable * reset keyboard_layouts * fix remainging keymaps/boards * update readmes, docs * add note to makefile error * update readmes * remove planck keymap warnings * update references and docs * test out tarvis build stages * don't use stages for now * don't use stages for now
-rw-r--r--.travis.yml2
-rw-r--r--Makefile360
-rw-r--r--autocomplete.sh1
-rw-r--r--build_keyboard.mk206
-rw-r--r--common_features.mk4
-rw-r--r--docs/README.md6
-rw-r--r--docs/adding_a_keyboard_to_qmk.md2
-rw-r--r--docs/config_options.md18
-rw-r--r--docs/contributing.md6
-rw-r--r--docs/documentation_templates.md2
-rw-r--r--docs/faq_build.md2
-rw-r--r--docs/feature_layouts.md15
-rw-r--r--docs/getting_started_build_tools.md4
-rw-r--r--docs/getting_started_make_guide.md27
-rw-r--r--docs/hand_wire.md2
-rw-r--r--docs/unit_testing.md2
-rw-r--r--keyboards/9key/readme.md2
-rw-r--r--keyboards/alps64/readme.md6
-rwxr-xr-xkeyboards/amj40/readme.md39
-rw-r--r--keyboards/amj60/readme.md2
-rw-r--r--keyboards/amjpad/readme.md2
-rw-r--r--keyboards/atomic/keymaps/pvc/config.h24
-rw-r--r--keyboards/atomic/readme.md6
-rw-r--r--keyboards/atreus/keymaps/dvorak_42_key/README.md2
-rw-r--r--keyboards/atreus/keymaps/dvorak_42_key/keymap.c2
-rw-r--r--keyboards/atreus/readme.md6
-rw-r--r--keyboards/atreus62/readme.md6
-rw-r--r--keyboards/bananasplit/README.md32
-rw-r--r--keyboards/bantam44/readme.md6
-rw-r--r--keyboards/chibios_test/boards/GENERIC_STM32_F103/board.mk4
-rw-r--r--keyboards/chibios_test/rules.mk4
-rw-r--r--keyboards/chibios_test/subproject.mk1
-rw-r--r--keyboards/clueboard_17/Makefile3
-rw-r--r--keyboards/clueboard_17/readme.md2
-rw-r--r--keyboards/clueboard_60/boards/GENERIC_STM32_F303XC/board.mk4
-rw-r--r--keyboards/clueboard_60/readme.md2
-rw-r--r--keyboards/clueboard_66/Makefile5
-rw-r--r--keyboards/clueboard_66/clueboard_66.h10
-rw-r--r--keyboards/clueboard_66/config.h11
-rw-r--r--keyboards/clueboard_66/readme.md2
-rw-r--r--keyboards/clueboard_66/rev1/Makefile3
-rw-r--r--keyboards/clueboard_66/rev1/config.h2
-rw-r--r--keyboards/clueboard_66/rev2/Makefile3
-rw-r--r--keyboards/clueboard_66/rev2/config.h2
-rw-r--r--keyboards/clueboard_66/rev2/rev2.h2
-rw-r--r--keyboards/clueboard_66/rev3/config.h2
-rw-r--r--keyboards/clueboard_66/rev3/rev3.h2
-rw-r--r--keyboards/clueboard_66/rules.mk2
-rw-r--r--keyboards/clueboard_66/subproject.mk1
-rw-r--r--keyboards/cluecard/readme.md2
-rw-r--r--keyboards/converter/converter.c1
-rw-r--r--keyboards/converter/converter.h1
-rw-r--r--keyboards/converter/rules.mk0
-rw-r--r--keyboards/converter/usb_usb/README.md2
-rw-r--r--keyboards/converter/usb_usb/rules.mk29
-rw-r--r--keyboards/deltasplit75/config.h6
-rw-r--r--keyboards/deltasplit75/deltasplit75.h7
-rw-r--r--keyboards/deltasplit75/readme.md2
-rw-r--r--keyboards/deltasplit75/rules.mk32
-rw-r--r--keyboards/deltasplit75/subproject.mk1
-rw-r--r--keyboards/deltasplit75/v2/config.h4
-rw-r--r--keyboards/deltasplit75/v2/rules.mk6
-rw-r--r--keyboards/dk60/readme.md2
-rw-r--r--keyboards/dz60/readme.md2
-rw-r--r--keyboards/eco/eco.h4
-rw-r--r--keyboards/eco/readme.md2
-rw-r--r--keyboards/eco/rules.mk2
-rw-r--r--keyboards/eco/subproject.mk1
-rw-r--r--keyboards/ergodone/readme.md2
-rw-r--r--keyboards/ergodox_ez/keymaps/drashna-custom/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/dvorak_42_key/README.md2
-rw-r--r--keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c2
-rw-r--r--keyboards/ergodox_infinity/keymaps/rask/README.md2
-rw-r--r--keyboards/ergodox_infinity/readme.md6
-rw-r--r--keyboards/felix/readme.md2
-rw-r--r--keyboards/four_banger/readme.md2
-rw-r--r--keyboards/frosty_flake/readme.md6
-rw-r--r--keyboards/gh60/keymaps/dbroqua/config.h4
-rw-r--r--keyboards/gh60/keymaps/robotmaxtron/config.h4
-rw-r--r--keyboards/gh60/readme.md2
-rw-r--r--keyboards/gherkin/README.md2
-rw-r--r--keyboards/gonnerd/readme.md2
-rw-r--r--keyboards/hadron/out.txt66
-rw-r--r--keyboards/hadron/rules.mk1
-rw-r--r--keyboards/hadron/subproject.mk1
-rw-r--r--keyboards/handwired/handwired.c1
-rw-r--r--keyboards/handwired/handwired.h1
-rw-r--r--keyboards/handwired/kbod/readme.md2
-rw-r--r--keyboards/handwired/magicforce61/README.md2
-rw-r--r--keyboards/handwired/rules.mk0
-rw-r--r--keyboards/handwired/traveller/rules.mk7
-rw-r--r--keyboards/hhkb/keymaps/blakedietz/README.md4
-rw-r--r--keyboards/hhkb/readme.md2
-rw-r--r--keyboards/infinity60/readme.md2
-rw-r--r--keyboards/jc65/readme.md4
-rw-r--r--keyboards/jd40/readme.md2
-rw-r--r--keyboards/jd45/config.h4
-rw-r--r--keyboards/jd45/keymaps/mjt/config.h4
-rw-r--r--keyboards/jd45/readme.md2
-rw-r--r--keyboards/jj40/README.md2
-rw-r--r--keyboards/jm60/boards/JM60_BOARD/board.mk4
-rw-r--r--keyboards/jm60/readme.md4
-rw-r--r--keyboards/kbd75/readme.md2
-rw-r--r--keyboards/kinesis/kinesis.h4
-rw-r--r--keyboards/kinesis/rules.mk2
-rw-r--r--keyboards/kinesis/stapelberg/rules.mk5
-rw-r--r--keyboards/kinesis/subproject.mk1
-rw-r--r--keyboards/kitten_paw/readme.md2
-rw-r--r--keyboards/lets_split/lets_split.h6
-rw-r--r--keyboards/lets_split/readme.md8
-rw-r--r--keyboards/lets_split/rules.mk4
-rw-r--r--keyboards/lets_split/subproject.mk1
-rw-r--r--keyboards/levinson/keymaps/bakingpy2u/config.h2
-rw-r--r--keyboards/levinson/keymaps/default/config.h2
-rw-r--r--keyboards/levinson/levinson.h2
-rw-r--r--keyboards/levinson/readme.md4
-rw-r--r--keyboards/levinson/rules.mk4
-rw-r--r--keyboards/levinson/subproject.mk1
-rw-r--r--keyboards/mechmini/README.md4
-rw-r--r--keyboards/mf68/README.md4
-rw-r--r--keyboards/minidox/minidox.h2
-rw-r--r--keyboards/minidox/readme.md6
-rw-r--r--keyboards/minidox/rev1/rules.mk6
-rw-r--r--keyboards/minidox/rules.mk2
-rw-r--r--keyboards/minidox/subproject.mk1
-rw-r--r--keyboards/mitosis/readme.md2
-rw-r--r--keyboards/nyquist/config.h2
-rw-r--r--keyboards/nyquist/keymaps/default/config.h2
-rw-r--r--keyboards/nyquist/keymaps/hexwire/config.h2
-rw-r--r--keyboards/nyquist/nyquist.h4
-rw-r--r--keyboards/nyquist/readme.md4
-rw-r--r--keyboards/nyquist/rev1/rev1.c2
-rw-r--r--keyboards/nyquist/rev1/rev1.h2
-rw-r--r--keyboards/nyquist/rules.mk4
-rw-r--r--keyboards/nyquist/subproject.mk1
-rw-r--r--keyboards/obelus/readme.md4
-rw-r--r--keyboards/org60/readme.md2
-rw-r--r--keyboards/orthodox/config.h6
-rw-r--r--keyboards/orthodox/keymaps/default/config.h2
-rw-r--r--keyboards/orthodox/keymaps/default/rules.mk3
-rw-r--r--keyboards/orthodox/keymaps/drashna/config.h2
-rw-r--r--keyboards/orthodox/keymaps/drashna/rules.mk6
-rw-r--r--keyboards/orthodox/orthodox.h2
-rw-r--r--keyboards/orthodox/readme.md10
-rw-r--r--keyboards/orthodox/rev1/config.h2
-rw-r--r--keyboards/orthodox/rev1/rev1.h2
-rw-r--r--keyboards/orthodox/rev1/rules.mk6
-rw-r--r--keyboards/orthodox/rules.mk2
-rw-r--r--keyboards/pegasushoof/README.md2
-rw-r--r--keyboards/phantom/readme.md2
-rw-r--r--keyboards/planck/config.h2
-rw-r--r--keyboards/planck/keymaps/impossible/rules.mk10
-rw-r--r--keyboards/planck/keymaps/jeebak/rules.mk10
-rw-r--r--keyboards/planck/keymaps/jhenahan/rules.mk10
-rw-r--r--keyboards/planck/keymaps/joe/rules.mk11
-rw-r--r--keyboards/planck/keymaps/leo/rules.mk11
-rw-r--r--keyboards/planck/keymaps/lucas/rules.mk11
-rw-r--r--keyboards/planck/keymaps/mollat/rules.mk9
-rw-r--r--keyboards/planck/keymaps/nico/rules.mk11
-rw-r--r--keyboards/planck/keymaps/phreed/readme.md4
-rw-r--r--keyboards/planck/keymaps/premek/rules.mk11
-rw-r--r--keyboards/planck/keymaps/pvc/config.h12
-rw-r--r--keyboards/planck/keymaps/pvc/rules.mk10
-rw-r--r--keyboards/planck/keymaps/sgoodwin/rules.mk11
-rw-r--r--keyboards/planck/keymaps/tak3over/rules.mk11
-rw-r--r--keyboards/planck/keymaps/thermal_printer/rules.mk9
-rw-r--r--keyboards/planck/planck.c2
-rw-r--r--keyboards/planck/planck.h9
-rw-r--r--keyboards/planck/readme.md2
-rw-r--r--keyboards/planck/rev3/config.h2
-rw-r--r--keyboards/planck/rev3/rev3.h2
-rw-r--r--keyboards/planck/rev4/config.h2
-rw-r--r--keyboards/planck/rev4/rev4.h2
-rw-r--r--keyboards/planck/rules.mk4
-rw-r--r--keyboards/planck/subproject.mk1
-rw-r--r--keyboards/preonic/preonic.c2
-rw-r--r--keyboards/preonic/preonic.h1
-rw-r--r--keyboards/preonic/readme.md2
-rw-r--r--keyboards/ps2avrGB/README.md2
-rw-r--r--keyboards/roadkit/readme.md2
-rw-r--r--keyboards/s60_x/default/config.h2
-rw-r--r--keyboards/s60_x/keymaps/bluebear/config.h29
-rw-r--r--keyboards/s60_x/keymaps/bluebear/rules.mk6
-rw-r--r--keyboards/s60_x/readme.md2
-rw-r--r--keyboards/s60_x/rgb/config.h2
-rw-r--r--keyboards/s60_x/rules.mk4
-rw-r--r--keyboards/s60_x/s60_x.h4
-rw-r--r--keyboards/s60_x/subproject.mk1
-rw-r--r--keyboards/s65_x/readme.md2
-rw-r--r--keyboards/satan/readme.md2
-rw-r--r--keyboards/sixkeyboard/readme.md2
-rw-r--r--keyboards/sweet16/readme.md2
-rwxr-xr-xkeyboards/tada68/readme.md4
-rw-r--r--keyboards/tiger_lily/readme.md2
-rw-r--r--keyboards/tomato/readme.md2
-rw-r--r--keyboards/tv44/readme.md2
-rw-r--r--keyboards/uk78/keymaps/rask/README.md2
-rw-r--r--keyboards/uk78/readme.md2
-rw-r--r--keyboards/v60_type_r/readme.md2
-rw-r--r--keyboards/vision_division/readme.md2
-rw-r--r--keyboards/viterbi/config.h4
-rw-r--r--keyboards/viterbi/readme.md4
-rw-r--r--keyboards/viterbi/rev1/config.h2
-rw-r--r--keyboards/viterbi/rev1/rules.mk6
-rw-r--r--keyboards/viterbi/rules.mk2
-rw-r--r--keyboards/viterbi/viterbi.h2
-rw-r--r--keyboards/whitefox/readme.md2
-rw-r--r--keyboards/xd60/keymaps/default/readme.md2
-rw-r--r--keyboards/xd60/keymaps/kmontag42/readme.md2
-rw-r--r--keyboards/xd60/keymaps/yuuki/README.md2
-rw-r--r--keyboards/xd60/readme.md2
-rw-r--r--keyboards/xd75/readme.md6
-rw-r--r--keyboards/ymd96/README.md2
-rw-r--r--quantum/visualizer/visualizer.mk32
-rw-r--r--tmk_core/chibios.mk35
-rw-r--r--tmk_core/rules.mk2
-rw-r--r--util/travis_build.sh11
217 files changed, 723 insertions, 934 deletions
diff --git a/.travis.yml b/.travis.yml
index e1cccf1e8..fdb97df2a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,7 +18,7 @@ install:
18before_script: 18before_script:
19 - avr-gcc --version 19 - avr-gcc --version
20script: 20script:
21- make test AUTOGEN=false 21- make test:all AUTOGEN=false
22- bash util/travis_build.sh 22- bash util/travis_build.sh
23addons: 23addons:
24 apt: 24 apt:
diff --git a/Makefile b/Makefile
index 1ca9876a2..87a3f4993 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ override SILENT := false
21 21
22QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null) 22QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
23ifneq ($(QMK_VERSION),) 23ifneq ($(QMK_VERSION),)
24$(info QMK Firmware v$(QMK_VERSION)) 24$(info QMK Firmware $(QMK_VERSION))
25endif 25endif
26 26
27ON_ERROR := error_occurred=1 27ON_ERROR := error_occurred=1
@@ -65,80 +65,86 @@ $(eval $(call NEXT_PATH_ELEMENT))
65# It's really a very simple if else chain, if you squint enough, 65# It's really a very simple if else chain, if you squint enough,
66# but the makefile syntax makes it very verbose. 66# but the makefile syntax makes it very verbose.
67# If we are in a subfolder of keyboards 67# If we are in a subfolder of keyboards
68ifeq ($(CURRENT_PATH_ELEMENT),keyboards) 68#
69 $(eval $(call NEXT_PATH_ELEMENT)) 69# *** No longer needed **
70 KEYBOARD := $(CURRENT_PATH_ELEMENT) 70#
71 $(eval $(call NEXT_PATH_ELEMENT)) 71# ifeq ($(CURRENT_PATH_ELEMENT),keyboards)
72 # If we are in a subfolder of keymaps, or in other words in a keymap 72# $(eval $(call NEXT_PATH_ELEMENT))
73 # folder 73# KEYBOARD := $(CURRENT_PATH_ELEMENT)
74 ifeq ($(CURRENT_PATH_ELEMENT),keymaps) 74# $(eval $(call NEXT_PATH_ELEMENT))
75 $(eval $(call NEXT_PATH_ELEMENT)) 75# # If we are in a subfolder of keymaps, or in other words in a keymap
76 KEYMAP := $(CURRENT_PATH_ELEMENT) 76# # folder
77 # else if we are not in the keyboard folder itself 77# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
78 else ifneq ($(CURRENT_PATH_ELEMENT),) 78# $(eval $(call NEXT_PATH_ELEMENT))
79 # the we can assume it's a subproject, as no other folders 79# KEYMAP := $(CURRENT_PATH_ELEMENT)
80 # should have make files in them 80# # else if we are not in the keyboard folder itself
81 SUBPROJECT := $(CURRENT_PATH_ELEMENT) 81# else ifneq ($(CURRENT_PATH_ELEMENT),)
82 $(eval $(call NEXT_PATH_ELEMENT)) 82# # the we can assume it's a subproject, as no other folders
83 # if we are inside a keymap folder of a subproject 83# # should have make files in them
84 ifeq ($(CURRENT_PATH_ELEMENT),keymaps) 84# SUBPROJECT := $(CURRENT_PATH_ELEMENT)
85 $(eval $(call NEXT_PATH_ELEMENT)) 85# $(eval $(call NEXT_PATH_ELEMENT))
86 KEYMAP := $(CURRENT_PATH_ELEMENT) 86# # if we are inside a keymap folder of a subproject
87 endif 87# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
88 endif 88# $(eval $(call NEXT_PATH_ELEMENT))
89endif 89# KEYMAP := $(CURRENT_PATH_ELEMENT)
90# endif
91# endif
92# endif
93
94define GET_KEYBOARDS
95 All_RULES_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk))
96 All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
97 All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/rules.mk))
98 All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/rules.mk))
99
100 KEYMAPS_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/keymaps/*/rules.mk))
101 KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/keymaps/*/rules.mk))
102 KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/keymaps/*/rules.mk))
103 KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/keymaps/*/rules.mk))
104
105 KEYBOARDS := $$(sort $$(filter-out $$(KEYMAPS_MK), $$(All_RULES_MK)))
106endef
107
108$(eval $(call GET_KEYBOARDS))
90 109
91# Only consider folders with makefiles, to prevent errors in case there are extra folders 110# Only consider folders with makefiles, to prevent errors in case there are extra folders
92KEYBOARDS := $(notdir $(patsubst %/rules.mk,%,$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk))) 111#KEYBOARDS += $(patsubst $(ROOD_DIR)/keyboards/%/rules.mk,%,$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
112
113list-keyboards:
114 echo $(KEYBOARDS)
115 exit 0
93 116
94#Compatibility with the old make variables, anything you specify directly on the command line 117#Compatibility with the old make variables, anything you specify directly on the command line
95# always overrides the detected folders 118# always overrides the detected folders
96ifdef keyboard 119ifdef keyboard
97 KEYBOARD := $(keyboard) 120 KEYBOARD := $(keyboard)
98endif 121endif
99ifdef sub
100 SUBPROJECT := $(sub)
101endif
102ifdef subproject
103 SUBPROJECT := $(subproject)
104endif
105ifdef keymap 122ifdef keymap
106 KEYMAP := $(keymap) 123 KEYMAP := $(keymap)
107endif 124endif
108 125
109# Uncomment these for debugging 126# Uncomment these for debugging
110#$(info Keyboard: $(KEYBOARD)) 127# $(info Keyboard: $(KEYBOARD))
111#$(info Keymap: $(KEYMAP)) 128# $(info Keymap: $(KEYMAP))
112#$(info Subproject: $(SUBPROJECT)) 129# $(info Subproject: $(SUBPROJECT))
113#$(info Keyboards: $(KEYBOARDS)) 130# $(info Keyboards: $(KEYBOARDS))
114 131
115 132
116# Set the default goal depending on where we are running make from 133# Set the default goal depending on where we are running make from
117# this handles the case where you run make without any arguments 134# this handles the case where you run make without any arguments
118.DEFAULT_GOAL := all 135.DEFAULT_GOAL := all:all
119ifneq ($(KEYMAP),) 136ifneq ($(KEYMAP),)
120 ifeq ($(SUBPROJECT),) 137 .DEFAULT_GOAL := $(KEYBOARD):$(KEYMAP)
121 # Inside a keymap folder, just build the keymap, with the
122 # default subproject
123 .DEFAULT_GOAL := $(KEYBOARD)-$(KEYMAP)
124 else
125 # Inside a subproject keyamp folder, build the keymap
126 # for that subproject
127 .DEFAULT_GOAL := $(KEYBOARD)-$(SUBPROJECT)-$(KEYMAP)
128 endif
129else ifneq ($(SUBPROJECT),)
130 # Inside a subproject folder, build all keymaps for that subproject
131 .DEFAULT_GOAL := $(KEYBOARD)-$(SUBPROJECT)-allkm
132else ifneq ($(KEYBOARD),) 138else ifneq ($(KEYBOARD),)
133 # Inside a keyboard folder, build all keymaps for all subprojects 139 # Inside a keyboard folder, build all keymaps for all subprojects
134 # Note that this is different from the old behaviour, which would 140 # Note that this is different from the old behaviour, which would
135 # build only the default keymap of the default keyboard 141 # build only the default keymap of the default keyboard
136 .DEFAULT_GOAL := $(KEYBOARD)-allsp-allkm 142 .DEFAULT_GOAL := $(KEYBOARD):all
137endif 143endif
138 144
139 145
140# Compare the start of the RULE variable with the first argument($1) 146# Compare the start of the RULE variable with the first argument($1)
141# If the rules equals $1 or starts with $1-, RULE_FOUND is set to true 147# If the rules equals $1 or starts with $1:, RULE_FOUND is set to true
142# and $1 is removed from the RULE variable 148# and $1 is removed from the RULE variable
143# Otherwise the RULE_FOUND variable is set to false, and RULE left as it was 149# Otherwise the RULE_FOUND variable is set to false, and RULE left as it was
144# The function is a bit tricky, since there's no built in $(startswith) function 150# The function is a bit tricky, since there's no built in $(startswith) function
@@ -147,10 +153,10 @@ define COMPARE_AND_REMOVE_FROM_RULE_HELPER
147 RULE:= 153 RULE:=
148 RULE_FOUND := true 154 RULE_FOUND := true
149 else 155 else
150 STARTDASH_REMOVED=$$(subst START$1-,,START$$(RULE)) 156 STARTCOLON_REMOVED=$$(subst START$1:,,START$$(RULE))
151 ifneq ($$(STARTDASH_REMOVED),START$$(RULE)) 157 ifneq ($$(STARTCOLON_REMOVED),START$$(RULE))
152 RULE_FOUND := true 158 RULE_FOUND := true
153 RULE := $$(STARTDASH_REMOVED) 159 RULE := $$(STARTCOLON_REMOVED)
154 else 160 else
155 RULE_FOUND := false 161 RULE_FOUND := false
156 endif 162 endif
@@ -229,14 +235,14 @@ define PARSE_ALL_IN_LIST
229endef 235endef
230 236
231# The entry point for rule parsing 237# The entry point for rule parsing
232# parses a rule in the format <keyboard>-<subproject>-<keymap>-<target> 238# parses a rule in the format <keyboard>:<keymap>:<target>
233# but this particular function only deals with the first <keyboard> part 239# but this particular function only deals with the first <keyboard> part
234define PARSE_RULE 240define PARSE_RULE
235 RULE := $1 241 RULE := $1
236 COMMANDS := 242 COMMANDS :=
237 # If the rule starts with allkb, then continue the parsing from 243 # If the rule starts with all, then continue the parsing from
238 # PARSE_ALL_KEYBOARDS 244 # PARSE_ALL_KEYBOARDS
239 ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkb),true) 245 ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
240 $$(eval $$(call PARSE_ALL_KEYBOARDS)) 246 $$(eval $$(call PARSE_ALL_KEYBOARDS))
241 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true) 247 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true)
242 $$(eval $$(call PARSE_TEST)) 248 $$(eval $$(call PARSE_TEST))
@@ -250,35 +256,106 @@ define PARSE_RULE
250 $$(eval $$(call PARSE_KEYBOARD,$$(KEYBOARD))) 256 $$(eval $$(call PARSE_KEYBOARD,$$(KEYBOARD)))
251 else 257 else
252 $$(info make: *** No rule to make target '$1'. Stop.) 258 $$(info make: *** No rule to make target '$1'. Stop.)
253 # Notice the tab instead of spaces below! 259 $$(info |)
254 exit 1 260 $$(info | QMK's make format recently changed to use folder locations and colons:)
261 $$(info | make project_folder:keymap[:target])
262 $$(info | Examples:)
263 $$(info | make planck/rev4:default:dfu)
264 $$(info | make planck:default)
265 $$(info |)
255 endif 266 endif
256endef 267endef
257 268
258# $1 = Keyboard 269# $1 = Keyboard
259# Parses a rule in the format <subproject>-<keymap>-<target> 270# Parses a rule in the format <keymap>:<target>
260# the keyboard is already known when entering this function 271# the keyboard is already known when entering this function
261define PARSE_KEYBOARD 272define PARSE_KEYBOARD
273 # If we want to compile the default subproject, then we need to
274 # include the correct makefile to determine the actual name of it
262 CURRENT_KB := $1 275 CURRENT_KB := $1
263 # A subproject is any keyboard subfolder with a makefile 276
264 SUBPROJECTS := $$(notdir $$(patsubst %/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/*/rules.mk))) 277 # KEYBOARD_FOLDERS := $$(subst /, , $(CURRENT_KB))
265 # if the rule starts with allsp, then continue with looping over all subprojects 278
266 ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allsp),true) 279 DEFAULT_FOLDER := $$(CURRENT_KB)
267 $$(eval $$(call PARSE_ALL_SUBPROJECTS)) 280
268 # A special case for matching the defaultsp (default subproject) 281 # We assume that every rules.mk will contain the full default value
269 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,defaultsp),true) 282 $$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/rules.mk)
270 $$(eval $$(call PARSE_SUBPROJECT,defaultsp)) 283 ifneq ($$(DEFAULT_FOLDER),$$(CURRENT_KB))
271 # If the rule starts with the name of a known subproject 284 $$(eval include $(ROOT_DIR)/keyboards/$$(DEFAULT_FOLDER)/rules.mk)
272 else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(SUBPROJECTS)),true) 285 endif
273 $$(eval $$(call PARSE_SUBPROJECT,$$(MATCHED_ITEM))) 286 CURRENT_KB := $$(DEFAULT_FOLDER)
274 # Try to use the SUBPROJECT variable, which is either determined by the 287
275 # directory which invoked make, or passed as an argument to make 288 # 5/4/3/2/1
276 else ifneq ($$(SUBPROJECT),) 289 KEYBOARD_FOLDER_PATH_1 := $$(CURRENT_KB)
277 $$(eval $$(call PARSE_SUBPROJECT,$$(SUBPROJECT))) 290 KEYBOARD_FOLDER_PATH_2 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_1)))
278 # If there's no matching subproject, we assume it's the default 291 KEYBOARD_FOLDER_PATH_3 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_2)))
279 # This will allow you to leave the subproject part of the target out 292 KEYBOARD_FOLDER_PATH_4 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_3)))
293 KEYBOARD_FOLDER_PATH_5 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_4)))
294 KEYBOARD_FOLDER_1 := $$(notdir $$(KEYBOARD_FOLDER_PATH_1))
295 KEYBOARD_FOLDER_2 := $$(notdir $$(KEYBOARD_FOLDER_PATH_2))
296 KEYBOARD_FOLDER_3 := $$(notdir $$(KEYBOARD_FOLDER_PATH_3))
297 KEYBOARD_FOLDER_4 := $$(notdir $$(KEYBOARD_FOLDER_PATH_4))
298 KEYBOARD_FOLDER_5 := $$(notdir $$(KEYBOARD_FOLDER_PATH_5))
299
300 KEYMAPS :=
301 # get a list of all keymaps
302 KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/.)))
303 KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/.)))
304 KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.)))
305 KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.)))
306 KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.)))
307 KEYMAPS := $$(sort $$(filter-out $$(KEYBOARD_FOLDER_1) $$(KEYBOARD_FOLDER_2) \
308 $$(KEYBOARD_FOLDER_3) $$(KEYBOARD_FOLDER_4) $$(KEYBOARD_FOLDER_5), $$(KEYMAPS)))
309
310 KEYBOARD_LAYOUTS :=
311 ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_5)/rules.mk)","")
312 LAYOUTS :=
313 $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_5)/rules.mk)
314 KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
315 endif
316 ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_4)/rules.mk)","")
317 LAYOUTS :=
318 $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_4)/rules.mk)
319 KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
320 endif
321 ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_3)/rules.mk)","")
322 LAYOUTS :=
323 $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_3)/rules.mk)
324 KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
325 endif
326 ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_2)/rules.mk)","")
327 LAYOUTS :=
328 $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_2)/rules.mk)
329 KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
330 endif
331 ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_1)/rules.mk)","")
332 LAYOUTS :=
333 $$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_1)/rules.mk)
334 KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
335 endif
336
337 LAYOUT_KEYMAPS :=
338 $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.)))))
339
340 KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS))
341
342 # if the rule after removing the start of it is empty (we haven't specified a kemap or target)
343 # compile all the keymaps
344 ifeq ($$(RULE),)
345 $$(eval $$(call PARSE_ALL_KEYMAPS))
346 # The same if all was specified
347 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
348 $$(eval $$(call PARSE_ALL_KEYMAPS))
349 # Try to match the specified keyamp with the list of known keymaps
350 else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
351 $$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
352 # Otherwise try to match the keymap from the current folder, or arguments to the make command
353 else ifneq ($$(KEYMAP),)
354 $$(eval $$(call PARSE_KEYMAP,$$(KEYMAP)))
355 # Otherwise, make all keymaps, again this is consistent with how it works without
356 # any arguments
280 else 357 else
281 $$(eval $$(call PARSE_SUBPROJECT,)) 358 $$(eval $$(call PARSE_ALL_KEYMAPS))
282 endif 359 endif
283endef 360endef
284 361
@@ -291,86 +368,19 @@ endef
291# $1 Subproject 368# $1 Subproject
292# When entering this, the keyboard and subproject are known, so now we need 369# When entering this, the keyboard and subproject are known, so now we need
293# to determine which keymaps are going to get compiled 370# to determine which keymaps are going to get compiled
294define PARSE_SUBPROJECT 371# define PARSE_SUBPROJECT
295 # If we want to compile the default subproject, then we need to
296 # include the correct makefile to determine the actual name of it
297 CURRENT_SP := $1
298 ifeq ($$(CURRENT_SP),)
299 CURRENT_SP := defaultsp
300 endif
301 ifeq ($$(CURRENT_SP),defaultsp)
302 SUBPROJECT_DEFAULT=
303 ifneq ("$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/subproject.mk)","")
304 $$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/subproject.mk)
305 endif
306 CURRENT_SP := $$(SUBPROJECT_DEFAULT)
307 endif
308 # If current subproject is empty (the default was not defined), and we have a list of subproject
309 # then make all of them
310 ifeq ($$(CURRENT_SP),)
311 ifneq ($$(SUBPROJECTS),)
312 CURRENT_SP := allsp
313 endif
314 endif
315 # The special allsp is handled later
316 ifneq ($$(CURRENT_SP),allsp)
317 # get a list of all keymaps
318 KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/keymaps/*/.)))
319 LAYOUTS :=
320 $$(eval -include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/rules.mk)
321 KEYBOARD_LAYOUTS := $$(LAYOUTS)
322 ifneq ($$(CURRENT_SP),)
323 # if the subproject is defined, then also look for keymaps inside the subproject folder
324 SP_KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/$$(CURRENT_SP)/keymaps/*/.)))
325 KEYMAPS := $$(sort $$(KEYMAPS) $$(SP_KEYMAPS))
326 # $$(eval -include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/$$(CURRENT_SP)/rules.mk)
327 # KEYBOARD_LAYOUTS := $$(sort $$(KEYBOARD_LAYOUTS) $$(LAYOUTS))
328 endif
329 372
330 LAYOUT_KEYMAPS := 373# endef
331 $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.)))))
332
333 KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS))
334 # if the rule after removing the start of it is empty (we haven't specified a kemap or target)
335 # compile all the keymaps
336 ifeq ($$(RULE),)
337 $$(eval $$(call PARSE_ALL_KEYMAPS))
338 # The same if allkm was specified
339 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkm),true)
340 $$(eval $$(call PARSE_ALL_KEYMAPS))
341 # Try to match the specified keyamp with the list of known keymaps
342 else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
343 $$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
344 # Otherwise try to match the keymap from the current folder, or arguments to the make command
345 else ifneq ($$(KEYMAP),)
346 $$(eval $$(call PARSE_KEYMAP,$$(KEYMAP)))
347 # No matching keymap found, so we assume that the rest of the rule is the target
348 # If we haven't been able to parse out a subproject, then make all of them
349 # This is consistent with running make without any arguments from the keyboard
350 # folder
351 else ifeq ($1,)
352 $$(eval $$(call PARSE_ALL_SUBPROJECTS))
353 # Otherwise, make all keymaps, again this is consistent with how it works without
354 # any arguments
355 else
356 $$(eval $$(call PARSE_ALL_KEYMAPS))
357 endif
358 else
359 # As earlier mentioned when allsb is specified, we call our self recursively
360 # for all of the subprojects
361 $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$(SUBPROJECTS)))
362 endif
363endef
364 374
365# If we want to parse all subprojects, but the keyboard doesn't have any, 375# If we want to parse all subprojects, but the keyboard doesn't have any,
366# then use defaultsp instead 376# then use defaultsp instead
367define PARSE_ALL_SUBPROJECTS 377# define PARSE_ALL_SUBPROJECTS
368 ifeq ($$(SUBPROJECTS),) 378# ifeq ($$(SUBPROJECTS),)
369 $$(eval $$(call PARSE_SUBPROJECT,defaultsp)) 379# $$(eval $$(call PARSE_SUBPROJECT,defaultsp))
370 else 380# else
371 $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS))) 381# $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
372 endif 382# endif
373endef 383# endef
374 384
375# $1 Keymap 385# $1 Keymap
376# This is the meat of compiling a keyboard, when entering this, everything is known 386# This is the meat of compiling a keyboard, when entering this, everything is known
@@ -380,21 +390,18 @@ endef
380define PARSE_KEYMAP 390define PARSE_KEYMAP
381 CURRENT_KM = $1 391 CURRENT_KM = $1
382 # The rest of the rule is the target 392 # The rest of the rule is the target
383 # Remove the leading "-" from the target, as it acts as a separator 393 # Remove the leading ":" from the target, as it acts as a separator
384 MAKE_TARGET := $$(patsubst -%,%,$$(RULE)) 394 MAKE_TARGET := $$(patsubst :%,%,$$(RULE))
385 # We need to generate an unique indentifer to append to the COMMANDS list 395 # We need to generate an unique indentifer to append to the COMMANDS list
386 COMMAND := COMMAND_KEYBOARD_$$(CURRENT_KB)_SUBPROJECT_$(CURRENT_SP)_KEYMAP_$$(CURRENT_KM) 396 CURRENT_KB_UNDER := $$(subst /,_,$$(CURRENT_KB))
397 COMMAND := COMMAND_KEYBOARD_$$(CURRENT_KB_UNDER)_KEYMAP_$$(CURRENT_KM)
387 # If we are compiling a keyboard without a subproject, we want to display just the name 398 # If we are compiling a keyboard without a subproject, we want to display just the name
388 # of the keyboard, otherwise keyboard/subproject 399 # of the keyboard, otherwise keyboard/subproject
389 ifeq ($$(CURRENT_SP),) 400 KB_SP := $$(CURRENT_KB)
390 KB_SP := $(CURRENT_KB)
391 else
392 KB_SP := $(CURRENT_KB)/$$(CURRENT_SP)
393 endif
394 # Format it in bold 401 # Format it in bold
395 KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR) 402 KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR)
396 # Specify the variables that we are passing forward to submake 403 # Specify the variables that we are passing forward to submake
397 MAKE_VARS := KEYBOARD=$$(CURRENT_KB) SUBPROJECT=$$(CURRENT_SP) KEYMAP=$$(CURRENT_KM) 404 MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM)
398 # And the first part of the make command 405 # And the first part of the make command
399 MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_keyboard.mk $$(MAKE_TARGET) 406 MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_keyboard.mk $$(MAKE_TARGET)
400 # The message to display 407 # The message to display
@@ -455,8 +462,8 @@ endef
455 462
456define PARSE_TEST 463define PARSE_TEST
457 TESTS := 464 TESTS :=
458 TEST_NAME := $$(firstword $$(subst -, ,$$(RULE))) 465 TEST_NAME := $$(firstword $$(subst :, ,$$(RULE)))
459 TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME)-,,$$(RULE))) 466 TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME):,,$$(RULE)))
460 ifeq ($$(TEST_NAME),all) 467 ifeq ($$(TEST_NAME),all)
461 MATCHED_TESTS := $$(TEST_LIST) 468 MATCHED_TESTS := $$(TEST_LIST)
462 else 469 else
@@ -504,11 +511,6 @@ if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
504 511
505endef 512endef
506 513
507# Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps
508SUBPROJECTS := $(notdir $(patsubst %/rules.mk,%,$(wildcard ./*/rules.mk)))
509.PHONY: $(SUBPROJECTS)
510$(SUBPROJECTS): %: %-allkm
511
512# Let's match everything, we handle all the rule parsing ourselves 514# Let's match everything, we handle all the rule parsing ourselves
513.PHONY: % 515.PHONY: %
514%: 516%:
@@ -539,22 +541,24 @@ endif
539 $(foreach TEST,$(TESTS),$(RUN_TEST)) 541 $(foreach TEST,$(TESTS),$(RUN_TEST))
540 if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi; 542 if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
541 543
544# These no longer work because of the colon system
545
542# All should compile everything 546# All should compile everything
543.PHONY: all 547# .PHONY: all
544all: all-keyboards test-all 548# all: all-keyboards test-all
545 549
546# Define some shortcuts, mostly for compatibility with the old syntax 550# Define some shortcuts, mostly for compatibility with the old syntax
547.PHONY: all-keyboards 551# .PHONY: all-keyboards
548all-keyboards: allkb-allsp-allkm 552# all-keyboards: all\:all\:all
549 553
550.PHONY: all-keyboards-defaults 554# .PHONY: all-keyboards-defaults
551all-keyboards-defaults: allkb-allsp-default 555# all-keyboards-defaults: all\:default
552 556
553.PHONY: test 557# .PHONY: test
554test: test-all 558# test: test-all
555 559
556.PHONY: test-clean 560# .PHONY: test-clean
557test-clean: test-all-clean 561# test-clean: test-all-clean
558 562
559lib/%: 563lib/%:
560 git submodule sync $? 564 git submodule sync $?
diff --git a/autocomplete.sh b/autocomplete.sh
new file mode 100644
index 000000000..dffb260c4
--- /dev/null
+++ b/autocomplete.sh
@@ -0,0 +1 @@
complete -W " 9key-default alps64-default amj40-default amj40-fabian amj60-default_60_ansi amj60-iso_split_rshift amj60-maximized amjpad-default amjpad-max amjpad-ortho_left amjpad-ortho_right atomic-default atomic-default_ortho_5x15 atomic-pvc atreus-alphadox atreus-classic atreus-default atreus-erlandsona atreus-gerb atreus-jeremy atreus-replicaJunction atreus-xyverz atreus62-atreus52 atreus62-default atreus62-mneme atreus62-xyverz bananasplit-0010 bananasplit-coloneljesus bananasplit-default bananasplit-hhkbanana bananasplit-nic bananasplit-rask bantam44-default chibios_test-default clueboard-bloodlvst clueboard-caps_fn clueboard-colemak clueboard-default clueboard-jokrik clueboard-mac_optimized clueboard-magicmonty clueboard-maximised clueboard-mouse_keys clueboard-serubin clueboard-shift_fn clueboard-skully clueboard-smt clueboard-tetris clueboard-unix_optimized clueboard-win_optimized clueboard-xyverz cluecard-default cluecard-rgb_effects cluepad-default deltasplit75-default deltasplit75-itsaferbie deltasplit75-protosplit dk60-default eco-default eco-that_canadian ergodone-333fred ergodone-ab ergodone-absenth ergodone-adam ergodone-adnw_k_o_y ergodone-albert ergodone-alexjj ergodone-algernon ergodone-alphadox ergodone-andrew_osx ergodone-belak ergodone-bepo ergodone-bepo_csa ergodone-bryan ergodone-coderkun_neo2 ergodone-colemak ergodone-colemak_osx_pc_no ergodone-colemak_programmer ergodone-common_nighthawk ergodone-csharp_dev ergodone-dave ergodone-deadcyclo ergodone-default ergodone-default_ergodox ergodone-dragon788 ergodone-dvorak ergodone-dvorak_emacs ergodone-dvorak_emacs_software ergodone-dvorak_intl_squisher ergodone-dvorak_plover ergodone-dvorak_programmer ergodone-dvorak_programmer_swe ergodone-dvorak_spanish ergodone-emacs_osx_dk ergodone-erez_experimental ergodone-familiar ergodone-french_hacker ergodone-galson ergodone-german ergodone-german-kinergo ergodone-german-lukas ergodone-german-manuneo ergodone-guni ergodone-ishigoya-jp ergodone-italian ergodone-j3rn ergodone-jack ergodone-jacobono ergodone-jafo ergodone-jgarr ergodone-josh ergodone-kastyle ergodone-kines-ish ergodone-kristian ergodone-maz ergodone-mclennon_osx ergodone-mpiechotka ergodone-msc ergodone-naps62 ergodone-neo2_on_qwertz_hardware ergodone-norwegian_programmer_osx_pc ergodone-norwegian_programmer_osx_pc_colemak ergodone-ordinary ergodone-osx_de ergodone-osx_de_adnw_koy ergodone-osx_de_experimental ergodone-osx_fr ergodone-osx_kinesis_pnut ergodone-osx_whiskey_tango_foxtrot_capslock ergodone-phoenix ergodone-plover ergodone-plums ergodone-pvinis ergodone-replicaJunction ergodone-reset_eeprom ergodone-robot_test_layout ergodone-romanzolotarev-norman-osx ergodone-romanzolotarev-norman-plover-osx ergodone-romanzolotarev-norman-plover-osx-hjkl ergodone-romanzolotarev-norman-qwerty-osx ergodone-sethbc ergodone-siroken3 ergodone-sneako ergodone-software_neo2 ergodone-supercoder ergodone-swedish ergodone-swedish-lindhe ergodone-swissgerman ergodone-techtomas ergodone-teckinesis ergodone-tkuichooseyou ergodone-tm2030 ergodone-tonyabra_osx ergodone-townk_osx ergodone-twentylives_dvorak_with_hebrew ergodone-twey ergodone-videck ergodone-win10_writers-block ergodone-workman_osx_mdw ergodone-xyverz ergodone-yoruian ergodone-zweihander-osx ergodox_ez-333fred ergodox_ez-ab ergodox_ez-absenth ergodox_ez-adam ergodox_ez-adnw_k_o_y ergodox_ez-albert ergodox_ez-alexjj ergodox_ez-algernon ergodox_ez-alphadox ergodox_ez-andrew_osx ergodox_ez-belak ergodox_ez-bepo ergodox_ez-bepo_csa ergodox_ez-blakedietz ergodox_ez-bryan ergodox_ez-coderkun_neo2 ergodox_ez-colemak ergodox_ez-colemak_osx_pc_no ergodox_ez-colemak_programmer ergodox_ez-common_nighthawk ergodox_ez-csharp_dev ergodox_ez-dave ergodox_ez-deadcyclo ergodox_ez-default ergodox_ez-default_ergodox ergodox_ez-default_osx ergodox_ez-dragon788 ergodox_ez-drashna ergodox_ez-drashna-custom ergodox_ez-dvorak ergodox_ez-dvorak_emacs ergodox_ez-dvorak_emacs_software ergodox_ez-dvorak_intl_squisher ergodox_ez-dvorak_plover ergodox_ez-dvorak_programmer ergodox_ez-dvorak_programmer_swe ergodox_ez-dvorak_spanish ergodox_ez-emacs_osx_dk ergodox_ez-erez_experimental ergodox_ez-familiar ergodox_ez-french_hacker ergodox_ez-galson ergodox_ez-german ergodox_ez-german-kinergo ergodox_ez-german-lukas ergodox_ez-german-manuneo ergodox_ez-guni ergodox_ez-ishigoya-jp ergodox_ez-italian ergodox_ez-j3rn ergodox_ez-jack ergodox_ez-jacobono ergodox_ez-jafo ergodox_ez-jgarr ergodox_ez-josh ergodox_ez-kastyle ergodox_ez-kines-ish ergodox_ez-kristian ergodox_ez-maz ergodox_ez-mclennon_osx ergodox_ez-mpiechotka ergodox_ez-msc ergodox_ez-naps62 ergodox_ez-neo2_on_qwertz_hardware ergodox_ez-norwegian_programmer_osx_pc ergodox_ez-norwegian_programmer_osx_pc_colemak ergodox_ez-ordinary ergodox_ez-osx_de ergodox_ez-osx_de_adnw_koy ergodox_ez-osx_de_experimental ergodox_ez-osx_fr ergodox_ez-osx_kinesis_pnut ergodox_ez-osx_whiskey_tango_foxtrot_capslock ergodox_ez-phoenix ergodox_ez-plover ergodox_ez-plums ergodox_ez-profet_80 ergodox_ez-pvinis ergodox_ez-replicaJunction ergodox_ez-reset_eeprom ergodox_ez-robot_test_layout ergodox_ez-romanzolotarev-norman-osx ergodox_ez-romanzolotarev-norman-plover-osx ergodox_ez-romanzolotarev-norman-plover-osx-hjkl ergodox_ez-romanzolotarev-norman-qwerty-osx ergodox_ez-sethbc ergodox_ez-siroken3 ergodox_ez-sneako ergodox_ez-software_neo2 ergodox_ez-steno ergodox_ez-supercoder ergodox_ez-swedish ergodox_ez-swedish-lindhe ergodox_ez-swissgerman ergodox_ez-techtomas ergodox_ez-teckinesis ergodox_ez-tkuichooseyou ergodox_ez-tm2030 ergodox_ez-tonyabra_osx ergodox_ez-townk_osx ergodox_ez-twentylives_dvorak_with_hebrew ergodox_ez-twey ergodox_ez-videck ergodox_ez-win10_writers-block ergodox_ez-workman_osx_mdw ergodox_ez-xyverz ergodox_ez-yoruian ergodox_ez-zweihander-osx ergodox_infinity-333fred ergodox_infinity-ab ergodox_infinity-absenth ergodox_infinity-adam ergodox_infinity-adnw_k_o_y ergodox_infinity-albert ergodox_infinity-alexjj ergodox_infinity-algernon ergodox_infinity-alphadox ergodox_infinity-andrew_osx ergodox_infinity-belak ergodox_infinity-bepo ergodox_infinity-bepo_csa ergodox_infinity-bryan ergodox_infinity-coderkun_neo2 ergodox_infinity-colemak ergodox_infinity-colemak_osx_pc_no ergodox_infinity-colemak_programmer ergodox_infinity-common_nighthawk ergodox_infinity-csharp_dev ergodox_infinity-dave ergodox_infinity-deadcyclo ergodox_infinity-default_ergodox ergodox_infinity-dragon788 ergodox_infinity-dvorak ergodox_infinity-dvorak_emacs ergodox_infinity-dvorak_emacs_software ergodox_infinity-dvorak_intl_squisher ergodox_infinity-dvorak_plover ergodox_infinity-dvorak_programmer ergodox_infinity-dvorak_programmer_swe ergodox_infinity-dvorak_spanish ergodox_infinity-emacs_osx_dk ergodox_infinity-erez_experimental ergodox_infinity-familiar ergodox_infinity-french_hacker ergodox_infinity-galson ergodox_infinity-german ergodox_infinity-german-kinergo ergodox_infinity-german-lukas ergodox_infinity-german-manuneo ergodox_infinity-guni ergodox_infinity-ishigoya-jp ergodox_infinity-italian ergodox_infinity-j3rn ergodox_infinity-jack ergodox_infinity-jacobono ergodox_infinity-jafo ergodox_infinity-jgarr ergodox_infinity-josh ergodox_infinity-kastyle ergodox_infinity-kines-ish ergodox_infinity-kristian ergodox_infinity-maz ergodox_infinity-mclennon_osx ergodox_infinity-mpiechotka ergodox_infinity-msc ergodox_infinity-naps62 ergodox_infinity-neo2_on_qwertz_hardware ergodox_infinity-norwegian_programmer_osx_pc ergodox_infinity-norwegian_programmer_osx_pc_colemak ergodox_infinity-ordinary ergodox_infinity-osx_de ergodox_infinity-osx_de_adnw_koy ergodox_infinity-osx_de_experimental ergodox_infinity-osx_fr ergodox_infinity-osx_kinesis_pnut ergodox_infinity-osx_whiskey_tango_foxtrot_capslock ergodox_infinity-phoenix ergodox_infinity-plover ergodox_infinity-plums ergodox_infinity-pvinis ergodox_infinity-replicaJunction ergodox_infinity-reset_eeprom ergodox_infinity-robot_test_layout ergodox_infinity-romanzolotarev-norman-osx ergodox_infinity-romanzolotarev-norman-plover-osx ergodox_infinity-romanzolotarev-norman-plover-osx-hjkl ergodox_infinity-romanzolotarev-norman-qwerty-osx ergodox_infinity-sethbc ergodox_infinity-siroken3 ergodox_infinity-sneako ergodox_infinity-software_neo2 ergodox_infinity-supercoder ergodox_infinity-swedish ergodox_infinity-swedish-lindhe ergodox_infinity-swissgerman ergodox_infinity-techtomas ergodox_infinity-teckinesis ergodox_infinity-tkuichooseyou ergodox_infinity-tm2030 ergodox_infinity-tonyabra_osx ergodox_infinity-townk_osx ergodox_infinity-twentylives_dvorak_with_hebrew ergodox_infinity-twey ergodox_infinity-videck ergodox_infinity-win10_writers-block ergodox_infinity-workman_osx_mdw ergodox_infinity-xyverz ergodox_infinity-yoruian ergodox_infinity-zweihander-osx four_banger-default frosty_flake-default frosty_flake-nikchi frosty_flake-tkl gh60-dbroqua gh60-dbroqua_7U gh60-default gh60-default_60_ansi gh60-default_60_ansi_split_bs_rshift gh60-default_60_iso gh60-robotmaxtron gh60-sethbc gh60-talljoe gh60-unxmaal gh60-xyverz gherkin-default gherkin-mjt gherkin-steno gherkin-talljoe gonnerd-default gonnerd-mauin gonnerd-tkl hadron-default hadron-side_numpad hhkb-blakedietz hhkb-cinaeco hhkb-dbroqua hhkb-default hhkb-jp hhkb-jp_mac hhkb-lxol hhkb-mjt hhkb-rdg_jp hhkb-sh_jp hhkb-shela hhkb-smt infinity60-default infinity60-default_60_ansi_split_bs_rshift infinity60-depariel infinity60-hasu infinity60-jpetermans infinity60-talljoe jc65-default jc65-jetpacktuxedo jd40-default jd40-vanagon jd45-blakedietz jd45-default jd45-jeebak jd45-justin jd45-mjt jd45-mjt6u kbd75-default kc60-dbroqua kc60-dbroqua_hhkb kc60-default kc60-default_60_ansi kc60-mechmerlin kc60-sgoodwin kc60-stanleylai kc60-wigguno kc60-workman-dead kc60-ws2812 kinesis-default kinesis-dvorak kinesis-milestogo kinesis-xyverz kitten_paw-default kitten_paw-ickerwx kmac-default kmac-winkeyless lets_split-OLED_sample lets_split-adam lets_split-dale lets_split-default lets_split-default_ortho_4x12 lets_split-ergodoxish lets_split-fabian lets_split-henxing lets_split-hexwire lets_split-khord lets_split-mbsurfer lets_split-mjt lets_split-piemod lets_split-smt lets_split-xk lets_split-xyverz m10a-default maxipad-default mechmini-default minidox-default minidox-that_canadian mitosis-carvac_dv mitosis-default mitosis-mjt miuni32-adam-lee miuni32-default miuni32-ht_156 nyquist-333fred nyquist-default nyquist-default_ortho_5x12 nyquist-hexwire org60-boardy org60-default orthodox-default pegasushoof-blowrak pegasushoof-default phantom-default phantom-rgbmod phantom-xyverz planck-ab planck-alexey planck-angerthosenear planck-austin planck-basic planck-bone2planck planck-brandon planck-callum planck-cbbrowne planck-chance planck-charlie planck-circuit planck-coloneljesus planck-dale planck-daniel planck-david planck-dbroqua planck-default planck-default_ortho_4x12 planck-dshields planck-dzobert planck-ergodoxish planck-espynn planck-experimental planck-gabriel planck-handwired_binaryplease planck-impossible planck-jacob planck-jeebak planck-jeremy-dev planck-jhenahan planck-joe planck-johannes planck-khord planck-kyle planck-lae3 planck-leo planck-lucas planck-lukas planck-luke planck-max planck-mitch planck-mjt planck-mjtnumsym planck-mollat planck-nico planck-originerd planck-pete planck-piemod planck-premek planck-priyadi planck-pvc planck-rai-suta planck-sgoodwin planck-smt planck-steno planck-tak3over planck-thermal_printer planck-tong92 planck-unicode planck-vifon planck-xyverz planck-yale planck-yang planck-zach preonic-0xdec preonic-CMD-Preonic preonic-dale preonic-default preonic-default_ortho_5x12 preonic-jacwib preonic-kinesis preonic-nikchi preonic-smt preonic-xyverz preonic-zach ps2avrGB-default roadkit-default roadkit-default_ortho_4x4 roadkit-flipphone roadkit-mjt roadkit-singles roadkit-singlesBrent s60_x-ansi_qwertz s60_x-bluebear s60_x-custom s60_x-dbroqua s60_x-default s60_x-hasu s60_x-hhkb s60_x-iso s60_x-jpec s60_x-plain s60_x-poker s60_x-poker_bit s60_x-poker_set s60_x-spacefn s65_x-default s65_x-iso s65_x-nall s65_x-smt satan-admiralStrokers satan-ben_iso satan-colemak satan-dbroqua satan-default satan-default_60_ansi satan-default_60_ansi_split_bs_rshift satan-default_60_iso satan-denolfe satan-iso_split_rshift satan-mark1 satan-midi satan-poker satan-rask63 satan-sethbc satan-smt satan-stanleylai satan-talljoe satan-unxmaal sixkeyboard-default subatomic-default sweet16-default tada68-default tada68-maartenwut tada68-rgb tiger_lily-default tv44-belak tv44-core tv44-default tv44-jeebak tv44-jetpacktuxedo tv44-mjt tv44-smt tv44-tong92 tv44-xyverz uk78-default vision_division-default whitefox-default whitefox-jetpacktuxedo whitefox-matt3o xd60-cheese xd60-default xd60-stanleylai xd75-default xd75-default_ortho_5x15 xd75-fabian" make
diff --git a/build_keyboard.mk b/build_keyboard.mk
index 88b876bac..450207850 100644
--- a/build_keyboard.mk
+++ b/build_keyboard.mk
@@ -6,18 +6,26 @@ endif
6 6
7include common.mk 7include common.mk
8 8
9ifneq ($(SUBPROJECT),) 9# 5/4/3/2/1
10 TARGET ?= $(KEYBOARD)_$(SUBPROJECT)_$(KEYMAP) 10KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD)
11 KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD)_$(SUBPROJECT) 11KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1)))
12else 12KEYBOARD_FOLDER_PATH_3 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_2)))
13 TARGET ?= $(KEYBOARD)_$(KEYMAP) 13KEYBOARD_FOLDER_PATH_4 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_3)))
14 KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD) 14KEYBOARD_FOLDER_PATH_5 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_4)))
15endif 15KEYBOARD_FOLDER_1 := $(notdir $(KEYBOARD_FOLDER_PATH_1))
16KEYBOARD_FOLDER_2 := $(notdir $(KEYBOARD_FOLDER_PATH_2))
17KEYBOARD_FOLDER_3 := $(notdir $(KEYBOARD_FOLDER_PATH_3))
18KEYBOARD_FOLDER_4 := $(notdir $(KEYBOARD_FOLDER_PATH_4))
19KEYBOARD_FOLDER_5 := $(notdir $(KEYBOARD_FOLDER_PATH_5))
20
21KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD))
22
23TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP)
24KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE)
16 25
17# Force expansion 26# Force expansion
18TARGET := $(TARGET) 27TARGET := $(TARGET)
19 28
20
21MASTER ?= left 29MASTER ?= left
22ifdef master 30ifdef master
23 MASTER = $(master) 31 MASTER = $(master)
@@ -31,28 +39,62 @@ $(error MASTER does not have a valid value(left/right))
31 endif 39 endif
32endif 40endif
33 41
34KEYBOARD_PATH := keyboards/$(KEYBOARD) 42KEYBOARD_PATHS :=
35KEYBOARD_C := $(KEYBOARD_PATH)/$(KEYBOARD).c
36 43
37ifneq ("$(wildcard $(KEYBOARD_C))","") 44KEYBOARD_PATH_1 := keyboards/$(KEYBOARD_FOLDER_PATH_1)
38 include $(KEYBOARD_PATH)/rules.mk 45KEYBOARD_PATH_2 := keyboards/$(KEYBOARD_FOLDER_PATH_2)
39else 46KEYBOARD_PATH_3 := keyboards/$(KEYBOARD_FOLDER_PATH_3)
40 $(error "$(KEYBOARD_C)" does not exist) 47KEYBOARD_PATH_4 := keyboards/$(KEYBOARD_FOLDER_PATH_4)
41endif 48KEYBOARD_PATH_5 := keyboards/$(KEYBOARD_FOLDER_PATH_5)
42OPT_DEFS += -DKEYBOARD_$(KEYBOARD) 49
43 50ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","")
44ifneq ($(SUBPROJECT),) 51 KEYBOARD_PATHS += $(KEYBOARD_PATH_5)
45 SUBPROJECT_PATH := keyboards/$(KEYBOARD)/$(SUBPROJECT) 52 include $(KEYBOARD_PATH_5)/rules.mk
46 SUBPROJECT_C := $(SUBPROJECT_PATH)/$(SUBPROJECT).c 53endif
47 ifneq ("$(wildcard $(SUBPROJECT_C))","") 54ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","")
48 OPT_DEFS += -DSUBPROJECT_$(SUBPROJECT) 55 KEYBOARD_PATHS += $(KEYBOARD_PATH_4)
49 include $(SUBPROJECT_PATH)/rules.mk 56 include $(KEYBOARD_PATH_4)/rules.mk
50 else 57endif
51 $(error "$(SUBPROJECT_PATH)/$(SUBPROJECT).c" does not exist) 58ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","")
52 endif 59 KEYBOARD_PATHS += $(KEYBOARD_PATH_3)
60 include $(KEYBOARD_PATH_3)/rules.mk
53endif 61endif
62ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","")
63 KEYBOARD_PATHS += $(KEYBOARD_PATH_2)
64 include $(KEYBOARD_PATH_2)/rules.mk
65endif
66ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
67 KEYBOARD_PATHS += $(KEYBOARD_PATH_1)
68 include $(KEYBOARD_PATH_1)/rules.mk
69endif
70
71KEYBOARD_SRC :=
72
73KEYBOARD_C_1 := $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).c
74KEYBOARD_C_2 := $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).c
75KEYBOARD_C_3 := $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).c
76KEYBOARD_C_4 := $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).c
77KEYBOARD_C_5 := $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).c
54 78
55# We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA 79ifneq ("$(wildcard $(KEYBOARD_C_5))","")
80 KEYBOARD_SRC += $(KEYBOARD_C_5)
81endif
82ifneq ("$(wildcard $(KEYBOARD_C_4))","")
83 KEYBOARD_SRC += $(KEYBOARD_C_4)
84endif
85ifneq ("$(wildcard $(KEYBOARD_C_3))","")
86 KEYBOARD_SRC += $(KEYBOARD_C_3)
87endif
88ifneq ("$(wildcard $(KEYBOARD_C_2))","")
89 KEYBOARD_SRC += $(KEYBOARD_C_2)
90endif
91ifneq ("$(wildcard $(KEYBOARD_C_1))","")
92 KEYBOARD_SRC += $(KEYBOARD_C_1)
93endif
94
95OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE)
96
97# We can assume a ChibiOS target When MCU_FAMILY is defined , since it's not used for LUFA
56ifdef MCU_FAMILY 98ifdef MCU_FAMILY
57 PLATFORM=CHIBIOS 99 PLATFORM=CHIBIOS
58else 100else
@@ -63,44 +105,80 @@ ifeq ($(PLATFORM),CHIBIOS)
63 include $(TMK_PATH)/protocol/chibios.mk 105 include $(TMK_PATH)/protocol/chibios.mk
64 include $(TMK_PATH)/chibios.mk 106 include $(TMK_PATH)/chibios.mk
65 OPT_OS = chibios 107 OPT_OS = chibios
66 ifneq ("$(wildcard $(SUBPROJECT_PATH)/bootloader_defs.h)","") 108 ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","")
67 OPT_DEFS += -include $(SUBPROJECT_PATH)/bootloader_defs.h 109 OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h
68 else ifneq ("$(wildcard $(SUBPROJECT_PATH)/boards/$(BOARD)/bootloader_defs.h)","") 110 else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","")
69 OPT_DEFS += -include $(SUBPROJECT_PATH)/boards/$(BOARD)/bootloader_defs.h 111 OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h
70 else ifneq ("$(wildcard $(KEYBOARD_PATH)/bootloader_defs.h)","") 112 else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","")
71 OPT_DEFS += -include $(KEYBOARD_PATH)/bootloader_defs.h 113 OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h
72 else ifneq ("$(wildcard $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h)","") 114 else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","")
73 OPT_DEFS += -include $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h 115 OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h
116 else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","")
117 OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h
118 else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","")
119 OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h
120 else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","")
121 OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h
122 else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","")
123 OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h
124 else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","")
125 OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h
126 else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","")
127 OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h
74 endif 128 endif
75endif 129endif
76 130
77CONFIG_H = $(KEYBOARD_PATH)/config.h 131CONFIG_H :=
78ifneq ($(SUBPROJECT),) 132ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","")
79 ifneq ("$(wildcard $(SUBPROJECT_C))","") 133 CONFIG_H += $(KEYBOARD_PATH_5)/config.h
80 CONFIG_H = $(SUBPROJECT_PATH)/config.h 134endif
81 endif 135ifneq ("$(wildcard $(KEYBOARD_PATH_4)/config.h)","")
136 CONFIG_H += $(KEYBOARD_PATH_4)/config.h
137endif
138ifneq ("$(wildcard $(KEYBOARD_PATH_3)/config.h)","")
139 CONFIG_H += $(KEYBOARD_PATH_3)/config.h
140endif
141ifneq ("$(wildcard $(KEYBOARD_PATH_2)/config.h)","")
142 CONFIG_H += $(KEYBOARD_PATH_2)/config.h
143endif
144ifneq ("$(wildcard $(KEYBOARD_PATH_1)/config.h)","")
145 CONFIG_H += $(KEYBOARD_PATH_1)/config.h
82endif 146endif
83 147
84# Save the defines and includes here, so we don't include any keymap specific ones 148# Save the defines and includes here, so we don't include any keymap specific ones
85PROJECT_DEFS := $(OPT_DEFS) 149PROJECT_DEFS := $(OPT_DEFS)
86PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH) 150PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
87PROJECT_CONFIG := $(CONFIG_H) 151PROJECT_CONFIG := $(CONFIG_H)
88 152
89MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP) 153MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP)
90MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c 154MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP)
91SUBPROJ_KEYMAP_PATH := $(SUBPROJECT_PATH)/keymaps/$(KEYMAP) 155MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP)
92SUBPROJ_KEYMAP_C := $(SUBPROJ_KEYMAP_PATH)/keymap.c 156MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
93ifneq ("$(wildcard $(SUBPROJ_KEYMAP_C))","") 157MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
94 -include $(SUBPROJ_KEYMAP_PATH)/rules.mk 158
95 KEYMAP_C := $(SUBPROJ_KEYMAP_C) 159ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
96 KEYMAP_PATH := $(SUBPROJ_KEYMAP_PATH) 160 -include $(MAIN_KEYMAP_PATH_5)/rules.mk
97else ifneq ("$(wildcard $(MAIN_KEYMAP_C))","") 161 KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c
98 -include $(MAIN_KEYMAP_PATH)/rules.mk 162 KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
99 KEYMAP_C := $(MAIN_KEYMAP_C) 163else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","")
100 KEYMAP_PATH := $(MAIN_KEYMAP_PATH) 164 -include $(MAIN_KEYMAP_PATH_4)/rules.mk
165 KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c
166 KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
167else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","")
168 -include $(MAIN_KEYMAP_PATH_3)/rules.mk
169 KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c
170 KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
171else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","")
172 -include $(MAIN_KEYMAP_PATH_2)/rules.mk
173 KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c
174 KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
175else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","")
176 -include $(MAIN_KEYMAP_PATH_1)/rules.mk
177 KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c
178 KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
101else ifneq ($(LAYOUTS),) 179else ifneq ($(LAYOUTS),)
102 include build_layout.mk 180 include build_layout.mk
103else 181else
104 $(error Could not find keymap) 182 $(error Could not find keymap)
105 # this state should never be reached 183 # this state should never be reached
106endif 184endif
@@ -110,29 +188,21 @@ endif
110# this an empty or blank macro! 188# this an empty or blank macro!
111KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) 189KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET)
112 190
113
114ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") 191ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
115 CONFIG_H = $(KEYMAP_PATH)/config.h 192 CONFIG_H += $(KEYMAP_PATH)/config.h
116endif 193endif
117 194
118# # project specific files 195# # project specific files
119SRC += $(KEYBOARD_C) \ 196SRC += $(KEYBOARD_SRC) \
120 $(KEYMAP_C) \ 197 $(KEYMAP_C) \
121 $(QUANTUM_SRC) 198 $(QUANTUM_SRC)
122 199
123ifneq ($(SUBPROJECT),)
124 SRC += $(SUBPROJECT_C)
125endif
126
127# Optimize size but this may cause error "relocation truncated to fit" 200# Optimize size but this may cause error "relocation truncated to fit"
128#EXTRALDFLAGS = -Wl,--relax 201#EXTRALDFLAGS = -Wl,--relax
129 202
130# Search Path 203# Search Path
131VPATH += $(KEYMAP_PATH) 204VPATH += $(KEYMAP_PATH)
132ifneq ($(SUBPROJECT),) 205VPATH += $(KEYBOARD_PATHS)
133 VPATH += $(SUBPROJECT_PATH)
134endif
135VPATH += $(KEYBOARD_PATH)
136VPATH += $(COMMON_VPATH) 206VPATH += $(COMMON_VPATH)
137 207
138include common_features.mk 208include common_features.mk
@@ -161,15 +231,15 @@ endif
161OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) 231OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT)
162$(KEYMAP_OUTPUT)_SRC := $(SRC) 232$(KEYMAP_OUTPUT)_SRC := $(SRC)
163$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) $(GFXDEFS) \ 233$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) $(GFXDEFS) \
164-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(KEYBOARD).h\" -DQMK_KEYBOARD_CONFIG_H=\"$(KEYBOARD_PATH)/config.h\" \ 234-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(KEYBOARD_FOLDER_1).h\" -DQMK_KEYBOARD_CONFIG_H=\"$(KEYBOARD_PATH_1)/config.h\" \
165-DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \ 235-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\" 236-DQMK_SUBPROJECT -DQMK_SUBPROJECT_H -DQMK_SUBPROJECT_CONFIG_H
167$(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) 237$(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS)
168$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H) 238$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H)
169$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) $(GFXSRC) 239$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) $(GFXSRC)
170$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) $(GFXDEFS) 240$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) $(GFXDEFS)
171$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) $(GFXINC) 241$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) $(GFXINC)
172$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG) 242$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG)
173 243
174# Default target. 244# Default target.
175all: build sizeafter 245all: build sizeafter
diff --git a/common_features.mk b/common_features.mk
index 69fdac87d..a7c366a10 100644
--- a/common_features.mk
+++ b/common_features.mk
@@ -171,6 +171,10 @@ ifeq ($(strip $(TERMINAL_ENABLE)), yes)
171 OPT_DEFS += -DTERMINAL_ENABLE 171 OPT_DEFS += -DTERMINAL_ENABLE
172endif 172endif
173 173
174ifeq ($(strip $(USB_HID_ENABLE)), yes)
175 include $(TMK_DIR)/protocol/usb_hid.mk
176endif
177
174QUANTUM_SRC:= \ 178QUANTUM_SRC:= \
175 $(QUANTUM_DIR)/quantum.c \ 179 $(QUANTUM_DIR)/quantum.c \
176 $(QUANTUM_DIR)/keymap_common.c \ 180 $(QUANTUM_DIR)/keymap_common.c \
diff --git a/docs/README.md b/docs/README.md
index 515ddb778..065263edb 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -14,11 +14,11 @@ Otherwise, you can either download it directly ([zip](https://github.com/qmk/qmk
14 14
15Before you are able to compile, you'll need to [install an environment](getting_started_build_tools.md) for AVR or/and ARM development. Once that is complete, you'll use the `make` command to build a keyboard and keymap with the following notation: 15Before you are able to compile, you'll need to [install an environment](getting_started_build_tools.md) for AVR or/and ARM development. Once that is complete, you'll use the `make` command to build a keyboard and keymap with the following notation:
16 16
17 make planck-rev4-default 17 make planck/rev4:default
18 18
19This would build the `rev4` revision of the `planck` with the `default` keymap. Not all keyboards have revisions (also called subprojects), in which case, it can be omitted: 19This would build the `rev4` revision of the `planck` with the `default` keymap. Not all keyboards have revisions (also called subprojects or folders), in which case, it can be omitted:
20 20
21 make preonic-default 21 make preonic:default
22 22
23## How to customize {#how-to-customize} 23## How to customize {#how-to-customize}
24 24
diff --git a/docs/adding_a_keyboard_to_qmk.md b/docs/adding_a_keyboard_to_qmk.md
index c8b76c1b9..5ee2c8cca 100644
--- a/docs/adding_a_keyboard_to_qmk.md
+++ b/docs/adding_a_keyboard_to_qmk.md
@@ -4,7 +4,7 @@ We welcome all keyboard projects into QMK, but ask that you try to stick to a co
4 4
5## Naming your directory/project 5## Naming your directory/project
6 6
7All names should be lowercase alphanumeric, and separated by an underscore (`_`), but not begin with one. Dashes (`-`) aren't allow by our build system, and will confuse it with keymaps/subprojects. Your directory and your `.h` and `.c` files should have exactly the same name. Subprojects/revision should follow the same format. 7All names should be lowercase alphanumeric, and separated by an underscore (`_`), but not begin with one. Your directory and your `.h` and `.c` files should have exactly the same name. All folders should follow the same format.
8 8
9## `readme.md` 9## `readme.md`
10 10
diff --git a/docs/config_options.md b/docs/config_options.md
index 13c8bdbbe..b71dbb8ae 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -12,29 +12,25 @@ This is a c header file that is one of the first things included, and will persi
12 12
13// config options 13// config options
14 14
15#ifdef SUBPROJECT_<subproject>
16 #include "<subproject>/config.h"
17#endif
18
19#endif 15#endif
20``` 16```
21 17
22This file contains config options that should apply to the whole keyboard, and won't change in subprojects, or most keymaps. The suproject block here only applies to keyboards with subprojects. 18This file contains config options that should apply to the whole keyboard, and won't change in revisions, or most keymaps. The revision block here only applies to keyboards with revisions.
23 19
24## Subproject 20## Revisions
25 21
26```c 22```c
27#ifndef <subproject>_CONFIG_H 23#ifndef <revision>_CONFIG_H
28#define <subproject>_CONFIG_H 24#define <revision>_CONFIG_H
29 25
30#include "../config.h" 26#include "config_common.h"
31 27
32// config options 28// config options
33 29
34#endif 30#endif
35``` 31```
36 32
37For keyboards that have subprojects, this file contains config options that should apply to only that subproject, and won't change in most keymaps. 33For keyboards that have revisions, this file contains config options that should apply to only that revisions, and won't change in most keymaps.
38 34
39## Keymap 35## Keymap
40 36
@@ -42,7 +38,7 @@ For keyboards that have subprojects, this file contains config options that shou
42#ifndef CONFIG_USER_H 38#ifndef CONFIG_USER_H
43#define CONFIG_USER_H 39#define CONFIG_USER_H
44 40
45#include "../../config.h" 41#include "config_common.h"
46 42
47// config options 43// config options
48 44
diff --git a/docs/contributing.md b/docs/contributing.md
index b675f98b3..755dd012f 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -78,8 +78,8 @@ We have a few different types of changes in QMK, each requiring a different leve
78* Separate PR's into logical units. For example, do not submit one PR covering two separate features, instead submit a separate PR for each feature. 78* Separate PR's into logical units. For example, do not submit one PR covering two separate features, instead submit a separate PR for each feature.
79* Check for unnecessary whitespace with `git diff --check` before committing. 79* Check for unnecessary whitespace with `git diff --check` before committing.
80* Make sure your code change actually compiles. 80* Make sure your code change actually compiles.
81 * Keymaps: Make sure that `make keyboard-revision-your_new_keymap` does not return an error 81 * Keymaps: Make sure that `make keyboard:your_new_keymap` does not return an error
82 * Keyboards: Make sure that `make keyboard-all` does not return any errors 82 * Keyboards: Make sure that `make keyboard:all` does not return any errors
83 * Core: Make sure that `make allkb` does not return any errors. 83 * Core: Make sure that `make allkb` does not return any errors.
84* Make sure commit messages are understandable on their own. You should put a short description (no more than 70 characters) on the first line, the second line should be empty, and on the 3rd and later lines you should describe your commit in detail, if required. Example: 84* Make sure commit messages are understandable on their own. You should put a short description (no more than 70 characters) on the first line, the second line should be empty, and on the 3rd and later lines you should describe your commit in detail, if required. Example:
85 85
@@ -128,7 +128,7 @@ Here are some things to keep in mind when working on your feature or bug fix.
128 128
129* **Disabled by default** - memory is a pretty limited on most chips QMK supports, and it's important that current keymaps aren't broken, so please allow your feature to be turned **on**, rather than being turned off. If you think it should be on by default, or reduces the size of the code, please talk with us about it. 129* **Disabled by default** - memory is a pretty limited on most chips QMK supports, and it's important that current keymaps aren't broken, so please allow your feature to be turned **on**, rather than being turned off. If you think it should be on by default, or reduces the size of the code, please talk with us about it.
130* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! Our Travis system will catch any issues, but it's generally faster for you to compile a few keyboards locally instead of waiting for the results to come back. 130* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! Our Travis system will catch any issues, but it's generally faster for you to compile a few keyboards locally instead of waiting for the results to come back.
131* **Consider subprojects and different chip-bases** - there are several keyboards that have subprojects that allow for slightly different configurations, and even different chip-bases. Try to make a feature supported in ARM and AVR, or automatically disabled on platforms it doesn't work on. 131* **Consider revisions and different chip-bases** - there are several keyboards that have revisions that allow for slightly different configurations, and even different chip-bases. Try to make a feature supported in ARM and AVR, or automatically disabled on platforms it doesn't work on.
132* **Explain your feature** - Document it in `docs/`, either as a new file or as part of an existing file. If you don't document it other people won't be able to benefit from your hard work. 132* **Explain your feature** - Document it in `docs/`, either as a new file or as part of an existing file. If you don't document it other people won't be able to benefit from your hard work.
133 133
134We also ask that you follow these guidelines: 134We also ask that you follow these guidelines:
diff --git a/docs/documentation_templates.md b/docs/documentation_templates.md
index 856a131a6..18829ed0f 100644
--- a/docs/documentation_templates.md
+++ b/docs/documentation_templates.md
@@ -34,7 +34,7 @@ Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.mass
34 34
35Make example for this keyboard (after setting up your build environment): 35Make example for this keyboard (after setting up your build environment):
36 36
37 make planck-rev4-default 37 make planck/rev4:default
38 38
39See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 39See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
40``` 40```
diff --git a/docs/faq_build.md b/docs/faq_build.md
index fe3aeeef6..3d732fa98 100644
--- a/docs/faq_build.md
+++ b/docs/faq_build.md
@@ -13,7 +13,7 @@ In short when your controller is ATMega32u4,
13 13
14or just 14or just
15 15
16 $ sudo make <keyboard>-<keymap>-dfu 16 $ sudo make <keyboard>:<keymap>:dfu
17 17
18But to run `make` with root privilege is not good idea. Use former method if possible. 18But to run `make` with root privilege is not good idea. Use former method if possible.
19 19
diff --git a/docs/feature_layouts.md b/docs/feature_layouts.md
index 4d75270dc..5763b7380 100644
--- a/docs/feature_layouts.md
+++ b/docs/feature_layouts.md
@@ -43,15 +43,15 @@ The folder name must be added to the keyboard's `rules.mk`:
43 43
44 LAYOUTS = 60_ansi 44 LAYOUTS = 60_ansi
45 45
46`LAYOUTS` can be appended in the subproject's `rules.mk`: 46`LAYOUTS` can be set in any keyboard folder level's `rules.mk`:
47 47
48 LAYOUTS += 60_iso 48 LAYOUTS = 60_iso
49 49
50but the `LAYOUT_<layout>` variable must be defined in `<subproject>.h` as well. 50but the `LAYOUT_<layout>` variable must be defined in `<folder>.h` as well.
51 51
52## Tips for making layouts keyboard-agnostic 52## Tips for making layouts keyboard-agnostic
53 53
54Instead of using `#include "planck.h"`, you can use this line to include whatever `<keyboard>.h` (`<subproject>.h` should not be included here) file that is being compiled: 54Instead of using `#include "planck.h"`, you can use this line to include whatever `<keyboard>.h` (`<folder>.h` should not be included here) file that is being compiled:
55 55
56 #include QMK_KEYBOARD_H 56 #include QMK_KEYBOARD_H
57 57
@@ -61,17 +61,16 @@ In your config.h, you can also use this variable to include the keyboard's `conf
61 61
62If you want to keep some keyboard-specific code, you can use these variables to escape it with an `#ifdef` statement: 62If you want to keep some keyboard-specific code, you can use these variables to escape it with an `#ifdef` statement:
63 63
64* `KEYBOARD_<keyboard>` 64* `KEYBOARD_<folder1>_<folder2>`
65* `SUBPROJECT_<subproject>`
66 65
67For example: 66For example:
68 67
69```c 68```c
70#ifdef KEYBOARD_planck 69#ifdef KEYBOARD_planck
71 #ifdef SUBPROJECT_rev4 70 #ifdef KEYBOARD_planck_rev4
72 planck_rev4_function(); 71 planck_rev4_function();
73 #endif 72 #endif
74#endif 73#endif
75``` 74```
76 75
77Note that the names are lowercase and match the folder/file names for the keyboard/subproject exactly. \ No newline at end of file 76Note that the names are lowercase and match the folder/file names for the keyboard/revision exactly. \ No newline at end of file
diff --git a/docs/getting_started_build_tools.md b/docs/getting_started_build_tools.md
index 0617252b2..934617d85 100644
--- a/docs/getting_started_build_tools.md
+++ b/docs/getting_started_build_tools.md
@@ -121,10 +121,10 @@ If this is a bit complex for you, Docker might be the turn-key solution you need
121# modify the keymap and keyboard assigment to compile what you want 121# modify the keymap and keyboard assigment to compile what you want
122# defaults are ergodox/default 122# defaults are ergodox/default
123 123
124docker run -e keymap=gwen -e subproject=ez -e keyboard=ergodox --rm -v $('pwd'):/qmk:rw edasque/qmk_firmware 124docker run -e keymap=gwen -e keyboard=ergodox_ez --rm -v $('pwd'):/qmk:rw edasque/qmk_firmware
125 125
126# On windows docker seems to have issue with VOLUME tag in Dockerfile, and $('pwd') won't print a windows compliant path, use full path instead like this 126# On windows docker seems to have issue with VOLUME tag in Dockerfile, and $('pwd') won't print a windows compliant path, use full path instead like this
127docker run -e keymap=default -e subproject=ez -e keyboard=ergobox --rm -v D:/Users/Sacapuces/Documents/Repositories/qmk:/qmk:rw edasque/qmk_firmware 127docker run -e keymap=default -e keyboard=ergobox_ez --rm -v D:/Users/Sacapuces/Documents/Repositories/qmk:/qmk:rw edasque/qmk_firmware
128 128
129``` 129```
130 130
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
diff --git a/docs/hand_wire.md b/docs/hand_wire.md
index 8f329daf8..b5a565714 100644
--- a/docs/hand_wire.md
+++ b/docs/hand_wire.md
@@ -273,7 +273,7 @@ Notice how the `k11` and `KC_NO` switched places to represent the wiring, and th
273 273
274### keymaps/<variant>/default.c 274### keymaps/<variant>/default.c
275 275
276This is the actual keymap for your keyboard, and the main place you'll make changes as you perfect your layout. `default.c` is the file that gets pull by default when typing `make`, but you can make other files as well, and specify them by typing `make handwired-<keyboard>-<variant>`, which will pull `keymaps/<variant>/keymap.c`. 276This is the actual keymap for your keyboard, and the main place you'll make changes as you perfect your layout. `default.c` is the file that gets pull by default when typing `make`, but you can make other files as well, and specify them by typing `make handwired/<keyboard>:<variant>`, which will pull `keymaps/<variant>/keymap.c`.
277 277
278The basis of a keymap is its layers - by default, layer 0 is active. You can activate other layers, the highest of which will be referenced first. Let's start with our base layer. 278The basis of a keymap is its layers - by default, layer 0 is active. You can activate other layers, the highest of which will be referenced first. Let's start with our base layer.
279 279
diff --git a/docs/unit_testing.md b/docs/unit_testing.md
index 3eac62509..81cfef79e 100644
--- a/docs/unit_testing.md
+++ b/docs/unit_testing.md
@@ -36,7 +36,7 @@ Note how there's several different tests, each mocking out a separate part. Also
36 36
37## Running the tests 37## Running the tests
38 38
39To run all the tests in the codebase, type `make test`. You can also run test matching a substring by typing `make test-matchingsubstring` Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer. 39To run all the tests in the codebase, type `make test`. You can also run test matching a substring by typing `make test:matchingsubstring` Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer.
40 40
41## Debugging the tests 41## Debugging the tests
42 42
diff --git a/keyboards/9key/readme.md b/keyboards/9key/readme.md
index 0aa0edf31..8c6699129 100644
--- a/keyboards/9key/readme.md
+++ b/keyboards/9key/readme.md
@@ -12,6 +12,6 @@ Hardware Availability: [BishopKeyboards.com](http://bishopkeyboards.com/)
12 12
13Make example for this keyboard (after setting up your build environment): 13Make example for this keyboard (after setting up your build environment):
14 14
15 make 9key-default 15 make 9key:default
16 16
17See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file 17See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file
diff --git a/keyboards/alps64/readme.md b/keyboards/alps64/readme.md
index f28273049..d6308ab19 100644
--- a/keyboards/alps64/readme.md
+++ b/keyboards/alps64/readme.md
@@ -3,12 +3,12 @@ Alps64
3 3
4An Alps-only 60% board designed by Hasu. 4An Alps-only 60% board designed by Hasu.
5 5
6Keyboard Maintainer: QMK Community 6Keyboard Maintainer: QMK Community
7Hardware Supported: Alps64 PCB 7Hardware Supported: Alps64 PCB
8Hardware Availability: https://geekhack.org/index.php?topic=69666.0 8Hardware Availability: https://geekhack.org/index.php?topic=69666.0
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make alps64-default 12 make alps64:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/amj40/readme.md b/keyboards/amj40/readme.md
index e705f20fe..42c5374d5 100755
--- a/keyboards/amj40/readme.md
+++ b/keyboards/amj40/readme.md
@@ -1,35 +1,14 @@
1AMJ40 keyboard firmware 1AMJ40
2====================== 2===
3DIY/Assembled compact 40% keyboard.
4
5Ported by N.Hou from the original TMK firmware.
6
7*Supports both backlight LEDs as well as RGB underglow.
8
9*For reference, the AMJ40 uses pin D3 for underglow lighting.
10
11## Quantum MK Firmware
12
13For the full Quantum feature list, see [the parent readme.md](/readme.md).
14
15## Building
16
17Download or clone the whole firmware and navigate to the keyboards/amj40
18folder. Once your dev env is setup, you'll be able to type `make` to generate
19your .hex - you can then use `make dfu` to program your PCB once you hit the
20reset button.
21
22Depending on which keymap you would like to use, you will have to compile
23slightly differently.
24
25### Default
26To build with the default keymap, simply run `sudo make all`.
27The .hex file will appear in the root of the qmk firmware folder.
28
29 3
4DIY/Assembled compact 40% keyboard.
30 5
6Keyboard Maintainer: QMK Community
7Hardware Supported: AMJ40 PCB
8Hardware Availability: https://geekhack.org/index.php?topic=87961.0
31 9
32### Original tmk firmware 10Make example for this keyboard (after setting up your build environment):
33The original firmware that was used to port to qmk can be found [here](https://github.com/AMJKeyboard/AMJ40).
34 11
12 make amj40:default
35 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/amj60/readme.md b/keyboards/amj60/readme.md
index b7107c7cf..e87b1f9f8 100644
--- a/keyboards/amj60/readme.md
+++ b/keyboards/amj60/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://geekhack.org/index.php?topic=77636.0
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make amj60-maximized 12 make amj60:maximized
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/amjpad/readme.md b/keyboards/amjpad/readme.md
index cf7c197ec..27d5e0927 100644
--- a/keyboards/amjpad/readme.md
+++ b/keyboards/amjpad/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://geekhack.org/index.php?topic=83546.0
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make amjpad-default 12 make amjpad:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/atomic/keymaps/pvc/config.h b/keyboards/atomic/keymaps/pvc/config.h
index ea5821ee7..e63a7340c 100644
--- a/keyboards/atomic/keymaps/pvc/config.h
+++ b/keyboards/atomic/keymaps/pvc/config.h
@@ -15,37 +15,19 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#ifndef CONFIG_USER_H
19#define CONFIG_H 19#define CONFIG_USER_H
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
23/* USB Device descriptor parameter */ 23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED 24#undef PRODUCT_ID
25#define PRODUCT_ID 0x0419 25#define PRODUCT_ID 0x0419
26#define DEVICE_VER 0x0001
27#define MANUFACTURER Ortholinear Keyboards
28#define PRODUCT The Atomic Keyboard
29#define DESCRIPTION A compact ortholinear keyboard
30 26
31/* key matrix size */ 27/* key matrix size */
32#define MATRIX_ROWS 5 28#define MATRIX_ROWS 5
33#define MATRIX_COLS 15 29#define MATRIX_COLS 15
34 30
35/*
36 * Keyboard Matrix Assignments
37 *
38 * Change this to how you wired your keyboard
39 * COLS: AVR pins used for columns, left to right
40 * ROWS: AVR pins used for rows, top to bottom
41 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
42 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
43 *
44*/
45#define MATRIX_ROW_PINS { D0, D5, B5, B6, B3 }
46#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7, D3, D2, D1 }
47#define UNUSED_PINS
48
49#define BACKLIGHT_PIN B7 31#define BACKLIGHT_PIN B7
50#define BACKLIGHT_BREATHING 32#define BACKLIGHT_BREATHING
51 33
diff --git a/keyboards/atomic/readme.md b/keyboards/atomic/readme.md
index 1224c415f..54a6ee9b5 100644
--- a/keyboards/atomic/readme.md
+++ b/keyboards/atomic/readme.md
@@ -5,12 +5,12 @@ Atomic
5 5
6A compact 60% (15x5) ortholinear keyboard kit made and sold by OLKB. [More info on qmk.fm](http://qmk.fm/atomic/) 6A compact 60% (15x5) ortholinear keyboard kit made and sold by OLKB. [More info on qmk.fm](http://qmk.fm/atomic/)
7 7
8Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert) 8Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert)
9Hardware Supported: Atomic PCB rev1, Teensy 2.0 9Hardware Supported: Atomic PCB rev1, Teensy 2.0
10Hardware Availability: no longer available 10Hardware Availability: no longer available
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make atomic-default 14 make atomic:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file
diff --git a/keyboards/atreus/keymaps/dvorak_42_key/README.md b/keyboards/atreus/keymaps/dvorak_42_key/README.md
index 45e3ab75c..86ce73802 100644
--- a/keyboards/atreus/keymaps/dvorak_42_key/README.md
+++ b/keyboards/atreus/keymaps/dvorak_42_key/README.md
@@ -7,7 +7,7 @@ How to build and flash
7---------------------- 7----------------------
8 8
9to build; 9to build;
10make atreus-dvorak_42_key 10make atreus:dvorak_42_key
11 11
12to flash: 12to flash:
13avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_dvorak_42_key.hex -P COM7 13avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_dvorak_42_key.hex -P COM7
diff --git a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
index 8f8c319c5..02980378d 100644
--- a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
+++ b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
@@ -15,7 +15,7 @@
15static bool mouse_lock = false; 15static bool mouse_lock = false;
16 16
17// building instructions: 17// building instructions:
18// make atreus-dvorak_42_key 18// make atreus:dvorak_42_key
19 19
20// flashing instructions: 20// flashing instructions:
21// avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_dvorak_42_key.hex -P COM7 21// avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_dvorak_42_key.hex -P COM7
diff --git a/keyboards/atreus/readme.md b/keyboards/atreus/readme.md
index ef464a1b4..221c7fac4 100644
--- a/keyboards/atreus/readme.md
+++ b/keyboards/atreus/readme.md
@@ -5,12 +5,12 @@ A small mechanical keyboard that is based around the shape of the human hand.
5 5
6These configuration files are specifically for the Atreus keyboards created by Phil Hagelberg (@technomancy). This keyboard is available in two variants: one powered by a Teensy 2, (usually hand-wired) one powered by an A-Star. (usually using a PCB) This repository currently assumes that you have an A-Star powered Atreus. If you are using a Teensy2, specify that by adding `TEENSY2=yes` to your `make` commands. 6These configuration files are specifically for the Atreus keyboards created by Phil Hagelberg (@technomancy). This keyboard is available in two variants: one powered by a Teensy 2, (usually hand-wired) one powered by an A-Star. (usually using a PCB) This repository currently assumes that you have an A-Star powered Atreus. If you are using a Teensy2, specify that by adding `TEENSY2=yes` to your `make` commands.
7 7
8Keyboard Maintainer: QMK Community 8Keyboard Maintainer: QMK Community
9Hardware Supported: Atreus PCB 9Hardware Supported: Atreus PCB
10Hardware Availability: https://atreus.technomancy.us 10Hardware Availability: https://atreus.technomancy.us
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make atreus-default-avrdude 14 make atreus:default:avrdude
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/atreus62/readme.md b/keyboards/atreus62/readme.md
index d68d1b615..b2de90011 100644
--- a/keyboards/atreus62/readme.md
+++ b/keyboards/atreus62/readme.md
@@ -5,12 +5,12 @@ A 62 key variant of the Atreus keyboard.
5 5
6https://github.com/profet23/atreus62 6https://github.com/profet23/atreus62
7 7
8Keyboard Maintainer: QMK Community 8Keyboard Maintainer: QMK Community
9Hardware Supported: Atreus62 PCB 9Hardware Supported: Atreus62 PCB
10Hardware Availability: http://shop.profetkeyboards.com/product/atreus62-keyboard 10Hardware Availability: http://shop.profetkeyboards.com/product/atreus62-keyboard
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make atreus62-default 14 make atreus62:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/bananasplit/README.md b/keyboards/bananasplit/README.md
index b059a0834..cd1e15d77 100644
--- a/keyboards/bananasplit/README.md
+++ b/keyboards/bananasplit/README.md
@@ -1,29 +1,15 @@
1# BananaSplit60 keyboard firmware 1BananaSplit60
2===
2 3
3Ported from evangs/tmk_keyboard 4A 60% PCB featuring a split spacebar.
4 5
5## Quantum MK Firmware 6Keyboard Maintainer: QMK Community
7Hardware Supported: BananaSplit60 PCB
8Hardware Availability: https://thevankeyboards.com/products/gb-bananasplit-60-keyboard-kit?variant=42149104910
6 9
7For the full Quantum feature list, see [the parent readme](/). 10Make example for this keyboard (after setting up your build environment):
8 11
9## Building 12 make bananasplit:default
10 13
11Download or clone the whole firmware and navigate to the keyboards/bananasplit folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
12 15
13Depending on which keymap you would like to use, you will have to compile slightly differently.
14
15### Default
16
17To build with the default keymap, simply run `make default`.
18
19### Other Keymaps
20
21Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files.
22
23To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
24
25```
26$ make [default|jack|<name>]
27```
28
29Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/bantam44/readme.md b/keyboards/bantam44/readme.md
index 494800958..0103c1647 100644
--- a/keyboards/bantam44/readme.md
+++ b/keyboards/bantam44/readme.md
@@ -3,12 +3,12 @@ Bantam-44
3 3
4A small mechanical keyboard. 4A small mechanical keyboard.
5 5
6Keyboard Maintainer: QMK Community 6Keyboard Maintainer: QMK Community
7Hardware Supported: Bantam-44 PCB 7Hardware Supported: Bantam-44 PCB
8Hardware Availability: http://www.bantamkeyboards.com 8Hardware Availability: http://www.bantamkeyboards.com
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make bantam44-default 12 make bantam44:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/chibios_test/boards/GENERIC_STM32_F103/board.mk b/keyboards/chibios_test/boards/GENERIC_STM32_F103/board.mk
index 48e0e51fe..6b8b312fd 100644
--- a/keyboards/chibios_test/boards/GENERIC_STM32_F103/board.mk
+++ b/keyboards/chibios_test/boards/GENERIC_STM32_F103/board.mk
@@ -1,5 +1,5 @@
1# List of all the board related files. 1# List of all the board related files.
2BOARDSRC = $(KEYBOARD_PATH)/boards/GENERIC_STM32_F103/board.c 2BOARDSRC = $(BOARD_PATH)/boards/GENERIC_STM32_F103/board.c
3 3
4# Required include directories 4# Required include directories
5BOARDINC = $(KEYBOARD_PATH)/boards/GENERIC_STM32_F103 5BOARDINC = $(BOARD_PATH)/boards/GENERIC_STM32_F103
diff --git a/keyboards/chibios_test/rules.mk b/keyboards/chibios_test/rules.mk
index f72e1ab69..45f03be02 100644
--- a/keyboards/chibios_test/rules.mk
+++ b/keyboards/chibios_test/rules.mk
@@ -5,4 +5,6 @@ CONSOLE_ENABLE = yes # Console for debug
5COMMAND_ENABLE = yes # Commands for debug and configuration 5COMMAND_ENABLE = yes # Commands for debug and configuration
6SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend 6SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
7NKRO_ENABLE = yes # USB Nkey Rollover 7NKRO_ENABLE = yes # USB Nkey Rollover
8CUSTOM_MATRIX = yes # Custom matrix file \ No newline at end of file 8CUSTOM_MATRIX = yes # Custom matrix file
9
10DEFAULT_FOLDER = chibios_test/stm32_f072_onekey \ No newline at end of file
diff --git a/keyboards/chibios_test/subproject.mk b/keyboards/chibios_test/subproject.mk
deleted file mode 100644
index 7ed203d68..000000000
--- a/keyboards/chibios_test/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = stm32_f072_onekey
diff --git a/keyboards/clueboard_17/Makefile b/keyboards/clueboard_17/Makefile
deleted file mode 100644
index 4e2a6f00f..000000000
--- a/keyboards/clueboard_17/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
1ifndef MAKEFILE_INCLUDED
2 include ../../Makefile
3endif \ No newline at end of file
diff --git a/keyboards/clueboard_17/readme.md b/keyboards/clueboard_17/readme.md
index f79d6b559..f3590fdbb 100644
--- a/keyboards/clueboard_17/readme.md
+++ b/keyboards/clueboard_17/readme.md
@@ -10,6 +10,6 @@ A basic 17 key numpad PCB.
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make cluepad-default 13 make clueboard_17:default
14 14
15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/clueboard_60/boards/GENERIC_STM32_F303XC/board.mk b/keyboards/clueboard_60/boards/GENERIC_STM32_F303XC/board.mk
index 9674228c3..43377629a 100644
--- a/keyboards/clueboard_60/boards/GENERIC_STM32_F303XC/board.mk
+++ b/keyboards/clueboard_60/boards/GENERIC_STM32_F303XC/board.mk
@@ -1,5 +1,5 @@
1# List of all the board related files. 1# List of all the board related files.
2BOARDSRC = $(KEYBOARD_PATH)/boards/GENERIC_STM32_F303XC/board.c 2BOARDSRC = $(BOARD_PATH)/boards/GENERIC_STM32_F303XC/board.c
3 3
4# Required include directories 4# Required include directories
5BOARDINC = $(KEYBOARD_PATH)/boards/GENERIC_STM32_F303XC 5BOARDINC = $(BOARD_PATH)/boards/GENERIC_STM32_F303XC
diff --git a/keyboards/clueboard_60/readme.md b/keyboards/clueboard_60/readme.md
index b13c5336b..7221c8203 100644
--- a/keyboards/clueboard_60/readme.md
+++ b/keyboards/clueboard_60/readme.md
@@ -9,6 +9,6 @@ A fully customizable 60% keyboard.
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make clueboard_60-default-dfu-util 12 make clueboard_60:default:dfu-util
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/clueboard_66/Makefile b/keyboards/clueboard_66/Makefile
deleted file mode 100644
index b9bada8f8..000000000
--- a/keyboards/clueboard_66/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
1SUBPROJECT_DEFAULT = rev2
2
3ifndef MAKEFILE_INCLUDED
4 include ../../Makefile
5endif \ No newline at end of file
diff --git a/keyboards/clueboard_66/clueboard_66.h b/keyboards/clueboard_66/clueboard_66.h
index 295a596d5..c8989983d 100644
--- a/keyboards/clueboard_66/clueboard_66.h
+++ b/keyboards/clueboard_66/clueboard_66.h
@@ -1,16 +1,16 @@
1#ifndef CLUEBOARD_H 1#ifndef CLUEBOARD_H
2#define CLUEBOARD_H 2#define CLUEBOARD_H
3 3
4#ifdef SUBPROJECT_rev1 4#include "quantum.h"
5
6#ifdef KEYBOARD_clueboard_66_rev1
5 #include "rev1.h" 7 #include "rev1.h"
6#endif 8#endif
7#ifdef SUBPROJECT_rev2 9#ifdef KEYBOARD_clueboard_66_rev2
8 #include "rev2.h" 10 #include "rev2.h"
9#endif 11#endif
10#ifdef SUBPROJECT_rev3 12#ifdef KEYBOARD_clueboard_66_rev3
11 #include "rev3.h" 13 #include "rev3.h"
12#endif 14#endif
13 15
14#include "quantum.h"
15
16#endif 16#endif
diff --git a/keyboards/clueboard_66/config.h b/keyboards/clueboard_66/config.h
index 0d4e6a874..eaf3e073f 100644
--- a/keyboards/clueboard_66/config.h
+++ b/keyboards/clueboard_66/config.h
@@ -60,15 +60,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
60//#define NO_ACTION_MACRO 60//#define NO_ACTION_MACRO
61//#define NO_ACTION_FUNCTION 61//#define NO_ACTION_FUNCTION
62 62
63
64#ifdef SUBPROJECT_rev1
65 #include "rev1/config.h"
66#endif
67#ifdef SUBPROJECT_rev2
68 #include "rev2/config.h"
69#endif
70#ifdef SUBPROJECT_rev3
71 #include "rev3/config.h"
72#endif
73
74#endif 63#endif
diff --git a/keyboards/clueboard_66/readme.md b/keyboards/clueboard_66/readme.md
index 13859bc24..c2423096e 100644
--- a/keyboards/clueboard_66/readme.md
+++ b/keyboards/clueboard_66/readme.md
@@ -13,6 +13,6 @@ A fully customizable 66% keyboard.
13 13
14Make example for this keyboard (after setting up your build environment): 14Make example for this keyboard (after setting up your build environment):
15 15
16 make clueboard-rev3-default 16 make clueboard/rev3:default
17 17
18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/clueboard_66/rev1/Makefile b/keyboards/clueboard_66/rev1/Makefile
deleted file mode 100644
index 191c6bb66..000000000
--- a/keyboards/clueboard_66/rev1/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
1ifndef MAKEFILE_INCLUDED
2 include ../../../Makefile
3endif \ No newline at end of file
diff --git a/keyboards/clueboard_66/rev1/config.h b/keyboards/clueboard_66/rev1/config.h
index f40876ffb..519e4d3ec 100644
--- a/keyboards/clueboard_66/rev1/config.h
+++ b/keyboards/clueboard_66/rev1/config.h
@@ -1,7 +1,7 @@
1#ifndef REV2_CONFIG_H 1#ifndef REV2_CONFIG_H
2#define REV2_CONFIG_H 2#define REV2_CONFIG_H
3 3
4#include "../config.h" 4#include "config_common.h"
5 5
6#define PRODUCT_ID 0x2301 6#define PRODUCT_ID 0x2301
7#define DEVICE_VER 0x0003 7#define DEVICE_VER 0x0003
diff --git a/keyboards/clueboard_66/rev2/Makefile b/keyboards/clueboard_66/rev2/Makefile
deleted file mode 100644
index 191c6bb66..000000000
--- a/keyboards/clueboard_66/rev2/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
1ifndef MAKEFILE_INCLUDED
2 include ../../../Makefile
3endif \ No newline at end of file
diff --git a/keyboards/clueboard_66/rev2/config.h b/keyboards/clueboard_66/rev2/config.h
index bc34fc07b..3c22c5b4a 100644
--- a/keyboards/clueboard_66/rev2/config.h
+++ b/keyboards/clueboard_66/rev2/config.h
@@ -1,7 +1,7 @@
1#ifndef REV2_CONFIG_H 1#ifndef REV2_CONFIG_H
2#define REV2_CONFIG_H 2#define REV2_CONFIG_H
3 3
4#include "../config.h" 4#include "config_common.h"
5 5
6#define PRODUCT_ID 0x2320 6#define PRODUCT_ID 0x2320
7#define DEVICE_VER 0x0001 7#define DEVICE_VER 0x0001
diff --git a/keyboards/clueboard_66/rev2/rev2.h b/keyboards/clueboard_66/rev2/rev2.h
index 75015ec02..da7ce500f 100644
--- a/keyboards/clueboard_66/rev2/rev2.h
+++ b/keyboards/clueboard_66/rev2/rev2.h
@@ -1,7 +1,7 @@
1#ifndef REV2_H 1#ifndef REV2_H
2#define REV2_H 2#define REV2_H
3 3
4#include "../clueboard_66.h" 4#include "clueboard_66.h"
5 5
6/* Clueboard matrix layout 6/* Clueboard matrix layout
7 * ,-----------------------------------------------------------. ,---. 7 * ,-----------------------------------------------------------. ,---.
diff --git a/keyboards/clueboard_66/rev3/config.h b/keyboards/clueboard_66/rev3/config.h
index cd12db22e..5e645c78f 100644
--- a/keyboards/clueboard_66/rev3/config.h
+++ b/keyboards/clueboard_66/rev3/config.h
@@ -1,7 +1,7 @@
1#ifndef REV3_CONFIG_H 1#ifndef REV3_CONFIG_H
2#define REV3_CONFIG_H 2#define REV3_CONFIG_H
3 3
4#include "../config.h" 4#include "config_common.h"
5 5
6#define PRODUCT_ID 0x2370 6#define PRODUCT_ID 0x2370
7#define DEVICE_VER 0x0001 7#define DEVICE_VER 0x0001
diff --git a/keyboards/clueboard_66/rev3/rev3.h b/keyboards/clueboard_66/rev3/rev3.h
index fd6f98344..7fd243c80 100644
--- a/keyboards/clueboard_66/rev3/rev3.h
+++ b/keyboards/clueboard_66/rev3/rev3.h
@@ -1,7 +1,7 @@
1#ifndef REV3_H 1#ifndef REV3_H
2#define REV3_H 2#define REV3_H
3 3
4#include "../clueboard_66.h" 4#include "clueboard_66.h"
5 5
6/* Clueboard matrix layout 6/* Clueboard matrix layout
7 * ,-----------------------------------------------------------. ,---. 7 * ,-----------------------------------------------------------. ,---.
diff --git a/keyboards/clueboard_66/rules.mk b/keyboards/clueboard_66/rules.mk
index afbb531a2..abab3bd5b 100644
--- a/keyboards/clueboard_66/rules.mk
+++ b/keyboards/clueboard_66/rules.mk
@@ -19,3 +19,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
19MIDI_ENABLE = no # MIDI controls 19MIDI_ENABLE = no # MIDI controls
20UNICODE_ENABLE = no # Unicode 20UNICODE_ENABLE = no # Unicode
21BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 21BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
22
23DEFAULT_FOLDER = clueboard_66/rev2
diff --git a/keyboards/clueboard_66/subproject.mk b/keyboards/clueboard_66/subproject.mk
deleted file mode 100644
index 7c9b39598..000000000
--- a/keyboards/clueboard_66/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = rev2
diff --git a/keyboards/cluecard/readme.md b/keyboards/cluecard/readme.md
index d9daa0b2b..589eb57f3 100644
--- a/keyboards/cluecard/readme.md
+++ b/keyboards/cluecard/readme.md
@@ -8,6 +8,6 @@ A simple QMK dev kit.
8 8
9Make example for this keyboard (after setting up your build environment): 9Make example for this keyboard (after setting up your build environment):
10 10
11 make cluecard-default 11 make cluecard:default
12 12
13See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 13See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/converter/converter.c b/keyboards/converter/converter.c
deleted file mode 100644
index aa4bef63a..000000000
--- a/keyboards/converter/converter.c
+++ /dev/null
@@ -1 +0,0 @@
1#include "converter.h" \ No newline at end of file
diff --git a/keyboards/converter/converter.h b/keyboards/converter/converter.h
deleted file mode 100644
index 7a4a4835e..000000000
--- a/keyboards/converter/converter.h
+++ /dev/null
@@ -1 +0,0 @@
1#include "quantum.h" \ No newline at end of file
diff --git a/keyboards/converter/rules.mk b/keyboards/converter/rules.mk
deleted file mode 100644
index e69de29bb..000000000
--- a/keyboards/converter/rules.mk
+++ /dev/null
diff --git a/keyboards/converter/usb_usb/README.md b/keyboards/converter/usb_usb/README.md
index c1904a812..2ed702695 100644
--- a/keyboards/converter/usb_usb/README.md
+++ b/keyboards/converter/usb_usb/README.md
@@ -9,7 +9,7 @@ Hardware Availability: [GH thread](https://geekhack.org/index.php?topic=72052.0)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make converter-usb_usb-default 12 make converter/usb_usb:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
15 15
diff --git a/keyboards/converter/usb_usb/rules.mk b/keyboards/converter/usb_usb/rules.mk
index 4ee6cdb1c..81a393e8a 100644
--- a/keyboards/converter/usb_usb/rules.mk
+++ b/keyboards/converter/usb_usb/rules.mk
@@ -1,5 +1,5 @@
1# MCU name 1# MCU name
2MCU ?= atmega32u4 2MCU = atmega32u4
3 3
4 4
5# Processor frequency. 5# Processor frequency.
@@ -13,14 +13,14 @@ MCU ?= atmega32u4
13# does not *change* the processor frequency - it should merely be updated to 13# does not *change* the processor frequency - it should merely be updated to
14# reflect the processor speed set externally so that the code can use accurate 14# reflect the processor speed set externally so that the code can use accurate
15# software delays. 15# software delays.
16F_CPU ?= 8000000 16F_CPU = 8000000
17 17
18 18
19# 19#
20# LUFA specific 20# LUFA specific
21# 21#
22# Target architecture (see library "Board Types" documentation). 22# Target architecture (see library "Board Types" documentation).
23ARCH ?= AVR8 23ARCH = AVR8
24 24
25# Input clock frequency. 25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the 26# This will define a symbol, F_USB, in all source code files equal to the
@@ -33,7 +33,7 @@ ARCH ?= AVR8
33# 33#
34# If no clock division is performed on the input clock inside the AVR (via the 34# If no clock division is performed on the input clock inside the AVR (via the
35# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. 35# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
36F_USB ?= $(F_CPU) 36F_USB = $(F_CPU)
37 37
38# Interrupt driven control endpoint task 38# Interrupt driven control endpoint task
39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT 39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
@@ -51,16 +51,15 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
51# Build Options 51# Build Options
52# comment out to disable the options. 52# comment out to disable the options.
53# 53#
54# BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) 54# BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
55# MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) 55# MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
56EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) 56EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
57# CONSOLE_ENABLE ?= yes # Console for debug(+400) 57# CONSOLE_ENABLE = yes # Console for debug(+400)
58# COMMAND_ENABLE ?= yes # Commands for debug and configuration 58# COMMAND_ENABLE = yes # Commands for debug and configuration
59# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend 59# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
60# NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA 60# NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
61# BACKLIGHT_ENABLE ?= yes 61# BACKLIGHT_ENABLE = yes
62 62USB_HID_ENABLE = yes
63 63
64CUSTOM_MATRIX = yes 64CUSTOM_MATRIX = yes
65SRC = custom_matrix.cpp 65SRC = custom_matrix.cpp \ No newline at end of file
66include $(TMK_DIR)/protocol/usb_hid.mk
diff --git a/keyboards/deltasplit75/config.h b/keyboards/deltasplit75/config.h
index 89d328be6..8a2fbb3b2 100644
--- a/keyboards/deltasplit75/config.h
+++ b/keyboards/deltasplit75/config.h
@@ -20,10 +20,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
23#ifdef SUBPROJECT_protosplit
24 #include "protosplit/config.h"
25#endif
26#ifdef SUBPROJECT_v2
27 #include "v2/config.h"
28#endif
29#endif 23#endif
diff --git a/keyboards/deltasplit75/deltasplit75.h b/keyboards/deltasplit75/deltasplit75.h
index 9db16c78c..79d018c91 100644
--- a/keyboards/deltasplit75/deltasplit75.h
+++ b/keyboards/deltasplit75/deltasplit75.h
@@ -1,12 +1,7 @@
1#ifndef DELTASPLIT75_H 1#ifndef DELTASPLIT75_H
2#define DELTASPLIT75_H 2#define DELTASPLIT75_H
3 3
4#ifdef SUBPROJECT_v2 4#include "v2.h"
5 #include "v2.h"
6#endif
7#ifdef SUBPROJECT_protosplit
8 #include "protosplit.h"
9#endif
10 5
11#include "quantum.h" 6#include "quantum.h"
12 7
diff --git a/keyboards/deltasplit75/readme.md b/keyboards/deltasplit75/readme.md
index a1e35e337..f911f7871 100644
--- a/keyboards/deltasplit75/readme.md
+++ b/keyboards/deltasplit75/readme.md
@@ -9,7 +9,7 @@ Hardware Availability: Group Buy
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make deltasplit75-v2-default 12 make deltasplit75/v2:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
15 15
diff --git a/keyboards/deltasplit75/rules.mk b/keyboards/deltasplit75/rules.mk
index 1aee5313c..e345d61f5 100644
--- a/keyboards/deltasplit75/rules.mk
+++ b/keyboards/deltasplit75/rules.mk
@@ -55,21 +55,23 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
55# change to "no" to disable the options, or define them in the Makefile in 55# change to "no" to disable the options, or define them in the Makefile in
56# the appropriate keymap folder that will get included automatically 56# the appropriate keymap folder that will get included automatically
57# 57#
58BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) 58BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
59MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) 59MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
60EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) 60EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
61CONSOLE_ENABLE ?= no # Console for debug(+400) 61CONSOLE_ENABLE = no # Console for debug(+400)
62COMMAND_ENABLE ?= yes # Commands for debug and configuration 62COMMAND_ENABLE = yes # Commands for debug and configuration
63NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 63NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality 64BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
65MIDI_ENABLE ?= no # MIDI controls 65MIDI_ENABLE = no # MIDI controls
66AUDIO_ENABLE ?= no # Audio output on port C6 66AUDIO_ENABLE = no # Audio output on port C6
67UNICODE_ENABLE ?= no # Unicode 67UNICODE_ENABLE = no # Unicode
68BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID 68BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
69RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 69RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
70SUBPROJECT_rev1 ?= yes 70SUBPROJECT_rev1 = yes
71USE_I2C ?= yes 71USE_I2C = yes
72# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 72# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
73SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend 73SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
74 74
75CUSTOM_MATRIX = yes 75CUSTOM_MATRIX = yes
76
77DEFAULT_FOLDER = deltasplit75/v2 \ No newline at end of file
diff --git a/keyboards/deltasplit75/subproject.mk b/keyboards/deltasplit75/subproject.mk
deleted file mode 100644
index 298067e5d..000000000
--- a/keyboards/deltasplit75/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = v2
diff --git a/keyboards/deltasplit75/v2/config.h b/keyboards/deltasplit75/v2/config.h
index 0f4b806e2..b677d09aa 100644
--- a/keyboards/deltasplit75/v2/config.h
+++ b/keyboards/deltasplit75/v2/config.h
@@ -15,8 +15,8 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#ifndef CONFIG_V2_H
19#define CONFIG_H 19#define CONFIG_V2_H
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
diff --git a/keyboards/deltasplit75/v2/rules.mk b/keyboards/deltasplit75/v2/rules.mk
index 80a942d06..f84561674 100644
--- a/keyboards/deltasplit75/v2/rules.mk
+++ b/keyboards/deltasplit75/v2/rules.mk
@@ -1,5 +1 @@
1BACKLIGHT_ENABLE = no BACKLIGHT_ENABLE = no \ No newline at end of file
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile
5endif
diff --git a/keyboards/dk60/readme.md b/keyboards/dk60/readme.md
index 5eba79150..bd99d4b61 100644
--- a/keyboards/dk60/readme.md
+++ b/keyboards/dk60/readme.md
@@ -10,7 +10,7 @@ Another 60% keyboard with different HHKB layout made and sold by dbroqua. [More
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make dk60-default 13 make dk60:default
14 14
15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
16 16
diff --git a/keyboards/dz60/readme.md b/keyboards/dz60/readme.md
index d14af7a5c..78b290fba 100644
--- a/keyboards/dz60/readme.md
+++ b/keyboards/dz60/readme.md
@@ -10,6 +10,6 @@ Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/collections/pcb/p
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make dz60-default 13 make dz60:default
14 14
15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/eco/eco.h b/keyboards/eco/eco.h
index 2cfb8df26..4f8cfabd8 100644
--- a/keyboards/eco/eco.h
+++ b/keyboards/eco/eco.h
@@ -1,10 +1,10 @@
1#ifndef ECO_H 1#ifndef ECO_H
2#define ECO_H 2#define ECO_H
3 3
4#ifdef SUBPROJECT_rev1 4#ifdef KEYBOARD_eco_rev1
5 #include "rev1.h" 5 #include "rev1.h"
6#endif 6#endif
7#ifdef SUBPROJECT_rev2 7#ifdef KEYBOARD_eco_rev2
8 #include "rev2.h" 8 #include "rev2.h"
9#endif 9#endif
10 10
diff --git a/keyboards/eco/readme.md b/keyboards/eco/readme.md
index d29aa8ece..afa9d5559 100644
--- a/keyboards/eco/readme.md
+++ b/keyboards/eco/readme.md
@@ -10,6 +10,6 @@ Hardware Supported: ECO PCB rev1 Pro Micro
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make eco-rev2-that_canadian 13 make eco/rev2:that_canadian
14 14
15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file 15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file
diff --git a/keyboards/eco/rules.mk b/keyboards/eco/rules.mk
index cf26cdc0d..6f4b4fefc 100644
--- a/keyboards/eco/rules.mk
+++ b/keyboards/eco/rules.mk
@@ -66,3 +66,5 @@ API_SYSEX_ENABLE = no
66 66
67# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 67# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
68SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 68SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
69
70DEFAULT_FOLDER = eco/rev2 \ No newline at end of file
diff --git a/keyboards/eco/subproject.mk b/keyboards/eco/subproject.mk
deleted file mode 100644
index 7c9b39598..000000000
--- a/keyboards/eco/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = rev2
diff --git a/keyboards/ergodone/readme.md b/keyboards/ergodone/readme.md
index 8e3123f4f..207df789a 100644
--- a/keyboards/ergodone/readme.md
+++ b/keyboards/ergodone/readme.md
@@ -18,7 +18,7 @@ The ErgoDone is a modified version of the ErgoDox, made by K.T.E.C., with pre-so
18 18
19In the root directory of the repository, build the firmware with a command like: 19In the root directory of the repository, build the firmware with a command like:
20 20
21 make ergodone-default 21 make ergodone:default
22 22
23For more information on the layout option and other ones, see the [`make` guide](https://docs.qmk.fm/getting_started_make_guide.html). 23For more information on the layout option and other ones, see the [`make` guide](https://docs.qmk.fm/getting_started_make_guide.html).
24 24
diff --git a/keyboards/ergodox_ez/keymaps/drashna-custom/keymap.c b/keyboards/ergodox_ez/keymaps/drashna-custom/keymap.c
index 4223bc2d1..5f0504beb 100644
--- a/keyboards/ergodox_ez/keymaps/drashna-custom/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/drashna-custom/keymap.c
@@ -98,7 +98,7 @@ enum {
98 98
99 99
100// on each tap, light up one led, from right to left 100// on each tap, light up one led, from right to left
101// on the forth tap, turn them off from right to leftmake ergodox-ez-drashna-custom-teensy 101// on the forth tap, turn them off from right to left
102 102
103void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) { 103void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) {
104 if (!skip_leds) { 104 if (!skip_leds) {
diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/README.md b/keyboards/ergodox_ez/keymaps/dvorak_42_key/README.md
index 18af2cdee..9d30c2e19 100644
--- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/README.md
+++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/README.md
@@ -5,7 +5,7 @@ This is a dvorak based layout for the Ergodox EZ. Its basic key layout is simila
5 5
6How to build 6How to build
7------------ 7------------
8make ergodox_ez-dvorak_42_key-teensy 8make ergodox_ez:dvorak_42_key:teensy
9 9
10Layers 10Layers
11------ 11------
diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
index 55168e85d..c1195ecc0 100644
--- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
@@ -5,7 +5,7 @@
5 5
6 6
7// to build this keymap 7// to build this keymap
8// make ergodox_ez-dvorak_42_key-teensy 8// make ergodox_ez:dvorak_42_key:teensy
9 9
10static bool mouse_lock = false; 10static bool mouse_lock = false;
11 11
diff --git a/keyboards/ergodox_infinity/keymaps/rask/README.md b/keyboards/ergodox_infinity/keymaps/rask/README.md
index 99e395323..8a1399430 100644
--- a/keyboards/ergodox_infinity/keymaps/rask/README.md
+++ b/keyboards/ergodox_infinity/keymaps/rask/README.md
@@ -17,4 +17,4 @@ makes sense.
17 17
18Follow the main Infinity ErgoDox guide but use the following layout: 18Follow the main Infinity ErgoDox guide but use the following layout:
19 19
20 $ sudo make ergodox_infinity-rask 20 $ sudo make ergodox_infinity:rask
diff --git a/keyboards/ergodox_infinity/readme.md b/keyboards/ergodox_infinity/readme.md
index 4ad5990b8..7b8c1df3a 100644
--- a/keyboards/ergodox_infinity/readme.md
+++ b/keyboards/ergodox_infinity/readme.md
@@ -5,15 +5,15 @@ for the left and right halves seperately. To flash them:
5 5
6 - Make sure you are in the top-level qmk_firmware directory 6 - Make sure you are in the top-level qmk_firmware directory
7 7
8 - Build the firmware with `make ergodox_infinity-keymapname` 8 - Build the firmware with `make ergodox_infinity:keymapname`
9 9
10 - Plug in the left hand keyboard only. 10 - Plug in the left hand keyboard only.
11 11
12 - Press the program button (back of keyboard, above thumb pad). 12 - Press the program button (back of keyboard, above thumb pad).
13 13
14 - Install the firmware with `sudo make ergodox_infinity-keymapname-dfu-util` 14 - Install the firmware with `sudo make ergodox_infinity:keymapname:dfu-util`
15 15
16 - Build right hand firmware with `make ergodox_infinity-keymapname MASTER=right` 16 - Build right hand firmware with `make ergodox_infinity:keymapname MASTER=right`
17 17
18 - Plug in the right hand keyboard only. 18 - Plug in the right hand keyboard only.
19 19
diff --git a/keyboards/felix/readme.md b/keyboards/felix/readme.md
index 1b5f4b42e..e41782c3c 100644
--- a/keyboards/felix/readme.md
+++ b/keyboards/felix/readme.md
@@ -8,6 +8,6 @@ Hardware Availability: [Unikeyboard](https://unikeyboard.io/product/felix/)
8 8
9Make example for this keyboard (after setting up your build environment): 9Make example for this keyboard (after setting up your build environment):
10 10
11 make felix-default 11 make felix:default
12 12
13See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 13See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/four_banger/readme.md b/keyboards/four_banger/readme.md
index f2ab0ad87..ffb6091f9 100644
--- a/keyboards/four_banger/readme.md
+++ b/keyboards/four_banger/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: [1up Keyboards](https://1upkeyboards.com/)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make four_banger-default 12 make four_banger:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file
diff --git a/keyboards/frosty_flake/readme.md b/keyboards/frosty_flake/readme.md
index 4a933d0bd..822377a71 100644
--- a/keyboards/frosty_flake/readme.md
+++ b/keyboards/frosty_flake/readme.md
@@ -25,19 +25,19 @@ Make example for this keyboard (after setting up your build environment):
25104 key default layout: 25104 key default layout:
26 26
27``` 27```
28make frosty_flake-default 28make frosty_flake:default
29``` 29```
30 30
31To directly flash the frosty_flake after compiling use 31To directly flash the frosty_flake after compiling use
32 32
33``` 33```
34make frosty_flake-default-dfu 34make frosty_flake:default:dfu
35``` 35```
36 36
3787 key tkl layout: 3787 key tkl layout:
38 38
39``` 39```
40make frosty_flake-tkl-dfu 40make frosty_flake:tkl:dfu
41``` 41```
42 42
43See [build environment 43See [build environment
diff --git a/keyboards/gh60/keymaps/dbroqua/config.h b/keyboards/gh60/keymaps/dbroqua/config.h
index 75ccec097..0b8218d28 100644
--- a/keyboards/gh60/keymaps/dbroqua/config.h
+++ b/keyboards/gh60/keymaps/dbroqua/config.h
@@ -15,8 +15,8 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#ifndef CONFIG_USER_H
19#define CONFIG_H 19#define CONFIG_USER_H
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
diff --git a/keyboards/gh60/keymaps/robotmaxtron/config.h b/keyboards/gh60/keymaps/robotmaxtron/config.h
index bcd753461..abaddb71f 100644
--- a/keyboards/gh60/keymaps/robotmaxtron/config.h
+++ b/keyboards/gh60/keymaps/robotmaxtron/config.h
@@ -15,8 +15,8 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#ifndef CONFIG_USER_H
19#define CONFIG_H 19#define CONFIG_USER_H
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
diff --git a/keyboards/gh60/readme.md b/keyboards/gh60/readme.md
index e477b279c..400a81c41 100644
--- a/keyboards/gh60/readme.md
+++ b/keyboards/gh60/readme.md
@@ -11,7 +11,7 @@ Hardware Availability: http://blog.komar.be/projects/gh60-programmable-keyboard/
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make gh60-default 14 make gh60:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
17 17
diff --git a/keyboards/gherkin/README.md b/keyboards/gherkin/README.md
index 210247af9..5e0daeabf 100644
--- a/keyboards/gherkin/README.md
+++ b/keyboards/gherkin/README.md
@@ -11,7 +11,7 @@ Hardware Availability: [Gherkin project on 40% Keyboards](http://www.40percent.c
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make gherkin-default 14 make gherkin:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
17First pass at adding support for the gherkin keyboard. Compiles but completely 17First pass at adding support for the gherkin keyboard. Compiles but completely
diff --git a/keyboards/gonnerd/readme.md b/keyboards/gonnerd/readme.md
index 388816abb..26e4890d9 100644
--- a/keyboards/gonnerd/readme.md
+++ b/keyboards/gonnerd/readme.md
@@ -9,7 +9,7 @@ Hardware Availability: http://www.gonskeyboardworks.com/pcbs-and-controllers/60-
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make gonnerd-default 12 make gonnerd:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
15 15
diff --git a/keyboards/hadron/out.txt b/keyboards/hadron/out.txt
deleted file mode 100644
index 644a6a777..000000000
--- a/keyboards/hadron/out.txt
+++ /dev/null
@@ -1,66 +0,0 @@
1-------- begin --------
2avr-gcc.exe (AVR_8_bit_GNU_Toolchain_3.5.0_1662) 4.9.2
3Copyright (C) 2014 Free Software Foundation, Inc.
4This is free software; see the source for copying conditions. There is NO
5warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
6
7Compiling: ../../keyboards/planck/planck.c [OK]
8Compiling: ../../keyboards/planck/keymaps/experimental/keymap.c [WARNINGS]
9 |
10 | ../../keyboards/planck/keymaps/experimental/keymap.c: In function 'action_get_macro':
11 | ../../keyboards/planck/keymaps/experimental/keymap.c:227:17: warning: implicit declaration of function 'breathing_speed_set' [-Wimplicit-function-declaration]
12 | breathing_speed_set(2);
13 | ^
14 | ../../keyboards/planck/keymaps/experimental/keymap.c:228:17: warning: implicit declaration of function 'breathing_pulse' [-Wimplicit-function-declaration]
15 | breathing_pulse();
16 | ^
17 |
18Compiling: ../../quantum/quantum.c [OK]
19Compiling: ../../quantum/keymap.c [OK]
20Compiling: ../../quantum/keycode_config.c [OK]
21Compiling: ../../quantum/matrix.c [OK]
22Compiling: ../../quantum/audio/audio.c [OK]
23Compiling: ../../quantum/audio/voices.c [OK]
24Compiling: ../../quantum/audio/luts.c [OK]
25Compiling: ../../tmk_core/protocol/lufa/lufa.c [OK]
26Compiling: ../../tmk_core/protocol/lufa/descriptor.c [OK]
27Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Class/Common/HIDParser.c [OK]
28Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.c [OK]
29Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.c [OK]
30Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.c [OK]
31Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c [OK]
32Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.c [OK]
33Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c [OK]
34Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c [OK]
35Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c [OK]
36Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/ConfigDescriptors.c [OK]
37Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/DeviceStandardReq.c [OK]
38Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/Events.c [OK]
39Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/HostStandardReq.c [OK]
40Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/USBTask.c [OK]
41Compiling: ../../tmk_core/common/host.c [OK]
42Compiling: ../../tmk_core/common/keyboard.c [OK]
43Compiling: ../../tmk_core/common/action.c [OK]
44Compiling: ../../tmk_core/common/action_tapping.c [OK]
45Compiling: ../../tmk_core/common/action_macro.c [OK]
46Compiling: ../../tmk_core/common/action_layer.c [OK]
47Compiling: ../../tmk_core/common/action_util.c [OK]
48Compiling: ../../tmk_core/common/print.c [OK]
49Compiling: ../../tmk_core/common/debug.c [OK]
50Compiling: ../../tmk_core/common/util.c [OK]
51Compiling: ../../tmk_core/common/avr/suspend.c [OK]
52Assembling: ../../tmk_core/common/avr/xprintf.S [OK]
53Compiling: ../../tmk_core/common/avr/timer.c [OK]
54Compiling: ../../tmk_core/common/avr/bootloader.c [OK]
55Compiling: ../../tmk_core/common/magic.c [OK]
56Compiling: ../../tmk_core/common/avr/eeconfig.c [OK]
57Compiling: ../../tmk_core/common/mousekey.c [OK]
58Compiling: ../../tmk_core/common/command.c [OK]
59Compiling: ../../tmk_core/common/backlight.c [OK]
60Linking: .build/planck_experimental.elf [ERRORS]
61 |
62 | .build/obj_planck_experimental/keyboards/planck/keymaps/experimental/keymap.o: In function `action_get_macro':
63 | C:\Users\Fred Wales\Documents\Programming\qmk_firmware\keyboards\planck/../../keyboards/planck/keymaps/experimental/keymap.c:240: undefined reference to `breathing_speed_set'
64 | C:\Users\Fred Wales\Documents\Programming\qmk_firmware\keyboards\planck/../../keyboards/planck/keymaps/experimental/keymap.c:241: undefined reference to `breathing_pulse'
65 | collect2.exe: error: ld returned 1 exit status
66 |
diff --git a/keyboards/hadron/rules.mk b/keyboards/hadron/rules.mk
index 78f86f982..66a900825 100644
--- a/keyboards/hadron/rules.mk
+++ b/keyboards/hadron/rules.mk
@@ -70,3 +70,4 @@ SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
70SRC = i2c.c \ 70SRC = i2c.c \
71 ssd1306.c 71 ssd1306.c
72 72
73DEFAULT_FOLDER = hadron/ver2 \ No newline at end of file
diff --git a/keyboards/hadron/subproject.mk b/keyboards/hadron/subproject.mk
deleted file mode 100644
index 546c88fef..000000000
--- a/keyboards/hadron/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = ver2
diff --git a/keyboards/handwired/handwired.c b/keyboards/handwired/handwired.c
deleted file mode 100644
index feef8a919..000000000
--- a/keyboards/handwired/handwired.c
+++ /dev/null
@@ -1 +0,0 @@
1#include "handwired.h" \ No newline at end of file
diff --git a/keyboards/handwired/handwired.h b/keyboards/handwired/handwired.h
deleted file mode 100644
index 7a4a4835e..000000000
--- a/keyboards/handwired/handwired.h
+++ /dev/null
@@ -1 +0,0 @@
1#include "quantum.h" \ No newline at end of file
diff --git a/keyboards/handwired/kbod/readme.md b/keyboards/handwired/kbod/readme.md
index 67bf711be..d2f2c01ae 100644
--- a/keyboards/handwired/kbod/readme.md
+++ b/keyboards/handwired/kbod/readme.md
@@ -9,7 +9,7 @@ For the full Quantum feature list, see [the parent readme](/).
9 9
10## Building 10## Building
11 11
12Download or clone the whole firmware and use ```make handwired-kbod-default``` to generate the .hex file. You may flash it with avrdude 12Download or clone the whole firmware and use ```make handwired/kbod:default``` to generate the .hex file. You may flash it with avrdude
13 13
14## Flashing 14## Flashing
15Something along this line: 15Something along this line:
diff --git a/keyboards/handwired/magicforce61/README.md b/keyboards/handwired/magicforce61/README.md
index 5a260f9ad..cc8673262 100644
--- a/keyboards/handwired/magicforce61/README.md
+++ b/keyboards/handwired/magicforce61/README.md
@@ -19,6 +19,6 @@ The following pins are used:
19 19
20## Compiling and loading the firmware 20## Compiling and loading the firmware
21 21
22To build the firmware, run `make handwired-magicforce61`. 22To build the firmware, run `make handwired/magicforce61`.
23 23
24Flash the firmware using the teensy loader or avrdude. 24Flash the firmware using the teensy loader or avrdude.
diff --git a/keyboards/handwired/rules.mk b/keyboards/handwired/rules.mk
deleted file mode 100644
index e69de29bb..000000000
--- a/keyboards/handwired/rules.mk
+++ /dev/null
diff --git a/keyboards/handwired/traveller/rules.mk b/keyboards/handwired/traveller/rules.mk
index a7f7fc230..62f94b945 100644
--- a/keyboards/handwired/traveller/rules.mk
+++ b/keyboards/handwired/traveller/rules.mk
@@ -80,10 +80,3 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
80AUDIO_ENABLE = no # Audio output on port C6 80AUDIO_ENABLE = no # Audio output on port C6
81RGBLIGHT_ENABLE = yes 81RGBLIGHT_ENABLE = yes
82 82
83ifndef QUANTUM_DIR
84 include ../../../Makefile
85endif
86
87upload: build
88 $(ATREUS_UPLOAD_COMMAND)
89
diff --git a/keyboards/hhkb/keymaps/blakedietz/README.md b/keyboards/hhkb/keymaps/blakedietz/README.md
index c0f7fde7a..4dff47a6e 100644
--- a/keyboards/hhkb/keymaps/blakedietz/README.md
+++ b/keyboards/hhkb/keymaps/blakedietz/README.md
@@ -29,7 +29,7 @@ From the hhkb directory run the following:
29 29
30```bash 30```bash
31make clean 31make clean
32make hhkb-blakedietz-dfu 32make hhkb:blakedietz:dfu
33``` 33```
34 34
35Press the button on the alternate controller to put the board into boot mode. 35Press the button on the alternate controller to put the board into boot mode.
@@ -37,7 +37,7 @@ Press the button on the alternate controller to put the board into boot mode.
37You'll see an output similar to the following: 37You'll see an output similar to the following:
38 38
39```bash 39```bash
40make hhkb-blakedietz-dfu 40make hhkb:blakedietz:dfu
41 41
42Making hhkb with keymap blakedietz and target dfu 42Making hhkb with keymap blakedietz and target dfu
43 43
diff --git a/keyboards/hhkb/readme.md b/keyboards/hhkb/readme.md
index ee64e037a..8774a73f7 100644
--- a/keyboards/hhkb/readme.md
+++ b/keyboards/hhkb/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://geekhack.org/index.php?topic=12047.0
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make hhkb-default 12 make hhkb:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/infinity60/readme.md b/keyboards/infinity60/readme.md
index bca26c69f..94f65d370 100644
--- a/keyboards/infinity60/readme.md
+++ b/keyboards/infinity60/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://input.club/devices/infinity-keyboard/
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make infinity60-default 12 make infinity60:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/jc65/readme.md b/keyboards/jc65/readme.md
index 55ed72229..e8955ec53 100644
--- a/keyboards/jc65/readme.md
+++ b/keyboards/jc65/readme.md
@@ -13,10 +13,10 @@ Hardware Availability: [keyclack.com](https://keyclack.com/)
13 13
14Make example for this keyboard (after setting up your build environment): 14Make example for this keyboard (after setting up your build environment):
15 15
16 make jc65-default 16 make jc65:default
17 17
18Or to make and flash: 18Or to make and flash:
19 19
20 make jc65-default-dfu 20 make jc65:default:dfu
21 21
22See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 22See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/jd40/readme.md b/keyboards/jd40/readme.md
index 1684a562e..6934e54d4 100644
--- a/keyboards/jd40/readme.md
+++ b/keyboards/jd40/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: [1up](https://1upkeyboards.com/jd40-mkii-1up-keyboards-lo
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make atreus-default 12 make jd40:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/jd45/config.h b/keyboards/jd45/config.h
index ee989b7b4..43d138f4e 100644
--- a/keyboards/jd45/config.h
+++ b/keyboards/jd45/config.h
@@ -67,10 +67,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
67 */ 67 */
68 68
69/* disable debug print */ 69/* disable debug print */
70#define NO_DEBUG 70// #define NO_DEBUG
71 71
72/* disable print */ 72/* disable print */
73#define NO_PRINT 73// #define NO_PRINT
74 74
75/* disable action features */ 75/* disable action features */
76//#define NO_ACTION_LAYER 76//#define NO_ACTION_LAYER
diff --git a/keyboards/jd45/keymaps/mjt/config.h b/keyboards/jd45/keymaps/mjt/config.h
index 276639514..a8c8e9d17 100644
--- a/keyboards/jd45/keymaps/mjt/config.h
+++ b/keyboards/jd45/keymaps/mjt/config.h
@@ -15,8 +15,8 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#ifndef CONFIG_USER_H
19#define CONFIG_H 19#define CONFIG_USER_H
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
diff --git a/keyboards/jd45/readme.md b/keyboards/jd45/readme.md
index 4bed1be41..a2e4cf6dd 100644
--- a/keyboards/jd45/readme.md
+++ b/keyboards/jd45/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://mechanicalkeyboards.com/shop/index.php?l=product_
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make jd45-default 12 make jd45:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/jj40/README.md b/keyboards/jj40/README.md
index 03b7533de..0720366ad 100644
--- a/keyboards/jj40/README.md
+++ b/keyboards/jj40/README.md
@@ -10,7 +10,7 @@ Hardware Availability: [AliExpress](https://www.aliexpress.com/store/product/jj4
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make jj40-program 13 make jj40:default:program
14 14
15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
16 16
diff --git a/keyboards/jm60/boards/JM60_BOARD/board.mk b/keyboards/jm60/boards/JM60_BOARD/board.mk
index 46df0ef33..e2f051c31 100644
--- a/keyboards/jm60/boards/JM60_BOARD/board.mk
+++ b/keyboards/jm60/boards/JM60_BOARD/board.mk
@@ -1,5 +1,5 @@
1# List of all the board related files. 1# List of all the board related files.
2BOARDSRC = $(KEYBOARD_PATH)/boards/JM60_BOARD/board.c 2BOARDSRC = $(BOARD_PATH)/boards/JM60_BOARD/board.c
3 3
4# Required include directories 4# Required include directories
5BOARDINC = $(KEYBOARD_PATH)/boards/JM60_BOARD 5BOARDINC = $(BOARD_PATH)/boards/JM60_BOARD
diff --git a/keyboards/jm60/readme.md b/keyboards/jm60/readme.md
index e4243716f..3ba96ed60 100644
--- a/keyboards/jm60/readme.md
+++ b/keyboards/jm60/readme.md
@@ -9,7 +9,7 @@ Hardware Availability: https://kbdfans.myshopify.com/ (is no longer sold)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make jm60-default-bin 12 make jm60:default:bin
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
15 15
@@ -17,7 +17,7 @@ See [build environment setup](https://docs.qmk.fm/build_environment_setup.html)
17 17
181) from the `qmk_firmware` directory run: 181) from the `qmk_firmware` directory run:
19``` 19```
20$ make jm60-default-bin 20$ make jm60:default:bin
21``` 21```
22 22
232) rename 'jm60_default.bin' to 'jm60_default.firmware' 232) rename 'jm60_default.bin' to 'jm60_default.firmware'
diff --git a/keyboards/kbd75/readme.md b/keyboards/kbd75/readme.md
index 42fdc0d38..6c67307d7 100644
--- a/keyboards/kbd75/readme.md
+++ b/keyboards/kbd75/readme.md
@@ -7,6 +7,6 @@ Hardware Availability: https://kbdfans.myshopify.com/products/kbd75-keyboard-set
7 7
8Make example for this keyboard (after setting up your build environment): 8Make example for this keyboard (after setting up your build environment):
9 9
10 make kbd75-default 10 make kbd75:default
11 11
12See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 12See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/kinesis/kinesis.h b/keyboards/kinesis/kinesis.h
index 66713731f..94e913ebd 100644
--- a/keyboards/kinesis/kinesis.h
+++ b/keyboards/kinesis/kinesis.h
@@ -1,10 +1,10 @@
1#ifndef KINESIS_H 1#ifndef KINESIS_H
2#define KINESIS_H 2#define KINESIS_H
3 3
4#ifdef SUBPROJECT_alvicstep 4#ifdef KEYBOARD_kinesis_alvicstep
5 #include "alvicstep.h" 5 #include "alvicstep.h"
6#endif 6#endif
7#ifdef SUBPROJECT_stapelberg 7#ifdef KEYBOARD_kinesis_stapelberg
8 #include "stapelberg.h" 8 #include "stapelberg.h"
9#endif 9#endif
10 10
diff --git a/keyboards/kinesis/rules.mk b/keyboards/kinesis/rules.mk
index a7ff8da8b..c8646449b 100644
--- a/keyboards/kinesis/rules.mk
+++ b/keyboards/kinesis/rules.mk
@@ -71,3 +71,5 @@ UNICODE_ENABLE = no # Unicode
71BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 71BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
72AUDIO_ENABLE = no # Audio output should be port E6, current quantum library hardcodes C6, which we use for programming 72AUDIO_ENABLE = no # Audio output should be port E6, current quantum library hardcodes C6, which we use for programming
73CUSTOM_MATRIX=yes # need to do our own thing with the matrix 73CUSTOM_MATRIX=yes # need to do our own thing with the matrix
74
75DEFAULT_FOLDER = kinesis/alvicstep \ No newline at end of file
diff --git a/keyboards/kinesis/stapelberg/rules.mk b/keyboards/kinesis/stapelberg/rules.mk
index fb421a34f..3f2ff2d6c 100644
--- a/keyboards/kinesis/stapelberg/rules.mk
+++ b/keyboards/kinesis/stapelberg/rules.mk
@@ -1,9 +1,4 @@
1ifndef QUANTUM_DIR
2 include ../../../Makefile
3endif
4 1
5# just silently stop, since we need to upload with teensy uploader
6upload: build
7 2
8 3
9 4
diff --git a/keyboards/kinesis/subproject.mk b/keyboards/kinesis/subproject.mk
deleted file mode 100644
index 63ee4cafb..000000000
--- a/keyboards/kinesis/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = alvicstep
diff --git a/keyboards/kitten_paw/readme.md b/keyboards/kitten_paw/readme.md
index 55fac2ba5..b12165b32 100644
--- a/keyboards/kitten_paw/readme.md
+++ b/keyboards/kitten_paw/readme.md
@@ -11,6 +11,6 @@ Hardware Availability: https://geekhack.org/index.php?topic=46700.0
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make kitten_paw-default 14 make kitten_paw:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/lets_split/lets_split.h b/keyboards/lets_split/lets_split.h
index 476e7fd2a..d9cfa35a2 100644
--- a/keyboards/lets_split/lets_split.h
+++ b/keyboards/lets_split/lets_split.h
@@ -3,7 +3,11 @@
3 3
4#include "quantum.h" 4#include "quantum.h"
5 5
6#include QMK_SUBPROJECT_H 6#ifdef KEYBOARD_lets_split_rev1
7 #include "rev1.h"
8#else
9 #include "rev2.h"
10#endif
7 11
8// Used to create a keymap using only KC_ prefixed keys 12// Used to create a keymap using only KC_ prefixed keys
9#define KC_KEYMAP( \ 13#define KC_KEYMAP( \
diff --git a/keyboards/lets_split/readme.md b/keyboards/lets_split/readme.md
index 300722a1b..c9202de63 100644
--- a/keyboards/lets_split/readme.md
+++ b/keyboards/lets_split/readme.md
@@ -19,7 +19,7 @@ There is additional information there about flashing and adding RGB underglow.
19Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using: 19Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using:
20 20
21``` 21```
22$ make lets_split-rev2-default 22$ make lets_split/rev2:default
23``` 23```
24 24
25You will see a lot of output and if everything worked correctly you will see the built hex file: 25You will see a lot of output and if everything worked correctly you will see the built hex file:
@@ -32,7 +32,7 @@ If you would like to use one of the alternative keymaps, or create your own, cop
32 32
33 33
34``` 34```
35$ make lets_split-rev2-YOUR_KEYMAP_NAME 35$ make lets_split/rev2:YOUR_KEYMAP_NAME
36``` 36```
37 37
38If everything worked correctly you will see a file: 38If everything worked correctly you will see a file:
@@ -115,8 +115,8 @@ not be very difficult to adapt it to support more if required.
115 115
116Flashing 116Flashing
117------- 117-------
118From the top level `qmk_firmware` directory run `make KEYBOARD-SUBPROJECT-KEYMAP-avrdude` for automatic serial port resolution and flashing. 118From the top level `qmk_firmware` directory run `make KEYBOARD:KEYMAP:avrdude` for automatic serial port resolution and flashing.
119Example: `make lets_split-rev2-default-avrdude` 119Example: `make lets_split/rev2:default:avrdude`
120 120
121 121
122Choosing which board to plug the USB cable into (choosing Master) 122Choosing which board to plug the USB cable into (choosing Master)
diff --git a/keyboards/lets_split/rules.mk b/keyboards/lets_split/rules.mk
index 7b7224fd4..1bbc0367f 100644
--- a/keyboards/lets_split/rules.mk
+++ b/keyboards/lets_split/rules.mk
@@ -75,4 +75,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
75 75
76CUSTOM_MATRIX = yes 76CUSTOM_MATRIX = yes
77 77
78LAYOUTS = ortho_4x12 \ No newline at end of file 78LAYOUTS = ortho_4x12
79
80DEFAULT_FOLDER = lets_split/rev2 \ No newline at end of file
diff --git a/keyboards/lets_split/subproject.mk b/keyboards/lets_split/subproject.mk
deleted file mode 100644
index 7c9b39598..000000000
--- a/keyboards/lets_split/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = rev2
diff --git a/keyboards/levinson/keymaps/bakingpy2u/config.h b/keyboards/levinson/keymaps/bakingpy2u/config.h
index 6b409bf0d..a2b1e089c 100644
--- a/keyboards/levinson/keymaps/bakingpy2u/config.h
+++ b/keyboards/levinson/keymaps/bakingpy2u/config.h
@@ -1,7 +1,7 @@
1#ifndef CONFIG_USER_H 1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H 2#define CONFIG_USER_H
3 3
4#include "../../config.h" 4#include "config_common.h"
5 5
6/* Use I2C or Serial, not both */ 6/* Use I2C or Serial, not both */
7 7
diff --git a/keyboards/levinson/keymaps/default/config.h b/keyboards/levinson/keymaps/default/config.h
index 7f33a4363..4c7e48dc0 100644
--- a/keyboards/levinson/keymaps/default/config.h
+++ b/keyboards/levinson/keymaps/default/config.h
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#ifndef CONFIG_USER_H 21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H 22#define CONFIG_USER_H
23 23
24#include "../../config.h" 24#include "config_common.h"
25 25
26/* Use I2C or Serial, not both */ 26/* Use I2C or Serial, not both */
27 27
diff --git a/keyboards/levinson/levinson.h b/keyboards/levinson/levinson.h
index c69a06fab..896c5232f 100644
--- a/keyboards/levinson/levinson.h
+++ b/keyboards/levinson/levinson.h
@@ -3,7 +3,7 @@
3 3
4#include "quantum.h" 4#include "quantum.h"
5 5
6#include QMK_SUBPROJECT_H 6#include "rev1.h"
7 7
8// Used to create a keymap using only KC_ prefixed keys 8// Used to create a keymap using only KC_ prefixed keys
9#define KC_KEYMAP( \ 9#define KC_KEYMAP( \
diff --git a/keyboards/levinson/readme.md b/keyboards/levinson/readme.md
index 1fcad3c1b..94dd7bf04 100644
--- a/keyboards/levinson/readme.md
+++ b/keyboards/levinson/readme.md
@@ -9,11 +9,11 @@ Hardware Availability: [Keebio](https://keeb.io)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make levinson-rev1-default 12 make levinson/rev1:default
13 13
14Example of flashing this keyboard: 14Example of flashing this keyboard:
15 15
16 make levinson-rev1-default-avrdude 16 make levinson/rev1:default:avrdude
17 17
18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
19 19
diff --git a/keyboards/levinson/rules.mk b/keyboards/levinson/rules.mk
index 7b7224fd4..ba0f5b91d 100644
--- a/keyboards/levinson/rules.mk
+++ b/keyboards/levinson/rules.mk
@@ -75,4 +75,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
75 75
76CUSTOM_MATRIX = yes 76CUSTOM_MATRIX = yes
77 77
78LAYOUTS = ortho_4x12 \ No newline at end of file 78LAYOUTS = ortho_4x12
79
80DEFAULT_FOLDER = levinson/rev1 \ No newline at end of file
diff --git a/keyboards/levinson/subproject.mk b/keyboards/levinson/subproject.mk
deleted file mode 100644
index 928b1edd0..000000000
--- a/keyboards/levinson/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = rev1
diff --git a/keyboards/mechmini/README.md b/keyboards/mechmini/README.md
index ed590f3f1..b95153051 100644
--- a/keyboards/mechmini/README.md
+++ b/keyboards/mechmini/README.md
@@ -9,7 +9,7 @@ Hardware Availability: https://mechkeys.ca/collections/keyboards/products/mechmi
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make mechmini-default 12 make mechmini:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
15 15
@@ -40,7 +40,7 @@ Then, with the keyboard plugged in, simply run this command from the
40`qmk_firmware` directory: 40`qmk_firmware` directory:
41 41
42``` 42```
43$ make mechmini-program 43$ make mechmini:program
44``` 44```
45 45
46If you prefer, you can just build it and flash the firmware directly with 46If you prefer, you can just build it and flash the firmware directly with
diff --git a/keyboards/mf68/README.md b/keyboards/mf68/README.md
index 74bbe9b57..7dd3a900a 100644
--- a/keyboards/mf68/README.md
+++ b/keyboards/mf68/README.md
@@ -9,10 +9,10 @@ Hardware Availability: [PCB files](https://github.com/di0ib/tmk_keyboard/tree/ma
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make mf68-default 12 make mf68:default
13 13
14Example of flashing this keyboard: 14Example of flashing this keyboard:
15 15
16 make mf68-default-avrdude 16 make mf68:default:avrdude
17 17
18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/minidox/minidox.h b/keyboards/minidox/minidox.h
index 479c7aec7..6e8add206 100644
--- a/keyboards/minidox/minidox.h
+++ b/keyboards/minidox/minidox.h
@@ -1,7 +1,7 @@
1#ifndef MINIDOX_H 1#ifndef MINIDOX_H
2#define MINIDOX_H 2#define MINIDOX_H
3 3
4#ifdef SUBPROJECT_rev1 4#ifdef KEYBOARD_minidox_rev1
5 #include "rev1.h" 5 #include "rev1.h"
6#endif 6#endif
7 7
diff --git a/keyboards/minidox/readme.md b/keyboards/minidox/readme.md
index c15fd244a..b44d66660 100644
--- a/keyboards/minidox/readme.md
+++ b/keyboards/minidox/readme.md
@@ -10,7 +10,7 @@ Hardware Supported: MiniDox PCB rev1 Pro Micro
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make minidox-rev1-default 13 make minidox/rev1:default
14 14
15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
16 16
@@ -22,8 +22,8 @@ Flashing
22------- 22-------
23Note: Most of this is copied from the Let's Split readme, because it is awesome 23Note: Most of this is copied from the Let's Split readme, because it is awesome
24 24
25From the `minidox` directory run `make SUBPROJECT-KEYMAP-avrdude` for automatic serial port resolution and flashing. 25From the root directory run `make PROJECT:KEYMAP:avrdude` for automatic serial port resolution and flashing.
26Example: `make rev1-default-avrdude` 26Example: `make minidox/rev1:default:avrdude`
27 27
28Choosing which board to plug the USB cable into (choosing Master) 28Choosing which board to plug the USB cable into (choosing Master)
29-------- 29--------
diff --git a/keyboards/minidox/rev1/rules.mk b/keyboards/minidox/rev1/rules.mk
index a0825b4ef..f84561674 100644
--- a/keyboards/minidox/rev1/rules.mk
+++ b/keyboards/minidox/rev1/rules.mk
@@ -1,5 +1 @@
1BACKLIGHT_ENABLE = no BACKLIGHT_ENABLE = no \ No newline at end of file
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile
5endif \ No newline at end of file
diff --git a/keyboards/minidox/rules.mk b/keyboards/minidox/rules.mk
index 539456ae0..0f9d30310 100644
--- a/keyboards/minidox/rules.mk
+++ b/keyboards/minidox/rules.mk
@@ -72,3 +72,5 @@ USE_I2C ?= no
72SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend 72SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
73 73
74CUSTOM_MATRIX = yes 74CUSTOM_MATRIX = yes
75
76DEFAULT_FOLDER = minidox/rev1 \ No newline at end of file
diff --git a/keyboards/minidox/subproject.mk b/keyboards/minidox/subproject.mk
deleted file mode 100644
index 928b1edd0..000000000
--- a/keyboards/minidox/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = rev1
diff --git a/keyboards/mitosis/readme.md b/keyboards/mitosis/readme.md
index ef1eb0d83..3cbdbae61 100644
--- a/keyboards/mitosis/readme.md
+++ b/keyboards/mitosis/readme.md
@@ -9,7 +9,7 @@ Hardware Availability: https://www.reddit.com/r/MechanicalKeyboards/comments/665
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make mitosis-default 12 make mitosis:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
15 15
diff --git a/keyboards/nyquist/config.h b/keyboards/nyquist/config.h
index 5e3dc9188..863722d7d 100644
--- a/keyboards/nyquist/config.h
+++ b/keyboards/nyquist/config.h
@@ -20,6 +20,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
23#include QMK_SUBPROJECT_CONFIG_H
24
25#endif // CONFIG_H 23#endif // CONFIG_H
diff --git a/keyboards/nyquist/keymaps/default/config.h b/keyboards/nyquist/keymaps/default/config.h
index 072d4a7ce..a6246262e 100644
--- a/keyboards/nyquist/keymaps/default/config.h
+++ b/keyboards/nyquist/keymaps/default/config.h
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18#ifndef CONFIG_USER_H 18#ifndef CONFIG_USER_H
19#define CONFIG_USER_H 19#define CONFIG_USER_H
20 20
21#include "../../config.h" 21#include "config_common.h"
22 22
23/* Use I2C or Serial, not both */ 23/* Use I2C or Serial, not both */
24 24
diff --git a/keyboards/nyquist/keymaps/hexwire/config.h b/keyboards/nyquist/keymaps/hexwire/config.h
index 23abba0aa..4a5b7513a 100644
--- a/keyboards/nyquist/keymaps/hexwire/config.h
+++ b/keyboards/nyquist/keymaps/hexwire/config.h
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18#ifndef CONFIG_USER_H 18#ifndef CONFIG_USER_H
19#define CONFIG_USER_H 19#define CONFIG_USER_H
20 20
21#include "../../config.h" 21#include "config_common.h"
22 22
23/* Use I2C or Serial, not both */ 23/* Use I2C or Serial, not both */
24 24
diff --git a/keyboards/nyquist/nyquist.h b/keyboards/nyquist/nyquist.h
index dcc2a4ffd..8d031b050 100644
--- a/keyboards/nyquist/nyquist.h
+++ b/keyboards/nyquist/nyquist.h
@@ -1,7 +1,9 @@
1#ifndef NYQUIST_H 1#ifndef NYQUIST_H
2#define NYQUIST_H 2#define NYQUIST_H
3 3
4#include QMK_SUBPROJECT_H 4#ifdef KEYBOARD_nyquist_rev1
5 #include "rev1.h"
6#endif
5 7
6#include "quantum.h" 8#include "quantum.h"
7 9
diff --git a/keyboards/nyquist/readme.md b/keyboards/nyquist/readme.md
index 16debb987..1b417a658 100644
--- a/keyboards/nyquist/readme.md
+++ b/keyboards/nyquist/readme.md
@@ -9,11 +9,11 @@ Hardware Availability: [Keebio](https://keeb.io)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make nyquist-rev1-default 12 make nyquist/rev1:default
13 13
14Example of flashing this keyboard: 14Example of flashing this keyboard:
15 15
16 make nyquist-rev1-default-avrdude 16 make nyquist/rev1:default:avrdude
17 17
18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
19 19
diff --git a/keyboards/nyquist/rev1/rev1.c b/keyboards/nyquist/rev1/rev1.c
index 7b3228fa6..99bd781d5 100644
--- a/keyboards/nyquist/rev1/rev1.c
+++ b/keyboards/nyquist/rev1/rev1.c
@@ -1,4 +1,4 @@
1#include QMK_SUBPROJECT_H 1#include "rev1.h"
2 2
3#ifdef AUDIO_ENABLE 3#ifdef AUDIO_ENABLE
4 float tone_startup[][2] = SONG(STARTUP_SOUND); 4 float tone_startup[][2] = SONG(STARTUP_SOUND);
diff --git a/keyboards/nyquist/rev1/rev1.h b/keyboards/nyquist/rev1/rev1.h
index cf9bf8020..eeaf15272 100644
--- a/keyboards/nyquist/rev1/rev1.h
+++ b/keyboards/nyquist/rev1/rev1.h
@@ -1,7 +1,7 @@
1#ifndef REV1_H 1#ifndef REV1_H
2#define REV1_H 2#define REV1_H
3 3
4#include QMK_KEYBOARD_H 4#include "nyquist.h"
5 5
6//void promicro_bootloader_jmp(bool program); 6//void promicro_bootloader_jmp(bool program);
7#include "quantum.h" 7#include "quantum.h"
diff --git a/keyboards/nyquist/rules.mk b/keyboards/nyquist/rules.mk
index 07cdba4bf..f2bc59cc5 100644
--- a/keyboards/nyquist/rules.mk
+++ b/keyboards/nyquist/rules.mk
@@ -74,4 +74,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
74 74
75CUSTOM_MATRIX = yes 75CUSTOM_MATRIX = yes
76 76
77LAYOUTS = ortho_5x12 \ No newline at end of file 77LAYOUTS = ortho_5x12
78
79DEFAULT_FOLDER = nyquist/rev1 \ No newline at end of file
diff --git a/keyboards/nyquist/subproject.mk b/keyboards/nyquist/subproject.mk
deleted file mode 100644
index 928b1edd0..000000000
--- a/keyboards/nyquist/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = rev1
diff --git a/keyboards/obelus/readme.md b/keyboards/obelus/readme.md
index e08ed44dd..a9d67b00e 100644
--- a/keyboards/obelus/readme.md
+++ b/keyboards/obelus/readme.md
@@ -9,11 +9,11 @@ Hardware Availability: C-Keys soldering workshops, /u/MonkeyPlusPlus
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make obelus-default 12 make obelus:default
13 13
14Or to make and flash: 14Or to make and flash:
15 15
16 make obelus-default-dfu 16 make obelus:default:dfu
17 17
18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) and [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 18See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) and [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
19 19
diff --git a/keyboards/org60/readme.md b/keyboards/org60/readme.md
index 8e02a4021..1a9599c8d 100644
--- a/keyboards/org60/readme.md
+++ b/keyboards/org60/readme.md
@@ -18,4 +18,4 @@ Default keymap included, matching configuration on sale page.
18 18
19 19
20## Build 20## Build
21To build the default keymap, simply run `make org60-default`. \ No newline at end of file 21To build the default keymap, simply run `make org60:default`. \ No newline at end of file
diff --git a/keyboards/orthodox/config.h b/keyboards/orthodox/config.h
index b1a5b9cf9..821cd7e29 100644
--- a/keyboards/orthodox/config.h
+++ b/keyboards/orthodox/config.h
@@ -23,9 +23,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23#define CONFIG_H 23#define CONFIG_H
24 24
25#include "config_common.h" 25#include "config_common.h"
26 26
27#ifdef SUBPROJECT_rev1
28 #include "rev1/config.h"
29#endif
30
31#endif 27#endif
diff --git a/keyboards/orthodox/keymaps/default/config.h b/keyboards/orthodox/keymaps/default/config.h
index f24c6db29..c2892b5e0 100644
--- a/keyboards/orthodox/keymaps/default/config.h
+++ b/keyboards/orthodox/keymaps/default/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22#ifndef CONFIG_USER_H 22#ifndef CONFIG_USER_H
23#define CONFIG_USER_H 23#define CONFIG_USER_H
24 24
25#include "../../config.h" 25#include "config_common.h"
26 26
27/* Use I2C or Serial, not both */ 27/* Use I2C or Serial, not both */
28 28
diff --git a/keyboards/orthodox/keymaps/default/rules.mk b/keyboards/orthodox/keymaps/default/rules.mk
index 457a3d01d..e69de29bb 100644
--- a/keyboards/orthodox/keymaps/default/rules.mk
+++ b/keyboards/orthodox/keymaps/default/rules.mk
@@ -1,3 +0,0 @@
1ifndef QUANTUM_DIR
2 include ../../../../Makefile
3endif
diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h
index 7cbbf1025..bcd14a22d 100644
--- a/keyboards/orthodox/keymaps/drashna/config.h
+++ b/keyboards/orthodox/keymaps/drashna/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22#ifndef CONFIG_USER_H 22#ifndef CONFIG_USER_H
23#define CONFIG_USER_H 23#define CONFIG_USER_H
24 24
25#include "../../config.h" 25#include "config_common.h"
26 26
27/* Use I2C or Serial, not both */ 27/* Use I2C or Serial, not both */
28 28
diff --git a/keyboards/orthodox/keymaps/drashna/rules.mk b/keyboards/orthodox/keymaps/drashna/rules.mk
index e252a9044..2090afe9a 100644
--- a/keyboards/orthodox/keymaps/drashna/rules.mk
+++ b/keyboards/orthodox/keymaps/drashna/rules.mk
@@ -1,6 +1,2 @@
1CONSOLE_ENABLE = yes 1CONSOLE_ENABLE = yes
2TAP_DANCE_ENABLE = yes 2TAP_DANCE_ENABLE = yes \ No newline at end of file
3
4ifndef QUANTUM_DIR
5 include ../../../../Makefile
6endif
diff --git a/keyboards/orthodox/orthodox.h b/keyboards/orthodox/orthodox.h
index b33356e5e..89707467a 100644
--- a/keyboards/orthodox/orthodox.h
+++ b/keyboards/orthodox/orthodox.h
@@ -1,7 +1,7 @@
1#ifndef ORTHODOX_H 1#ifndef ORTHODOX_H
2#define ORTHODOX_H 2#define ORTHODOX_H
3 3
4#ifdef SUBPROJECT_rev1 4#ifdef KEYBOARD_orthodox_rev1
5 #include "rev1.h" 5 #include "rev1.h"
6#endif 6#endif
7 7
diff --git a/keyboards/orthodox/readme.md b/keyboards/orthodox/readme.md
index e1fbf94ba..fb591b007 100644
--- a/keyboards/orthodox/readme.md
+++ b/keyboards/orthodox/readme.md
@@ -34,10 +34,10 @@ For further reading on build- and flashing-procedures for split ortholinear skel
34 34
35## First Time Setup 35## First Time Setup
36 36
37Download or clone the whole firmware and navigate to the keyboards/orthodox directory. Once your dev env is setup, you'll be able to generate the default .hex using: 37Download or clone the whole firmware and navigate to the root directory. Once your dev env is setup, you'll be able to generate the default .hex using:
38 38
39``` 39```
40$ make rev1-default 40$ make orthodox/rev1:default
41``` 41```
42 42
43You will see a lot of output and if everything worked correctly you will see the built hex files in your *root qmk_firmware directory* two levels up: 43You will see a lot of output and if everything worked correctly you will see the built hex files in your *root qmk_firmware directory* two levels up:
@@ -50,7 +50,7 @@ If you would like to use one of the alternative keymaps, or create your own, cop
50 50
51 51
52``` 52```
53$ make rev1-YOUR_KEYMAP_NAME 53$ make orthodox/rev1:YOUR_KEYMAP_NAME
54``` 54```
55 55
56If everything worked correctly you will see a file: 56If everything worked correctly you will see a file:
@@ -96,8 +96,8 @@ the two halves, i.e. if your split keyboard has 3 rows in each half, then
96 96
97Flashing 97Flashing
98------- 98-------
99From the `orthodox` directory run `make SUBPROJECT-KEYMAP-avrdude` for automatic serial port resolution and flashing. 99From the root directory run `make PROJECT:KEYMAP:avrdude` for automatic serial port resolution and flashing.
100Example: `make rev2-default-avrdude` 100Example: `make orthodox/rev2:default:avrdude`
101 101
102 102
103Choosing which board to plug the USB cable into (choosing Master) 103Choosing which board to plug the USB cable into (choosing Master)
diff --git a/keyboards/orthodox/rev1/config.h b/keyboards/orthodox/rev1/config.h
index 05f043b4c..26715f409 100644
--- a/keyboards/orthodox/rev1/config.h
+++ b/keyboards/orthodox/rev1/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22#ifndef REV1_CONFIG_H 22#ifndef REV1_CONFIG_H
23#define REV1_CONFIG_H 23#define REV1_CONFIG_H
24 24
25#include "../config.h" 25#include "config_common.h"
26 26
27/* USB Device descriptor parameter */ 27/* USB Device descriptor parameter */
28#define VENDOR_ID 0xFEED 28#define VENDOR_ID 0xFEED
diff --git a/keyboards/orthodox/rev1/rev1.h b/keyboards/orthodox/rev1/rev1.h
index 06282b234..ceaaaed28 100644
--- a/keyboards/orthodox/rev1/rev1.h
+++ b/keyboards/orthodox/rev1/rev1.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22#ifndef REV1_H 22#ifndef REV1_H
23#define REV1_H 23#define REV1_H
24 24
25#include "../orthodox.h" 25#include "orthodox.h"
26 26
27//void promicro_bootloader_jmp(bool program); 27//void promicro_bootloader_jmp(bool program);
28#include "quantum.h" 28#include "quantum.h"
diff --git a/keyboards/orthodox/rev1/rules.mk b/keyboards/orthodox/rev1/rules.mk
index a0825b4ef..f84561674 100644
--- a/keyboards/orthodox/rev1/rules.mk
+++ b/keyboards/orthodox/rev1/rules.mk
@@ -1,5 +1 @@
1BACKLIGHT_ENABLE = no BACKLIGHT_ENABLE = no \ No newline at end of file
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile
5endif \ No newline at end of file
diff --git a/keyboards/orthodox/rules.mk b/keyboards/orthodox/rules.mk
index 3f40ff2f8..48d6551bc 100644
--- a/keyboards/orthodox/rules.mk
+++ b/keyboards/orthodox/rules.mk
@@ -73,3 +73,5 @@ USE_I2C = yes
73SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 73SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
74 74
75CUSTOM_MATRIX = yes 75CUSTOM_MATRIX = yes
76
77DEFAULT_FOLDER = orthodox/rev1
diff --git a/keyboards/pegasushoof/README.md b/keyboards/pegasushoof/README.md
index c4c152d40..b57191c0f 100644
--- a/keyboards/pegasushoof/README.md
+++ b/keyboards/pegasushoof/README.md
@@ -7,6 +7,6 @@ Hardware Availability: https://1upkeyboards.com/filco-pegasus-hoof-controller.ht
7 7
8Make example for this keyboard (after setting up your build environment): 8Make example for this keyboard (after setting up your build environment):
9 9
10 make pegasus_hoof-default 10 make pegasus_hoof:default
11 11
12See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 12See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/phantom/readme.md b/keyboards/phantom/readme.md
index 7a31d106e..1ac136327 100644
--- a/keyboards/phantom/readme.md
+++ b/keyboards/phantom/readme.md
@@ -11,6 +11,6 @@ Hardware Availability: https://mechanicalkeyboards.com/shop/index.php?l=product_
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make phantom-default 14 make phantom:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/planck/config.h b/keyboards/planck/config.h
index c8f4377f0..bc7ec031e 100644
--- a/keyboards/planck/config.h
+++ b/keyboards/planck/config.h
@@ -81,6 +81,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
81//#define NO_ACTION_MACRO 81//#define NO_ACTION_MACRO
82//#define NO_ACTION_FUNCTION 82//#define NO_ACTION_FUNCTION
83 83
84#include QMK_SUBPROJECT_CONFIG_H
85
86#endif 84#endif
diff --git a/keyboards/planck/keymaps/impossible/rules.mk b/keyboards/planck/keymaps/impossible/rules.mk
index cf2c31f0f..247a1fd2a 100644
--- a/keyboards/planck/keymaps/impossible/rules.mk
+++ b/keyboards/planck/keymaps/impossible/rules.mk
@@ -1,7 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5# Build Options 1# Build Options
6# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
7# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -20,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
20RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
21 17
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
24
25ifndef QUANTUM_DIR
26 include ../../../../Makefile
27endif \ No newline at end of file
diff --git a/keyboards/planck/keymaps/jeebak/rules.mk b/keyboards/planck/keymaps/jeebak/rules.mk
index cf2c31f0f..247a1fd2a 100644
--- a/keyboards/planck/keymaps/jeebak/rules.mk
+++ b/keyboards/planck/keymaps/jeebak/rules.mk
@@ -1,7 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5# Build Options 1# Build Options
6# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
7# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -20,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
20RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
21 17
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
24
25ifndef QUANTUM_DIR
26 include ../../../../Makefile
27endif \ No newline at end of file
diff --git a/keyboards/planck/keymaps/jhenahan/rules.mk b/keyboards/planck/keymaps/jhenahan/rules.mk
index 83da2a7f8..bb12dd865 100644
--- a/keyboards/planck/keymaps/jhenahan/rules.mk
+++ b/keyboards/planck/keymaps/jhenahan/rules.mk
@@ -1,7 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5# Build Options 1# Build Options
6# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
7# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -20,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
20RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
21 17
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
24
25ifndef QUANTUM_DIR
26 include ../../../../Makefile
27endif
diff --git a/keyboards/planck/keymaps/joe/rules.mk b/keyboards/planck/keymaps/joe/rules.mk
index b2ca41944..247a1fd2a 100644
--- a/keyboards/planck/keymaps/joe/rules.mk
+++ b/keyboards/planck/keymaps/joe/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -21,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
21RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
22 17
23# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
25
26ifndef QUANTUM_DIR
27 include ../../../../Makefile
28endif
diff --git a/keyboards/planck/keymaps/leo/rules.mk b/keyboards/planck/keymaps/leo/rules.mk
index b2ca41944..247a1fd2a 100644
--- a/keyboards/planck/keymaps/leo/rules.mk
+++ b/keyboards/planck/keymaps/leo/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -21,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
21RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
22 17
23# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
25
26ifndef QUANTUM_DIR
27 include ../../../../Makefile
28endif
diff --git a/keyboards/planck/keymaps/lucas/rules.mk b/keyboards/planck/keymaps/lucas/rules.mk
index b2ca41944..247a1fd2a 100644
--- a/keyboards/planck/keymaps/lucas/rules.mk
+++ b/keyboards/planck/keymaps/lucas/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -21,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
21RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
22 17
23# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
25
26ifndef QUANTUM_DIR
27 include ../../../../Makefile
28endif
diff --git a/keyboards/planck/keymaps/mollat/rules.mk b/keyboards/planck/keymaps/mollat/rules.mk
index b2ca41944..be3f69280 100644
--- a/keyboards/planck/keymaps/mollat/rules.mk
+++ b/keyboards/planck/keymaps/mollat/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -22,7 +17,3 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this
22 17
23# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
25
26ifndef QUANTUM_DIR
27 include ../../../../Makefile
28endif
diff --git a/keyboards/planck/keymaps/nico/rules.mk b/keyboards/planck/keymaps/nico/rules.mk
index b2ca41944..247a1fd2a 100644
--- a/keyboards/planck/keymaps/nico/rules.mk
+++ b/keyboards/planck/keymaps/nico/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -21,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
21RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
22 17
23# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
25
26ifndef QUANTUM_DIR
27 include ../../../../Makefile
28endif
diff --git a/keyboards/planck/keymaps/phreed/readme.md b/keyboards/planck/keymaps/phreed/readme.md
index 9080222e2..c8fd93243 100644
--- a/keyboards/planck/keymaps/phreed/readme.md
+++ b/keyboards/planck/keymaps/phreed/readme.md
@@ -28,11 +28,11 @@
28 28
29Make example for this keyboard (after setting up your build environment): 29Make example for this keyboard (after setting up your build environment):
30 30
31 make planck-rev3-phreed 31 make planck/rev3:phreed
32 32
33To flash the keyboard 33To flash the keyboard
34 34
35 make planck-rev3-phreed-dfu 35 make planck/rev3:phreed:dfu
36 36
37See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the 37See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the
38[make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 38[make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/planck/keymaps/premek/rules.mk b/keyboards/planck/keymaps/premek/rules.mk
index b2ca41944..247a1fd2a 100644
--- a/keyboards/planck/keymaps/premek/rules.mk
+++ b/keyboards/planck/keymaps/premek/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -21,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
21RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
22 17
23# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
25
26ifndef QUANTUM_DIR
27 include ../../../../Makefile
28endif
diff --git a/keyboards/planck/keymaps/pvc/config.h b/keyboards/planck/keymaps/pvc/config.h
index 1004c8b99..17f351756 100644
--- a/keyboards/planck/keymaps/pvc/config.h
+++ b/keyboards/planck/keymaps/pvc/config.h
@@ -15,19 +15,11 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#ifndef CONFIG_USER_H
19#define CONFIG_H 19#define CONFIG_USER_H
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x6060
26#define DEVICE_VER 0x0001
27#define MANUFACTURER Ortholinear Keyboards
28#define PRODUCT The Planck Keyboard
29#define DESCRIPTION A compact ortholinear keyboard
30
31/* key matrix size */ 23/* key matrix size */
32#define MATRIX_ROWS 4 24#define MATRIX_ROWS 4
33#define MATRIX_COLS 12 25#define MATRIX_COLS 12
diff --git a/keyboards/planck/keymaps/pvc/rules.mk b/keyboards/planck/keymaps/pvc/rules.mk
index c92ca1bff..8a73eab58 100644
--- a/keyboards/planck/keymaps/pvc/rules.mk
+++ b/keyboards/planck/keymaps/pvc/rules.mk
@@ -1,7 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5# Build Options 1# Build Options
6# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
7# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -20,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
20RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
21 17
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
24
25ifndef QUANTUM_DIR
26 include ../../../../Makefile
27endif
diff --git a/keyboards/planck/keymaps/sgoodwin/rules.mk b/keyboards/planck/keymaps/sgoodwin/rules.mk
index 9081c6d3e..279e16eb7 100644
--- a/keyboards/planck/keymaps/sgoodwin/rules.mk
+++ b/keyboards/planck/keymaps/sgoodwin/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -22,8 +17,4 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this
22API_SYSEX_ENABLE = no # Disable extra stuff for ergodoxen 17API_SYSEX_ENABLE = no # Disable extra stuff for ergodoxen
23 18
24# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 19# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
25SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 20SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
26
27ifndef QUANTUM_DIR
28 include ../../../../Makefile
29endif
diff --git a/keyboards/planck/keymaps/tak3over/rules.mk b/keyboards/planck/keymaps/tak3over/rules.mk
index b2ca41944..247a1fd2a 100644
--- a/keyboards/planck/keymaps/tak3over/rules.mk
+++ b/keyboards/planck/keymaps/tak3over/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -21,8 +16,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
21RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
22 17
23# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
25
26ifndef QUANTUM_DIR
27 include ../../../../Makefile
28endif
diff --git a/keyboards/planck/keymaps/thermal_printer/rules.mk b/keyboards/planck/keymaps/thermal_printer/rules.mk
index 9477d1179..7c50d87a0 100644
--- a/keyboards/planck/keymaps/thermal_printer/rules.mk
+++ b/keyboards/planck/keymaps/thermal_printer/rules.mk
@@ -1,8 +1,3 @@
1# Please remove if no longer applicable
2$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
3$(warning Please disable some options in the Makefile to resolve)
4
5
6# Build Options 1# Build Options
7# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
8# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
@@ -23,7 +18,3 @@ PRINTING_ENABLE = yes
23 18
24# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 19# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
25SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 20SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
26
27ifndef QUANTUM_DIR
28 include ../../../../Makefile
29endif
diff --git a/keyboards/planck/planck.c b/keyboards/planck/planck.c
index caef2fe5f..3980b02f5 100644
--- a/keyboards/planck/planck.c
+++ b/keyboards/planck/planck.c
@@ -1,4 +1,4 @@
1#include QMK_KEYBOARD_H 1#include "planck.h"
2 2
3#ifdef ONEHAND_ENABLE 3#ifdef ONEHAND_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
diff --git a/keyboards/planck/planck.h b/keyboards/planck/planck.h
index c055d73cb..0ac4375d1 100644
--- a/keyboards/planck/planck.h
+++ b/keyboards/planck/planck.h
@@ -1,8 +1,6 @@
1#ifndef PLANCK_H 1#ifndef PLANCK_H
2#define PLANCK_H 2#define PLANCK_H
3 3
4#include QMK_SUBPROJECT_H
5
6#include "quantum.h" 4#include "quantum.h"
7 5
8#define PLANCK_MIT( \ 6#define PLANCK_MIT( \
@@ -34,4 +32,11 @@
34#define KEYMAP PLANCK_GRID 32#define KEYMAP PLANCK_GRID
35#define LAYOUT_ortho_4x12 PLANCK_GRID 33#define LAYOUT_ortho_4x12 PLANCK_GRID
36 34
35#ifdef KEYBOARD_planck_rev3
36 #include "rev3.h"
37#endif
38#ifdef KEYBOARD_planck_rev4
39 #include "rev4.h"
40#endif
41
37#endif 42#endif
diff --git a/keyboards/planck/readme.md b/keyboards/planck/readme.md
index b1a8c23b2..2d76a312a 100644
--- a/keyboards/planck/readme.md
+++ b/keyboards/planck/readme.md
@@ -11,6 +11,6 @@ Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.mass
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make planck-rev4-default 14 make planck/rev4:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file
diff --git a/keyboards/planck/rev3/config.h b/keyboards/planck/rev3/config.h
index ade11ffe1..45e60962b 100644
--- a/keyboards/planck/rev3/config.h
+++ b/keyboards/planck/rev3/config.h
@@ -1,7 +1,7 @@
1#ifndef REV3_CONFIG_H 1#ifndef REV3_CONFIG_H
2#define REV3_CONFIG_H 2#define REV3_CONFIG_H
3 3
4#include QMK_KEYBOARD_CONFIG_H 4#include "config_common.h"
5 5
6#define DEVICE_VER 0x0003 6#define DEVICE_VER 0x0003
7 7
diff --git a/keyboards/planck/rev3/rev3.h b/keyboards/planck/rev3/rev3.h
index e5e05236c..50a09741d 100644
--- a/keyboards/planck/rev3/rev3.h
+++ b/keyboards/planck/rev3/rev3.h
@@ -1,6 +1,6 @@
1#ifndef REV3_H 1#ifndef REV3_H
2#define REV3_H 2#define REV3_H
3 3
4#include QMK_KEYBOARD_H 4#include "planck.h"
5 5
6#endif \ No newline at end of file 6#endif \ No newline at end of file
diff --git a/keyboards/planck/rev4/config.h b/keyboards/planck/rev4/config.h
index dcc76c11c..4ff7649fb 100644
--- a/keyboards/planck/rev4/config.h
+++ b/keyboards/planck/rev4/config.h
@@ -1,7 +1,7 @@
1#ifndef REV4_CONFIG_H 1#ifndef REV4_CONFIG_H
2#define REV4_CONFIG_H 2#define REV4_CONFIG_H
3 3
4#include QMK_KEYBOARD_CONFIG_H 4#include "config_common.h"
5 5
6#define DEVICE_VER 0x0004 6#define DEVICE_VER 0x0004
7 7
diff --git a/keyboards/planck/rev4/rev4.h b/keyboards/planck/rev4/rev4.h
index 2d35df19d..74ec05460 100644
--- a/keyboards/planck/rev4/rev4.h
+++ b/keyboards/planck/rev4/rev4.h
@@ -1,6 +1,6 @@
1#ifndef REV4_H 1#ifndef REV4_H
2#define REV4_H 2#define REV4_H
3 3
4#include QMK_KEYBOARD_H 4#include "planck.h"
5 5
6#endif \ No newline at end of file 6#endif \ No newline at end of file
diff --git a/keyboards/planck/rules.mk b/keyboards/planck/rules.mk
index c4091f011..bee5f8789 100644
--- a/keyboards/planck/rules.mk
+++ b/keyboards/planck/rules.mk
@@ -67,4 +67,6 @@ API_SYSEX_ENABLE = no
67# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 67# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
68SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 68SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
69 69
70LAYOUTS = ortho_4x12 \ No newline at end of file 70LAYOUTS = ortho_4x12
71
72DEFAULT_FOLDER = planck/rev4 \ No newline at end of file
diff --git a/keyboards/planck/subproject.mk b/keyboards/planck/subproject.mk
deleted file mode 100644
index ac79a3354..000000000
--- a/keyboards/planck/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = rev4
diff --git a/keyboards/preonic/preonic.c b/keyboards/preonic/preonic.c
index cd765fe4a..d9c119b8d 100644
--- a/keyboards/preonic/preonic.c
+++ b/keyboards/preonic/preonic.c
@@ -1,4 +1,4 @@
1#include QMK_KEYBOARD_H 1#include "preonic.h"
2 2
3#ifdef ONEHAND_ENABLE 3#ifdef ONEHAND_ENABLE
4__attribute__ ((weak)) 4__attribute__ ((weak))
diff --git a/keyboards/preonic/preonic.h b/keyboards/preonic/preonic.h
index 02845a549..c142825ba 100644
--- a/keyboards/preonic/preonic.h
+++ b/keyboards/preonic/preonic.h
@@ -33,6 +33,7 @@
33 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \ 33 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
34} 34}
35 35
36#define KEYMAP PREONIC_MIT
36#define LAYOUT_ortho_5x12 PREONIC_GRID 37#define LAYOUT_ortho_5x12 PREONIC_GRID
37 38
38#endif 39#endif
diff --git a/keyboards/preonic/readme.md b/keyboards/preonic/readme.md
index 2a4ccd84d..80f27c7f7 100644
--- a/keyboards/preonic/readme.md
+++ b/keyboards/preonic/readme.md
@@ -11,6 +11,6 @@ Hardware Availability: [OLKB.com](https://olkb.com/preonic/), [Massdrop](https:/
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make preonic-default 14 make preonic:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file
diff --git a/keyboards/ps2avrGB/README.md b/keyboards/ps2avrGB/README.md
index f8360aec0..8fd2af00f 100644
--- a/keyboards/ps2avrGB/README.md
+++ b/keyboards/ps2avrGB/README.md
@@ -37,7 +37,7 @@ Then, with the keyboard plugged in, simply run this command from the
37`qmk_firmware` directory: 37`qmk_firmware` directory:
38 38
39``` 39```
40$ make ps2avrGB-program 40$ make ps2avrGB:program
41``` 41```
42 42
43If you prefer, you can just build it and flash the firmware directly with 43If you prefer, you can just build it and flash the firmware directly with
diff --git a/keyboards/roadkit/readme.md b/keyboards/roadkit/readme.md
index e99b385f3..fbc40a50f 100644
--- a/keyboards/roadkit/readme.md
+++ b/keyboards/roadkit/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://thevankeyboards.com/products/roadkit-r2?variant=3
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make roadkit-default 12 make roadkit:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/s60_x/default/config.h b/keyboards/s60_x/default/config.h
index 436c6fa8b..25fc4ad2e 100644
--- a/keyboards/s60_x/default/config.h
+++ b/keyboards/s60_x/default/config.h
@@ -1,7 +1,7 @@
1#ifndef DEFAULT_CONFIG_H 1#ifndef DEFAULT_CONFIG_H
2#define DEFAULT_CONFIG_H 2#define DEFAULT_CONFIG_H
3 3
4#include "../config.h" 4#include "config_common.h"
5 5
6#define PRODUCT S60-X 6#define PRODUCT S60-X
7#define DESCRIPTION q.m.k. keyboard firmware for S60-X 7#define DESCRIPTION q.m.k. keyboard firmware for S60-X
diff --git a/keyboards/s60_x/keymaps/bluebear/config.h b/keyboards/s60_x/keymaps/bluebear/config.h
index 5c0d08833..35754b523 100644
--- a/keyboards/s60_x/keymaps/bluebear/config.h
+++ b/keyboards/s60_x/keymaps/bluebear/config.h
@@ -15,30 +15,14 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#ifndef CONFIG_USER_H
19#define CONFIG_H 19#define CONFIG_USER_H
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
23/* USB Device descriptor parameter */ 23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED 24#undef DEVICE_VER
25#define PRODUCT_ID 0x6060
26#define DEVICE_VER 0x0003 25#define DEVICE_VER 0x0003
27#define MANUFACTURER Sentraq
28#define PRODUCT S60-RGB
29#define DESCRIPTION QMK keyboard firmware for Sentraq S60-RGB
30
31/* key matrix size */
32#define MATRIX_ROWS 5
33#define MATRIX_COLS 15
34
35// ROWS: Top to bottom, COLS: Left to right
36
37#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 }
38#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 }
39#define UNUSED_PINS
40
41#define BACKLIGHT_PIN B7
42 26
43/* COL2ROW or ROW2COL */ 27/* COL2ROW or ROW2COL */
44#define DIODE_DIRECTION COL2ROW 28#define DIODE_DIRECTION COL2ROW
@@ -65,10 +49,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
65 49
66/* Underlight configuration 50/* Underlight configuration
67 */ 51 */
68 52#undef RGBLIGHT_HUE_STEP
69#define RGB_DI_PIN F6 53#undef RGBLIGHT_SAT_STEP
70#define RGBLIGHT_TIMER 54#undef RGBLIGHT_VAL_STEP
71#define RGBLED_NUM 10 // Number of LEDs
72#define RGBLIGHT_HUE_STEP 10 55#define RGBLIGHT_HUE_STEP 10
73#define RGBLIGHT_SAT_STEP 17 56#define RGBLIGHT_SAT_STEP 17
74#define RGBLIGHT_VAL_STEP 17 57#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/s60_x/keymaps/bluebear/rules.mk b/keyboards/s60_x/keymaps/bluebear/rules.mk
index dfefad39d..78d770d26 100644
--- a/keyboards/s60_x/keymaps/bluebear/rules.mk
+++ b/keyboards/s60_x/keymaps/bluebear/rules.mk
@@ -11,8 +11,4 @@ UNICODE_ENABLE = no # Unicode
11BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 11BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
12RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 12RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
13SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 13SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
14TAP_DANCE_ENABLE = no # Enable tap dancing keys 14TAP_DANCE_ENABLE = no # Enable tap dancing keys \ No newline at end of file
15
16ifndef QUANTUM_DIR
17 include ../../../../Makefile
18endif
diff --git a/keyboards/s60_x/readme.md b/keyboards/s60_x/readme.md
index 9e1d06150..cd7049536 100644
--- a/keyboards/s60_x/readme.md
+++ b/keyboards/s60_x/readme.md
@@ -8,6 +8,6 @@ Hardware Availability: https://www.massdrop.com/buy/sentraq-60-diy-keyboard-kit?
8 8
9Make example for this keyboard (after setting up your build environment): 9Make example for this keyboard (after setting up your build environment):
10 10
11 make s60_x-default 11 make s60_x:default
12 12
13See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 13See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/s60_x/rgb/config.h b/keyboards/s60_x/rgb/config.h
index 81efc87d5..ec8b0f49e 100644
--- a/keyboards/s60_x/rgb/config.h
+++ b/keyboards/s60_x/rgb/config.h
@@ -1,7 +1,7 @@
1#ifndef RBG_CONFIG_H 1#ifndef RBG_CONFIG_H
2#define RBG_CONFIG_H 2#define RBG_CONFIG_H
3 3
4#include "../config.h" 4#include "config_common.h"
5 5
6#define PRODUCT S60-X-RGB 6#define PRODUCT S60-X-RGB
7#define DESCRIPTION q.m.k. keyboard firmware for S60-X RGB 7#define DESCRIPTION q.m.k. keyboard firmware for S60-X RGB
diff --git a/keyboards/s60_x/rules.mk b/keyboards/s60_x/rules.mk
index 5d4b28195..57f7a9a59 100644
--- a/keyboards/s60_x/rules.mk
+++ b/keyboards/s60_x/rules.mk
@@ -62,4 +62,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
62MIDI_ENABLE = no # MIDI controls 62MIDI_ENABLE = no # MIDI controls
63UNICODE_ENABLE = no # Unicode 63UNICODE_ENABLE = no # Unicode
64BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 64BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
65AUDIO_ENABLE = no # Audio output on port C6 \ No newline at end of file 65AUDIO_ENABLE = no # Audio output on port C6
66
67DEFAULT_FOLDER = s60_x/default \ No newline at end of file
diff --git a/keyboards/s60_x/s60_x.h b/keyboards/s60_x/s60_x.h
index 5bf8cfcef..b70cb5864 100644
--- a/keyboards/s60_x/s60_x.h
+++ b/keyboards/s60_x/s60_x.h
@@ -1,10 +1,10 @@
1#ifndef S60X_H 1#ifndef S60X_H
2#define S60X_H 2#define S60X_H
3 3
4#ifdef SUBPROJECT_default 4#ifdef KEYBOARD_s60_x_default
5 #include "default.h" 5 #include "default.h"
6#endif 6#endif
7#ifdef SUBPROJECT_rgb 7#ifdef KEYBOARD_s60_x_rgb
8 #include "rgb.h" 8 #include "rgb.h"
9#endif 9#endif
10 10
diff --git a/keyboards/s60_x/subproject.mk b/keyboards/s60_x/subproject.mk
deleted file mode 100644
index c20a317c1..000000000
--- a/keyboards/s60_x/subproject.mk
+++ /dev/null
@@ -1 +0,0 @@
1SUBPROJECT_DEFAULT = default
diff --git a/keyboards/s65_x/readme.md b/keyboards/s65_x/readme.md
index 9021af4df..f647f9cb6 100644
--- a/keyboards/s65_x/readme.md
+++ b/keyboards/s65_x/readme.md
@@ -8,6 +8,6 @@ Hardware Availability: https://sentraq.com/collections/group-buys/products/gb-s6
8 8
9Make example for this keyboard (after setting up your build environment): 9Make example for this keyboard (after setting up your build environment):
10 10
11 make s65_x-default 11 make s65_x:default
12 12
13See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 13See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/satan/readme.md b/keyboards/satan/readme.md
index 33310ce25..cb887805f 100644
--- a/keyboards/satan/readme.md
+++ b/keyboards/satan/readme.md
@@ -10,6 +10,6 @@ Hardware Availability: https://1upkeyboards.com/gh60-satan-pcb.html
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make satan-default 13 make satan:default
14 14
15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 15See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/sixkeyboard/readme.md b/keyboards/sixkeyboard/readme.md
index a2fc9eb46..c0d87bc2c 100644
--- a/keyboards/sixkeyboard/readme.md
+++ b/keyboards/sixkeyboard/readme.md
@@ -7,7 +7,7 @@ Hardware Availability: http://techkeys.us/collections/accessories/products/sixke
7 7
8Make example for this keyboard (after setting up your build environment): 8Make example for this keyboard (after setting up your build environment):
9 9
10 make sixkeyboard-default 10 make sixkeyboard:default
11 11
12See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 12See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
13 13
diff --git a/keyboards/sweet16/readme.md b/keyboards/sweet16/readme.md
index 3bd986fc5..435aed68c 100644
--- a/keyboards/sweet16/readme.md
+++ b/keyboards/sweet16/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: [1up Keyboards](https://1upkeyboards.com/)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make sweet16-default 12 make sweet16:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file
diff --git a/keyboards/tada68/readme.md b/keyboards/tada68/readme.md
index cc025cad4..a18758ac9 100755
--- a/keyboards/tada68/readme.md
+++ b/keyboards/tada68/readme.md
@@ -9,7 +9,7 @@ Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/products/tada68-m
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make tada68-default-bin 12 make tada68:default:bin
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
15 15
@@ -19,7 +19,7 @@ See [build environment setup](https://docs.qmk.fm/build_environment_setup.html)
19 19
201) from the `qmk_firmware\` directory run: 201) from the `qmk_firmware\` directory run:
21``` 21```
22$ make tada68-default-flashbin 22$ make tada68:default:flashbin
23``` 23```
24 24
252) Connect your keyboard to Windows computer, hit the reset button on the TADA, the lights will start flashing. 252) Connect your keyboard to Windows computer, hit the reset button on the TADA, the lights will start flashing.
diff --git a/keyboards/tiger_lily/readme.md b/keyboards/tiger_lily/readme.md
index b24c46836..99da94742 100644
--- a/keyboards/tiger_lily/readme.md
+++ b/keyboards/tiger_lily/readme.md
@@ -11,6 +11,6 @@ Hardware Availability: https://geekhack.org/index.php?topic=46700.0
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make tiger_lily-default 14 make tiger_lily:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/tomato/readme.md b/keyboards/tomato/readme.md
index fb3808996..e3851f18c 100644
--- a/keyboards/tomato/readme.md
+++ b/keyboards/tomato/readme.md
@@ -12,7 +12,7 @@ Hardware Availability: [Gherkin project on 40% Keyboards](http://www.40percent.c
12 12
13Make example for this keyboard (after setting up your build environment): 13Make example for this keyboard (after setting up your build environment):
14 14
15 make tomato-default 15 make tomato:default
16 16
17See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 17See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
18 18
diff --git a/keyboards/tv44/readme.md b/keyboards/tv44/readme.md
index f0a277dec..c2394c031 100644
--- a/keyboards/tv44/readme.md
+++ b/keyboards/tv44/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://thevankeyboards.com/products/minivan-r4-keyboard-
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make tv44-default 12 make tv44:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/uk78/keymaps/rask/README.md b/keyboards/uk78/keymaps/rask/README.md
index 86eac4bf8..1fabd4d49 100644
--- a/keyboards/uk78/keymaps/rask/README.md
+++ b/keyboards/uk78/keymaps/rask/README.md
@@ -7,4 +7,4 @@
7Plug the keyboard in and press the reset button, then in the main 7Plug the keyboard in and press the reset button, then in the main
8`qmk_firmware` directory run 8`qmk_firmware` directory run
9 9
10 $ sudo make uk78-rask-dfu 10 $ sudo make uk78:rask:dfu
diff --git a/keyboards/uk78/readme.md b/keyboards/uk78/readme.md
index 2f29ca48c..eb4d1824c 100644
--- a/keyboards/uk78/readme.md
+++ b/keyboards/uk78/readme.md
@@ -11,6 +11,6 @@ A fully customizable 60%+numpad keyboard.
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make uk78-default 14 make uk78:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. \ No newline at end of file
diff --git a/keyboards/v60_type_r/readme.md b/keyboards/v60_type_r/readme.md
index 685fcba93..c6be29091 100644
--- a/keyboards/v60_type_r/readme.md
+++ b/keyboards/v60_type_r/readme.md
@@ -23,7 +23,7 @@ Hardware Availability: [mechanicalkeyboards.com](https://mechanicalkeyboards.com
23 23
24Make example for this keyboard (after setting up your build environment): 24Make example for this keyboard (after setting up your build environment):
25 25
26 make v60_type_r-default 26 make v60_type_r:default
27 27
28See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 28See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
29 29
diff --git a/keyboards/vision_division/readme.md b/keyboards/vision_division/readme.md
index 880c62f58..058629db3 100644
--- a/keyboards/vision_division/readme.md
+++ b/keyboards/vision_division/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://geekhack.org/index.php?topic=83692.msg2227856#msg
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make vision_division-default 12 make vision_division:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/viterbi/config.h b/keyboards/viterbi/config.h
index 55500df79..863722d7d 100644
--- a/keyboards/viterbi/config.h
+++ b/keyboards/viterbi/config.h
@@ -20,8 +20,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20 20
21#include "config_common.h" 21#include "config_common.h"
22 22
23#ifdef SUBPROJECT_rev1
24 #include "rev1/config.h"
25#endif
26
27#endif // CONFIG_H 23#endif // CONFIG_H
diff --git a/keyboards/viterbi/readme.md b/keyboards/viterbi/readme.md
index bc8451ba3..13f3e6056 100644
--- a/keyboards/viterbi/readme.md
+++ b/keyboards/viterbi/readme.md
@@ -9,12 +9,12 @@ Hardware Availability: [Keebio](https://keeb.io)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make viterbi-rev1-default 12 make viterbi/rev1:default
13 13
14 14
15Example of flashing this keyboard: 15Example of flashing this keyboard:
16 16
17 make viterbi-rev1-default-avrdude 17 make viterbi/rev1:default:avrdude
18 18
19See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 19See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
20 20
diff --git a/keyboards/viterbi/rev1/config.h b/keyboards/viterbi/rev1/config.h
index d48075198..68ca5f362 100644
--- a/keyboards/viterbi/rev1/config.h
+++ b/keyboards/viterbi/rev1/config.h
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18#ifndef REV1_CONFIG_H 18#ifndef REV1_CONFIG_H
19#define REV1_CONFIG_H 19#define REV1_CONFIG_H
20 20
21#include "../config.h" 21#include "config_common.h"
22 22
23/* USB Device descriptor parameter */ 23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xCEEB 24#define VENDOR_ID 0xCEEB
diff --git a/keyboards/viterbi/rev1/rules.mk b/keyboards/viterbi/rev1/rules.mk
index 80a942d06..f84561674 100644
--- a/keyboards/viterbi/rev1/rules.mk
+++ b/keyboards/viterbi/rev1/rules.mk
@@ -1,5 +1 @@
1BACKLIGHT_ENABLE = no BACKLIGHT_ENABLE = no \ No newline at end of file
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile
5endif
diff --git a/keyboards/viterbi/rules.mk b/keyboards/viterbi/rules.mk
index 3f40ff2f8..8a1b94013 100644
--- a/keyboards/viterbi/rules.mk
+++ b/keyboards/viterbi/rules.mk
@@ -73,3 +73,5 @@ USE_I2C = yes
73SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 73SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
74 74
75CUSTOM_MATRIX = yes 75CUSTOM_MATRIX = yes
76
77DEFAULT_FOLDER = viterbi/rev1 \ No newline at end of file
diff --git a/keyboards/viterbi/viterbi.h b/keyboards/viterbi/viterbi.h
index d3d0f64eb..347423910 100644
--- a/keyboards/viterbi/viterbi.h
+++ b/keyboards/viterbi/viterbi.h
@@ -1,7 +1,7 @@
1#ifndef VITERBI_H 1#ifndef VITERBI_H
2#define VITERBI_H 2#define VITERBI_H
3 3
4#ifdef SUBPROJECT_rev1 4#ifdef KEYBOARD_viterbi_rev1
5 #include "rev1.h" 5 #include "rev1.h"
6#endif 6#endif
7 7
diff --git a/keyboards/whitefox/readme.md b/keyboards/whitefox/readme.md
index 2f1445d33..c0fa7b4e3 100644
--- a/keyboards/whitefox/readme.md
+++ b/keyboards/whitefox/readme.md
@@ -9,6 +9,6 @@ Hardware Availability: https://input.club/whitefox/
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make whitefox-default 12 make whitefox:default
13 13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/xd60/keymaps/default/readme.md b/keyboards/xd60/keymaps/default/readme.md
index d2a87bd72..248e0a606 100644
--- a/keyboards/xd60/keymaps/default/readme.md
+++ b/keyboards/xd60/keymaps/default/readme.md
@@ -6,4 +6,4 @@
6Default Keymap for XD60 as indicated on the original sale page. 6Default Keymap for XD60 as indicated on the original sale page.
7 7
8## Build 8## Build
9To build the default keymap, simply run `make xd60-default`. 9To build the default keymap, simply run `make xd60:default`.
diff --git a/keyboards/xd60/keymaps/kmontag42/readme.md b/keyboards/xd60/keymaps/kmontag42/readme.md
index 946ae5606..a23f6a8be 100644
--- a/keyboards/xd60/keymaps/kmontag42/readme.md
+++ b/keyboards/xd60/keymaps/kmontag42/readme.md
@@ -15,4 +15,4 @@ This layout is WIP for me as I use my shiny new keyboard more and more. I will
15* I use emacs, which could account for some of the oddities in my layout and macros 15* I use emacs, which could account for some of the oddities in my layout and macros
16 16
17## Build 17## Build
18To build the default keymap, simply run `make xd60-kmontag42`. 18To build the default keymap, simply run `make xd60:kmontag42`.
diff --git a/keyboards/xd60/keymaps/yuuki/README.md b/keyboards/xd60/keymaps/yuuki/README.md
index 56b2c811c..83fdbf2b7 100644
--- a/keyboards/xd60/keymaps/yuuki/README.md
+++ b/keyboards/xd60/keymaps/yuuki/README.md
@@ -4,7 +4,7 @@ Customized xd60 keymap with inspirations from HHKB and the layout I used on my V
4 4
5## Programming Instructions 5## Programming Instructions
6 6
7Change the layout in `keymap.c` then run `make xd60-yuuki`. The compiled file will be located in `.build/xd60_yuuki.hex` relative to the project root. To flash it onto your keyboard, use whatever program works on your OS. I personally use `dfu-programmer`, and run: 7Change the layout in `keymap.c` then run `make xd60:yuuki`. The compiled file will be located in `.build/xd60_yuuki.hex` relative to the project root. To flash it onto your keyboard, use whatever program works on your OS. I personally use `dfu-programmer`, and run:
8 8
9* `sudo dfu-programmer atmega32u4 erase` 9* `sudo dfu-programmer atmega32u4 erase`
10* `sudo dfu-programmer atmega32u4 flash .build/xd60-yuuki.hex` 10* `sudo dfu-programmer atmega32u4 flash .build/xd60-yuuki.hex`
diff --git a/keyboards/xd60/readme.md b/keyboards/xd60/readme.md
index d7aa3d9b9..389423ed0 100644
--- a/keyboards/xd60/readme.md
+++ b/keyboards/xd60/readme.md
@@ -11,6 +11,6 @@ Hardware Availability: https://www.massdrop.com/buy/xd60-xd64-custom-mechanical-
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make xd60-default 14 make xd60:default
15 15
16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. 16See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/xd75/readme.md b/keyboards/xd75/readme.md
index d5dbdef25..5f4d2e85f 100644
--- a/keyboards/xd75/readme.md
+++ b/keyboards/xd75/readme.md
@@ -17,13 +17,13 @@ it using DFU.
17 17
18### Default 18### Default
19 19
20To build with the default keymap, simply run `make xd75-default` from the root directory (i.e. two levels above this file), and to install via DFU, `make xd75-default-dfu`, also from the root directory. 20To build with the default keymap, simply run `make xd75:default` from the root directory (i.e. two levels above this file), and to install via DFU, `make xd75:default:dfu`, also from the root directory.
21 21
22Note that DFU is likely to require root permissions, so installing the 22Note that DFU is likely to require root permissions, so installing the
23firmware likely requires a command line like: 23firmware likely requires a command line like:
24 24
25``` 25```
26$ sudo make xd75-default-dfu 26$ sudo make xd75:default:dfu
27``` 27```
28 28
29### Other Keymaps 29### Other Keymaps
@@ -42,6 +42,6 @@ To build the firmware binary hex file for a specific keymap, and
42install it, using DFU, just do `make` with a keymap like this: 42install it, using DFU, just do `make` with a keymap like this:
43 43
44``` 44```
45$ make xd75-[default|<name>] 45$ make xd75:[default|<name>]
46``` 46```
47 47
diff --git a/keyboards/ymd96/README.md b/keyboards/ymd96/README.md
index 869dfb101..a60323ab9 100644
--- a/keyboards/ymd96/README.md
+++ b/keyboards/ymd96/README.md
@@ -46,7 +46,7 @@ $ pip install pyusb
46 46
47Build the keyboard with 47Build the keyboard with
48``` 48```
49$ make ymd96-default 49$ make ymd96:default
50``` 50```
51If you make your own layout, change the `default` word to whatever your layout is. 51If you make your own layout, change the `default` word to whatever your layout is.
52 52
diff --git a/quantum/visualizer/visualizer.mk b/quantum/visualizer/visualizer.mk
index 671b63ea2..3bf3f7de6 100644
--- a/quantum/visualizer/visualizer.mk
+++ b/quantum/visualizer/visualizer.mk
@@ -93,18 +93,26 @@ GFXDEFS +=-DGDISP_DRIVER_LIST="$(GDISP_DRIVER_LIST)"
93ifneq ("$(wildcard $(KEYMAP_PATH)/visualizer.c)","") 93ifneq ("$(wildcard $(KEYMAP_PATH)/visualizer.c)","")
94 SRC += $(KEYMAP_PATH)/visualizer.c 94 SRC += $(KEYMAP_PATH)/visualizer.c
95else 95else
96 ifeq ("$(wildcard $(SUBPROJECT_PATH)/keymaps/$(KEYMAP)/visualizer.c)","") 96 VISUALIZER_1 := $(KEYBOARD_PATH_1)/visualizer.c
97 ifeq ("$(wildcard $(SUBPROJECT_PATH)/visualizer.c)","") 97 VISUALIZER_2 := $(KEYBOARD_PATH_2)/visualizer.c
98 ifeq ("$(wildcard $(KEYBOARD_PATH)/visualizer.c)","") 98 VISUALIZER_3 := $(KEYBOARD_PATH_3)/visualizer.c
99$(error "visualizer.c" not found") 99 VISUALIZER_4 := $(KEYBOARD_PATH_4)/visualizer.c
100 else 100 VISUALIZER_5 := $(KEYBOARD_PATH_5)/visualizer.c
101 SRC += keyboards/$(KEYBOARD)/visualizer.c 101
102 endif 102 ifneq ("$(wildcard $(VISUALIZER_5))","")
103 else 103 SRC += $(VISUALIZER_5)
104 SRC += keyboards/$(KEYBOARD)/$(SUBPROJECT)/visualizer.c 104 endif
105 endif 105 ifneq ("$(wildcard $(VISUALIZER_4))","")
106 else 106 SRC += $(VISUALIZER_4)
107 SRC += keyboards/$(KEYBOARD)/$(SUBPROJECT)/keymaps/$(KEYMAP)/visualizer.c 107 endif
108 ifneq ("$(wildcard $(VISUALIZER_3))","")
109 SRC += $(VISUALIZER_3)
110 endif
111 ifneq ("$(wildcard $(VISUALIZER_2))","")
112 SRC += $(VISUALIZER_2)
113 endif
114 ifneq ("$(wildcard $(VISUALIZER_1))","")
115 SRC += $(VISUALIZER_1)
108 endif 116 endif
109endif 117endif
110 118
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk
index c938eaeb9..c804d237e 100644
--- a/tmk_core/chibios.mk
+++ b/tmk_core/chibios.mk
@@ -46,13 +46,32 @@ endif
46include $(PLATFORM_MK) 46include $(PLATFORM_MK)
47 47
48 48
49BOARD_MK = $(KEYBOARD_PATH)/boards/$(BOARD)/board.mk 49BOARD_MK :=
50
51ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk)","")
52 BOARD_PATH = $(KEYBOARD_PATH_5)
53 BOARD_MK += $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk
54else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/board.mk)","")
55 BOARD_PATH = $(KEYBOARD_PATH_4)
56 BOARD_MK += $(KEYBOARD_PATH_4)/boards/$(BOARD)/board.mk
57else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/board.mk)","")
58 BOARD_PATH = $(KEYBOARD_PATH_3)
59 BOARD_MK += $(KEYBOARD_PATH_3)/boards/$(BOARD)/board.mk
60else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/board.mk)","")
61 BOARD_PATH = $(KEYBOARD_PATH_2)
62 BOARD_MK += $(KEYBOARD_PATH_2)/boards/$(BOARD)/board.mk
63else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/board.mk)","")
64 BOARD_PATH = $(KEYBOARD_PATH_1)
65 BOARD_MK += $(KEYBOARD_PATH_1)/boards/$(BOARD)/board.mk
66endif
67
50ifeq ("$(wildcard $(BOARD_MK))","") 68ifeq ("$(wildcard $(BOARD_MK))","")
51 BOARD_MK = $(CHIBIOS)/os/hal/boards/$(BOARD)/board.mk 69 BOARD_MK = $(CHIBIOS)/os/hal/boards/$(BOARD)/board.mk
52 ifeq ("$(wildcard $(BOARD_MK))","") 70 ifeq ("$(wildcard $(BOARD_MK))","")
53 BOARD_MK = $(CHIBIOS_CONTRIB)/os/hal/boards/$(BOARD)/board.mk 71 BOARD_MK = $(CHIBIOS_CONTRIB)/os/hal/boards/$(BOARD)/board.mk
54 endif 72 endif
55endif 73endif
74
56include $(BOARD_MK) 75include $(BOARD_MK)
57include $(CHIBIOS)/os/hal/osal/rt/osal.mk 76include $(CHIBIOS)/os/hal/osal/rt/osal.mk
58# RTOS files (optional). 77# RTOS files (optional).
@@ -72,10 +91,18 @@ RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
72endif 91endif
73 92
74# Define linker script file here 93# Define linker script file here
75ifneq ("$(wildcard $(KEYBOARD_PATH)/ld/$(MCU_LDSCRIPT).ld)","") 94ifneq ("$(wildcard $(KEYBOARD_PATH_5)/ld/$(MCU_LDSCRIPT).ld)","")
76LDSCRIPT = $(KEYBOARD_PATH)/ld/$(MCU_LDSCRIPT).ld 95 LDSCRIPT = $(KEYBOARD_PATH_5)/ld/$(MCU_LDSCRIPT).ld
96else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/ld/$(MCU_LDSCRIPT).ld)","")
97 LDSCRIPT = $(KEYBOARD_PATH_4)/ld/$(MCU_LDSCRIPT).ld
98else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/ld/$(MCU_LDSCRIPT).ld)","")
99 LDSCRIPT = $(KEYBOARD_PATH_3)/ld/$(MCU_LDSCRIPT).ld
100else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/ld/$(MCU_LDSCRIPT).ld)","")
101 LDSCRIPT = $(KEYBOARD_PATH_2)/ld/$(MCU_LDSCRIPT).ld
102else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/ld/$(MCU_LDSCRIPT).ld)","")
103 LDSCRIPT = $(KEYBOARD_PATH_1)/ld/$(MCU_LDSCRIPT).ld
77else 104else
78LDSCRIPT = $(STARTUPLD)/$(MCU_LDSCRIPT).ld 105 LDSCRIPT = $(STARTUPLD)/$(MCU_LDSCRIPT).ld
79endif 106endif
80 107
81CHIBISRC = $(STARTUPSRC) \ 108CHIBISRC = $(STARTUPSRC) \
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk
index 73ffeaac1..53e79ef47 100644
--- a/tmk_core/rules.mk
+++ b/tmk_core/rules.mk
@@ -290,7 +290,7 @@ BEGIN = gccversion sizebefore
290define GEN_OBJRULE 290define GEN_OBJRULE
291$1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC)) 291$1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC))
292ifdef $1_CONFIG 292ifdef $1_CONFIG
293$1_CONFIG_FLAGS += -include $$($1_CONFIG) 293$1_CONFIG_FLAGS += $$(patsubst %,-include %,$$($1_CONFIG))
294endif 294endif
295$1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) 295$1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
296$1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) 296$1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
diff --git a/util/travis_build.sh b/util/travis_build.sh
index 3243447ab..87a543370 100644
--- a/util/travis_build.sh
+++ b/util/travis_build.sh
@@ -9,21 +9,24 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
9 BRANCH=$(git rev-parse --abbrev-ref HEAD) 9 BRANCH=$(git rev-parse --abbrev-ref HEAD)
10 if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then 10 if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then
11 echo "Making all keymaps for all keyboards" 11 echo "Making all keymaps for all keyboards"
12 make all-keyboards AUTOGEN="true" 12 make all:all AUTOGEN="true"
13 : $((exit_code = $exit_code + $?)) 13 : $((exit_code = $exit_code + $?))
14 else 14 else
15 MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_]+)(?=\/)' | sort -u) 15 MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_\/]+)(?=\/)' | sort -u)
16 for KB in $MKB ; do 16 for KB in $MKB ; do
17 if [[ $KB == *keymaps* ]]; then
18 continue
19 fi
17 KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l) 20 KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l)
18 if [[ $KEYMAP_ONLY -gt 0 ]]; then 21 if [[ $KEYMAP_ONLY -gt 0 ]]; then
19 echo "Making all keymaps for $KB" 22 echo "Making all keymaps for $KB"
20 make ${KB}-allsp-allkm AUTOGEN=true 23 make ${KB}:all AUTOGEN=true
21 : $((exit_code = $exit_code + $?)) 24 : $((exit_code = $exit_code + $?))
22 else 25 else
23 MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u) 26 MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
24 for KM in $MKM ; do 27 for KM in $MKM ; do
25 echo "Making $KM for $KB" 28 echo "Making $KM for $KB"
26 make ${KB}-allsp-${KM} AUTOGEN=true 29 make ${KB}:${KM} AUTOGEN=true
27 : $((exit_code = $exit_code + $?)) 30 : $((exit_code = $exit_code + $?))
28 done 31 done
29 fi 32 fi