aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFred Sundvik <fsundvik@gmail.com>2016-08-27 21:01:46 +0300
committerFred Sundvik <fsundvik@gmail.com>2016-08-27 21:01:46 +0300
commitcff26bc48413ec62d4f4a37e3a6ba34721e7670c (patch)
tree84c78137841ad83036de7e36579bc7973b024f7a
parenta5b1af4999345239df5086351b52a5b4d2daa97e (diff)
parent36b6a96596e6cbca879d5304a586e279c15b04a9 (diff)
downloadqmk_firmware-cff26bc48413ec62d4f4a37e3a6ba34721e7670c.tar.gz
qmk_firmware-cff26bc48413ec62d4f4a37e3a6ba34721e7670c.zip
Merge branch 'master' into fix_line_endings
-rw-r--r--.travis.yml1
-rw-r--r--Makefile713
-rw-r--r--build_keyboard.mk221
-rw-r--r--keyboards/alps64/Makefile69
-rw-r--r--keyboards/alps64/rules.mk66
-rw-r--r--keyboards/amj60/Makefile71
-rw-r--r--keyboards/amj60/rules.mk66
-rw-r--r--keyboards/arrow_pad/Makefile73
-rw-r--r--keyboards/arrow_pad/readme.md8
-rw-r--r--keyboards/arrow_pad/rules.mk70
-rw-r--r--keyboards/atomic/Makefile72
-rw-r--r--keyboards/atomic/readme.md7
-rw-r--r--keyboards/atomic/rules.mk69
-rw-r--r--keyboards/atreus/Makefile89
-rw-r--r--keyboards/atreus/readme.md7
-rw-r--r--keyboards/atreus/rules.mk82
-rw-r--r--keyboards/bantam44/Makefile73
-rw-r--r--keyboards/bantam44/readme.md7
-rw-r--r--keyboards/bantam44/rules.mk67
-rw-r--r--keyboards/chibios_test/Makefile11
-rw-r--r--keyboards/chibios_test/rules.mk8
-rw-r--r--keyboards/chibios_test/stm32_f072_onekey/Makefile42
-rw-r--r--keyboards/chibios_test/stm32_f072_onekey/rules.mk41
-rw-r--r--keyboards/chibios_test/stm32_f103_onekey/Makefile53
-rw-r--r--keyboards/chibios_test/stm32_f103_onekey/rules.mk52
-rw-r--r--keyboards/chibios_test/teensy_lc_onekey/Makefile48
-rw-r--r--keyboards/chibios_test/teensy_lc_onekey/rules.mk49
-rw-r--r--keyboards/clueboard/Makefile108
-rw-r--r--keyboards/clueboard/readme.md26
-rw-r--r--keyboards/clueboard/rev1/Makefile6
-rw-r--r--keyboards/clueboard/rev1/rules.mk5
-rw-r--r--keyboards/clueboard/rev2/Makefile6
-rw-r--r--keyboards/clueboard/rev2/rules.mk5
-rw-r--r--keyboards/clueboard/rules.mk103
-rw-r--r--keyboards/cluecard/Makefile77
-rw-r--r--keyboards/cluecard/readme.md6
-rw-r--r--keyboards/cluecard/rules.mk70
-rw-r--r--keyboards/cluepad/Makefile71
-rw-r--r--keyboards/cluepad/rules.mk65
-rw-r--r--keyboards/ergodox/Makefile33
-rw-r--r--keyboards/ergodox/ez/Makefile77
-rw-r--r--keyboards/ergodox/ez/rules.mk76
-rw-r--r--keyboards/ergodox/infinity/Makefile78
-rw-r--r--keyboards/ergodox/infinity/rules.mk77
-rw-r--r--keyboards/ergodox/readme.md12
-rw-r--r--keyboards/ergodox/rules.mk28
-rw-r--r--keyboards/gh60/Makefile73
-rw-r--r--keyboards/gh60/readme.md8
-rw-r--r--keyboards/gh60/rules.mk66
-rw-r--r--keyboards/handwired/CMD60/Makefile74
-rw-r--r--keyboards/handwired/CMD60/rules.mk73
-rw-r--r--keyboards/handwired/Makefile2
-rw-r--r--keyboards/handwired/fivethirteen/Makefile74
-rw-r--r--keyboards/handwired/fivethirteen/rules.mk73
-rw-r--r--keyboards/handwired/minorca/Makefile70
-rw-r--r--keyboards/handwired/minorca/rules.mk67
-rw-r--r--keyboards/handwired/onekey/Makefile64
-rw-r--r--keyboards/handwired/onekey/rules.mk65
-rw-r--r--keyboards/handwired/rules.mk0
-rw-r--r--keyboards/handwired/traveller/Makefile90
-rw-r--r--keyboards/handwired/traveller/rules.mk89
-rw-r--r--keyboards/hhkb/Makefile91
-rw-r--r--keyboards/hhkb/readme.md8
-rw-r--r--keyboards/hhkb/rules.mk84
-rw-r--r--keyboards/infinity_chibios/Makefile69
-rw-r--r--keyboards/infinity_chibios/rules.mk66
-rw-r--r--keyboards/jd45/Makefile72
-rw-r--r--keyboards/jd45/rules.mk67
-rw-r--r--keyboards/kc60/Makefile76
-rw-r--r--keyboards/kc60/readme.md12
-rw-r--r--keyboards/kc60/rules.mk71
-rw-r--r--keyboards/kinesis/Makefile80
-rw-r--r--keyboards/kinesis/readme.md6
-rw-r--r--keyboards/kinesis/rules.mk73
-rw-r--r--keyboards/kitten_paw/Makefile76
-rw-r--r--keyboards/kitten_paw/rules.mk72
-rw-r--r--keyboards/lets_split/Makefile77
-rw-r--r--keyboards/lets_split/rules.mk74
-rw-r--r--keyboards/phantom/Makefile75
-rw-r--r--keyboards/phantom/rules.mk69
-rw-r--r--keyboards/planck/Makefile71
-rw-r--r--keyboards/planck/readme.md8
-rw-r--r--keyboards/planck/rev3/Makefile4
-rw-r--r--keyboards/planck/rev3/rules.mk5
-rw-r--r--keyboards/planck/rev4/Makefile4
-rw-r--r--keyboards/planck/rev4/rules.mk5
-rw-r--r--keyboards/planck/rules.mk67
-rw-r--r--keyboards/preonic/Makefile72
-rw-r--r--keyboards/preonic/readme.md8
-rw-r--r--keyboards/preonic/rules.mk69
-rw-r--r--keyboards/retro_refit/Makefile75
-rw-r--r--keyboards/retro_refit/readme.md8
-rw-r--r--keyboards/retro_refit/rules.mk68
-rw-r--r--keyboards/s60-x/Makefile76
-rw-r--r--keyboards/s60-x/readme.md4
-rw-r--r--keyboards/s60-x/rules.mk69
-rw-r--r--keyboards/satan/Makefile71
-rw-r--r--keyboards/satan/rules.mk66
-rw-r--r--keyboards/sixkeyboard/Makefile76
-rw-r--r--keyboards/sixkeyboard/rules.mk70
-rw-r--r--keyboards/tv44/Makefile76
-rw-r--r--keyboards/tv44/readme.md6
-rw-r--r--keyboards/tv44/rules.mk69
-rw-r--r--keyboards/vision_division/Makefile77
-rw-r--r--keyboards/vision_division/rules.mk70
-rw-r--r--message.mk71
-rw-r--r--quantum/template/Makefile76
-rw-r--r--quantum/template/rules.mk67
-rw-r--r--readme.md102
-rw-r--r--tmk_core/chibios.mk12
-rw-r--r--tmk_core/common.mk3
-rw-r--r--tmk_core/common/command.c3
-rw-r--r--tmk_core/rules.mk256
-rw-r--r--util/install_dependencies.sh12
-rw-r--r--util/travis_compiled_push.sh4
115 files changed, 3664 insertions, 3306 deletions
diff --git a/.travis.yml b/.travis.yml
index 297cf19a6..138a2c553 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,4 +21,5 @@ addons:
21 - gcc-arm-none-eabi 21 - gcc-arm-none-eabi
22 - binutils-arm-none-eabi 22 - binutils-arm-none-eabi
23 - libnewlib-arm-none-eabi 23 - libnewlib-arm-none-eabi
24 - diffutils
24after_success: bash util/travis_compiled_push.sh 25after_success: bash util/travis_compiled_push.sh
diff --git a/Makefile b/Makefile
index 331badcf8..f78cca6c6 100644
--- a/Makefile
+++ b/Makefile
@@ -2,284 +2,461 @@ ifndef VERBOSE
2.SILENT: 2.SILENT:
3endif 3endif
4 4
5.DEFAULT_GOAL := all 5# Allow the silent with lower caps to work the same way as upper caps
6 6ifdef silent
7space := $(subst ,, ) 7 SILENT = $(silent)
8ESCAPED_ABS_PATH = $(subst $(space),_SPACE_,$(abspath $1)) 8endif
9starting_makefile := $(call ESCAPED_ABS_PATH,$(firstword $(MAKEFILE_LIST))) 9
10mkfile_path := $(call ESCAPED_ABS_PATH,$(lastword $(MAKEFILE_LIST)))) 10ifdef SILENT
11abs_tmk_root := $(patsubst %/,%,$(dir $(mkfile_path))) 11 SUB_IS_SILENT := $(SILENT)
12 12endif
13ifneq (,$(findstring /keyboards/,$(starting_makefile))) 13
14 possible_keyboard:=$(patsubst %/,%,$(dir $(patsubst $(abs_tmk_root)/keyboards/%,%,$(starting_makefile)))) 14# We need to make sure that silent is always turned off at the top level
15 ifneq (,$(findstring /keymaps/,$(possible_keyboard))) 15# Otherwise the [OK], [ERROR] and [WARN] messags won't be displayed correctly
16 KEYMAP_DIR:=$(lastword $(subst /keymaps/, ,$(possible_keyboard))) 16override SILENT := false
17 KEYBOARD_DIR:=$(firstword $(subst /keymaps/, ,$(possible_keyboard))) 17
18 ifneq (,$(findstring /,$(KEYBOARD_DIR))) 18ON_ERROR := error_occured=1
19 # SUBPROJECT_DIR:=$(lastword $(subst /, ,$(KEYBOARD_DIR))) 19
20 # KEYBOARD_DIR:=$(firstword $(subst /, ,$(KEYBOARD_DIR))) 20STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST))
21 tmk_root = ../../.. 21ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST))
22 else 22ROOT_DIR := $(dir $(ROOT_MAKEFILE))
23 tmk_root = ../../../.. 23ifeq ($(ROOT_DIR),)
24 endif 24 ROOT_DIR := .
25 else 25endif
26 KEYMAP_DIR:=default 26ABS_STARTING_MAKEFILE := $(abspath $(STARTING_MAKEFILE))
27 KEYBOARD_DIR:=$(possible_keyboard) 27ABS_ROOT_MAKEFILE := $(abspath $(ROOT_MAKEFILE))
28 ifneq (,$(findstring /,$(KEYBOARD_DIR))) 28ABS_STARTING_DIR := $(dir $(ABS_STARTING_MAKEFILE))
29 # SUBPROJECT_DIR:=$(lastword $(subst /, ,$(KEYBOARD_DIR))) 29ABS_ROOT_DIR := $(dir $(ABS_ROOT_MAKEFILE))
30 # KEYBOARD_DIR:=$(firstword $(subst /, ,$(KEYBOARD_DIR))) 30STARTING_DIR := $(subst $(ABS_ROOT_DIR),,$(ABS_STARTING_DIR))
31 tmk_root = ../../.. 31
32 else 32MAKEFILE_INCLUDED=yes
33 tmk_root = ../.. 33
34 endif 34# Helper function to process the newt element of a space separated path
35 endif 35# It works a bit like the traditional functional head tail
36else 36# so the CURRENT_PATH_ELEMENT will beome the new head
37 tmk_root = . 37# and the PATH_ELEMENTS are the rest that are still unprocessed
38endif 38define NEXT_PATH_ELEMENT
39# $(info $(KEYBOARD_DIR)) 39 $$(eval CURRENT_PATH_ELEMENT := $$(firstword $$(PATH_ELEMENTS)))
40# $(info $(KEYMAP_DIR)) 40 $$(eval PATH_ELEMENTS := $$(wordlist 2,9999,$$(PATH_ELEMENTS)))
41# $(info $(SUBPROJECT_DIR)) 41endef
42 42
43# Directory common source filess exist 43# We change the / to spaces so that we more easily can work with the elements
44TOP_DIR = $(tmk_root) 44# separately
45TMK_DIR = tmk_core 45PATH_ELEMENTS := $(subst /, ,$(STARTING_DIR))
46TMK_PATH = $(TOP_DIR)/$(TMK_DIR) 46# Initialize the path elements list for further processing
47LIB_PATH = $(TOP_DIR)/lib 47$(eval $(call NEXT_PATH_ELEMENT))
48 48
49QUANTUM_DIR = quantum 49# This function sets the KEYBOARD; KEYMAP and SUBPROJECT to the correct
50QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR) 50# variables depending on which directory you stand in.
51 51# It's really a very simple if else chain, if you squint enough,
52 52# but the makefile syntax makes it very verbose.
53# If we are in a subfolder of keyboards
54ifeq ($(CURRENT_PATH_ELEMENT),keyboards)
55 $(eval $(call NEXT_PATH_ELEMENT))
56 KEYBOARD := $(CURRENT_PATH_ELEMENT)
57 $(eval $(call NEXT_PATH_ELEMENT))
58 # If we are in a subfolder of keymaps, or in other words in a keymap
59 # folder
60 ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
61 $(eval $(call NEXT_PATH_ELEMENT))
62 KEYMAP := $(CURRENT_PATH_ELEMENT)
63 # else if we are not in the keyboard folder itself
64 else ifneq ($(CURRENT_PATH_ELEMENT),)
65 # the we can assume it's a subproject, as no other folders
66 # should have make files in them
67 SUBPROJECT := $(CURRENT_PATH_ELEMENT)
68 $(eval $(call NEXT_PATH_ELEMENT))
69 # if we are inside a keymap folder of a subproject
70 ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
71 $(eval $(call NEXT_PATH_ELEMENT))
72 KEYMAP := $(CURRENT_PATH_ELEMENT)
73 endif
74 endif
75endif
76
77# Only consider folders with makefiles, to prevent errors in case there are extra folders
78KEYBOARDS := $(notdir $(patsubst %/Makefile,%,$(wildcard $(ROOT_DIR)/keyboards/*/Makefile)))
79
80#Compability with the old make variables, anything you specify directly on the command line
81# always overrides the detected folders
53ifdef keyboard 82ifdef keyboard
54 KEYBOARD ?= $(keyboard) 83 KEYBOARD := $(keyboard)
55endif
56ifdef KEYBOARD_DIR
57 KEYBOARD ?= $(KEYBOARD_DIR)
58endif
59ifndef KEYBOARD
60 KEYBOARD=planck
61endif 84endif
62
63MASTER ?= left
64ifdef master
65 MASTER = $(master)
66endif
67
68
69# converts things to keyboards/subproject
70ifneq (,$(findstring /,$(KEYBOARD)))
71 TEMP:=$(KEYBOARD)
72 KEYBOARD:=$(firstword $(subst /, ,$(TEMP)))
73 SUBPROJECT:=$(lastword $(subst /, ,$(TEMP)))
74endif
75
76KEYBOARD_PATH = $(TOP_DIR)/keyboards/$(KEYBOARD)
77
78ifdef sub 85ifdef sub
79 SUBPROJECT=$(sub) 86 SUBPROJECT := $(sub)
80endif 87endif
81ifdef subproject 88ifdef subproject
82 SUBPROJECT=$(subproject) 89 SUBPROJECT := $(subproject)
83endif
84
85ifneq ("$(wildcard $(KEYBOARD_PATH)/$(KEYBOARD).c)","")
86 KEYBOARD_FILE = keyboards/$(KEYBOARD)/$(KEYBOARD).c
87 ifneq ($(call ESCAPED_ABS_PATH,$(KEYBOARD_PATH)/Makefile),$(starting_makefile))
88 -include $(KEYBOARD_PATH)/Makefile
89 endif
90else
91$(error "$(KEYBOARD_PATH)/$(KEYBOARD).c" does not exist)
92endif
93
94ifdef SUBPROJECT_DEFAULT
95 SUBPROJECT?=$(SUBPROJECT_DEFAULT)
96endif
97
98ifdef SUBPROJECT
99 SUBPROJECT_PATH = $(TOP_DIR)/keyboards/$(KEYBOARD)/$(SUBPROJECT)
100 ifneq ("$(wildcard $(SUBPROJECT_PATH)/$(SUBPROJECT).c)","")
101 OPT_DEFS += -DSUBPROJECT_$(SUBPROJECT)
102 SUBPROJECT_FILE = keyboards/$(KEYBOARD)/$(SUBPROJECT)/$(SUBPROJECT).c
103 ifneq ($(call ESCAPED_ABS_PATH,$(SUBPROJECT_PATH)/Makefile),$(starting_makefile))
104 -include $(SUBPROJECT_PATH)/Makefile
105 endif
106 else
107$(error "$(SUBPROJECT_PATH)/$(SUBPROJECT).c" does not exist)
108 endif
109endif 90endif
110
111ifdef keymap 91ifdef keymap
112 KEYMAP ?= $(keymap) 92 KEYMAP := $(keymap)
113endif
114ifdef KEYMAP_DIR
115 KEYMAP ?= $(KEYMAP_DIR)
116endif
117ifndef KEYMAP
118 KEYMAP = default
119endif
120KEYMAP_PATH = $(KEYBOARD_PATH)/keymaps/$(KEYMAP)
121ifneq ("$(wildcard $(KEYMAP_PATH)/keymap.c)","")
122 KEYMAP_FILE = keyboards/$(KEYBOARD)/keymaps/$(KEYMAP)/keymap.c
123 ifneq ($(call ESCAPED_ABS_PATH,$(KEYMAP_PATH)/Makefile),$(starting_makefile))
124 -include $(KEYMAP_PATH)/Makefile
125 endif
126else
127 ifeq ("$(wildcard $(SUBPROJECT_PATH)/keymaps/$(KEYMAP)/keymap.c)","")
128$(error "$(KEYMAP_PATH)/keymap.c" does not exist)
129 else
130 KEYMAP_PATH = $(SUBPROJECT_PATH)/keymaps/$(KEYMAP)
131 KEYMAP_FILE = keyboards/$(KEYBOARD)/$(SUBPROJECT)/keymaps/$(KEYMAP)/keymap.c
132 ifneq ($(call ESCAPED_ABS_PATH,$(KEYMAP_PATH)/Makefile),$(starting_makefile))
133 -include $(KEYMAP_PATH)/Makefile
134 endif
135 endif
136endif
137
138ifdef SUBPROJECT
139 TARGET ?= $(KEYBOARD)_$(SUBPROJECT)_$(KEYMAP)
140else
141 TARGET ?= $(KEYBOARD)_$(KEYMAP)
142endif
143
144BUILD_DIR = $(TOP_DIR)/.build
145
146# Object files directory
147# To put object files in current directory, use a dot (.), do NOT make
148# this an empty or blank macro!
149OBJDIR = $(BUILD_DIR)/obj_$(TARGET)
150
151
152
153ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
154 CONFIG_H = $(KEYMAP_PATH)/config.h
155else
156 CONFIG_H = $(KEYBOARD_PATH)/config.h
157 ifdef SUBPROJECT
158 ifneq ("$(wildcard $(SUBPROJECT_PATH)/$(SUBPROJECT).c)","")
159 CONFIG_H = $(SUBPROJECT_PATH)/config.h
160 endif
161 endif
162endif 93endif
163 94
164# # project specific files 95# Uncomment these for debugging
165SRC += $(KEYBOARD_FILE) \ 96#$(info Keyboard: $(KEYBOARD))
166 $(KEYMAP_FILE) \ 97#$(info Keymap: $(KEYMAP))
167 $(QUANTUM_DIR)/quantum.c \ 98#$(info Subproject: $(SUBPROJECT))
168 $(QUANTUM_DIR)/keymap_common.c \ 99#$(info Keyboards: $(KEYBOARDS))
169 $(QUANTUM_DIR)/keycode_config.c \
170 $(QUANTUM_DIR)/process_keycode/process_leader.c
171 100
172ifdef SUBPROJECT
173 SRC += $(SUBPROJECT_FILE)
174endif
175
176ifdef SUBPROJECT
177 SRC += $(SUBPROJECT_FILE)
178endif
179
180ifdef SUBPROJECT
181 SRC += $(SUBPROJECT_FILE)
182endif
183
184ifndef CUSTOM_MATRIX
185 SRC += $(QUANTUM_DIR)/matrix.c
186endif
187
188ifeq ($(strip $(MIDI_ENABLE)), yes)
189 OPT_DEFS += -DMIDI_ENABLE
190 SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c
191endif
192
193ifeq ($(strip $(VIRTSER_ENABLE)), yes)
194 OPT_DEFS += -DVIRTSER_ENABLE
195endif
196
197ifeq ($(strip $(AUDIO_ENABLE)), yes)
198 OPT_DEFS += -DAUDIO_ENABLE
199 SRC += $(QUANTUM_DIR)/process_keycode/process_music.c
200 SRC += $(QUANTUM_DIR)/audio/audio.c
201 SRC += $(QUANTUM_DIR)/audio/voices.c
202 SRC += $(QUANTUM_DIR)/audio/luts.c
203endif
204
205ifeq ($(strip $(UCIS_ENABLE)), yes)
206 OPT_DEFS += -DUCIS_ENABLE
207 UNICODE_ENABLE = yes
208endif
209
210ifeq ($(strip $(UNICODE_ENABLE)), yes)
211 OPT_DEFS += -DUNICODE_ENABLE
212 SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
213endif
214
215ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
216 OPT_DEFS += -DRGBLIGHT_ENABLE
217 SRC += $(QUANTUM_DIR)/light_ws2812.c
218 SRC += $(QUANTUM_DIR)/rgblight.c
219endif
220
221ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
222 OPT_DEFS += -DTAP_DANCE_ENABLE
223 SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
224endif
225
226ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes)
227 SERIAL_DIR = $(QUANTUM_DIR)/serial_link
228 SERIAL_PATH = $(QUANTUM_PATH)/serial_link
229 SERIAL_SRC = $(wildcard $(SERIAL_PATH)/protocol/*.c)
230 SERIAL_SRC += $(wildcard $(SERIAL_PATH)/system/*.c)
231 SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC))
232 OPT_DEFS += -DSERIAL_LINK_ENABLE
233 VAPTH += $(SERIAL_PATH)
234endif
235
236# Optimize size but this may cause error "relocation truncated to fit"
237#EXTRALDFLAGS = -Wl,--relax
238
239# Search Path
240VPATH += $(KEYMAP_PATH)
241ifdef SUBPROJECT
242 VPATH += $(SUBPROJECT_PATH)
243endif
244VPATH += $(KEYBOARD_PATH)
245VPATH += $(TOP_DIR)
246VPATH += $(TMK_PATH)
247VPATH += $(QUANTUM_PATH)
248VPATH += $(QUANTUM_PATH)/keymap_extras
249VPATH += $(QUANTUM_PATH)/audio
250VPATH += $(QUANTUM_PATH)/process_keycode
251
252
253# We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA
254ifdef MCU_FAMILY
255 PLATFORM=CHIBIOS
256else
257 PLATFORM=AVR
258endif
259
260include $(TMK_PATH)/common.mk
261ifeq ($(PLATFORM),AVR)
262 include $(TMK_PATH)/protocol/lufa.mk
263 include $(TMK_PATH)/avr.mk
264else ifeq ($(PLATFORM),CHIBIOS)
265 include $(TMK_PATH)/protocol/chibios.mk
266 include $(TMK_PATH)/chibios.mk
267 OPT_OS = chibios
268else
269 $(error Unknown platform)
270endif
271
272ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
273 VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer
274 VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer
275 include $(VISUALIZER_PATH)/visualizer.mk
276endif
277
278include $(TMK_PATH)/rules.mk
279 101
102# Set the default goal depening on where we are running make from
103# this handles the case where you run make without any arguments
104.DEFAULT_GOAL := all
105ifneq ($(KEYMAP),)
106 ifeq ($(SUBPROJECT),)
107 # Inside a keymap folder, just build the keymap, with the
108 # default subproject
109 .DEFAULT_GOAL := $(KEYBOARD)-$(KEYMAP)
110 else
111 # Inside a subproject keyamp folder, build the keymap
112 # for that subproject
113 .DEFAULT_GOAL := $(KEYBOARD)-$(SUBPROJECT)-$(KEYMAP)
114 endif
115else ifneq ($(SUBPROJECT),)
116 # Inside a subproject folder, build all keymaps for that subproject
117 .DEFAULT_GOAL := $(KEYBOARD)-$(SUBPROJECT)-allkm
118else ifneq ($(KEYBOARD),)
119 # Inside a keyboard folder, build all keymaps for all subprojects
120 # Note that this is different from the old behaviour, which would
121 # build only the default keymap of the default keyboard
122 .DEFAULT_GOAL := $(KEYBOARD)-allsp-allkm
123endif
124
125
126# Compare the start of the RULE variable with the first argument($1)
127# If the rules equals $1 or starts with $1-, RULE_FOUND is set to true
128# and $1 is removed from the RULE variable
129# Otherwise the RULE_FOUND variable is set to false, and RULE left as it was
130# The function is a bit tricky, since there's no built in $(startswith) function
131define COMPARE_AND_REMOVE_FROM_RULE_HELPER
132 ifeq ($1,$$(RULE))
133 RULE:=
134 RULE_FOUND := true
135 else
136 STARTDASH_REMOVED=$$(subst START$1-,,START$$(RULE))
137 ifneq ($$(STARTDASH_REMOVED),START$$(RULE))
138 RULE_FOUND := true
139 RULE := $$(STARTDASH_REMOVED)
140 else
141 RULE_FOUND := false
142 endif
143 endif
144endef
145
146# This makes it easier to call COMPARE_AND_REMOVE_FROM_RULE, since it makes it behave like
147# a function that returns the value
148COMPARE_AND_REMOVE_FROM_RULE = $(eval $(call COMPARE_AND_REMOVE_FROM_RULE_HELPER,$1))$(RULE_FOUND)
149
150
151# Recursively try to find a match for the start of the rule to be checked
152# $1 The list to be checked
153# If a match is found, then RULE_FOUND is set to true
154# and MATCHED_ITEM to the item that was matched
155define TRY_TO_MATCH_RULE_FROM_LIST_HELPER3
156 ifneq ($1,)
157 ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,$$(firstword $1)),true)
158 MATCHED_ITEM := $$(firstword $1)
159 else
160 $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER3,$$(wordlist 2,9999,$1)))
161 endif
162 endif
163endef
164
165# A recursive helper function for finding the longest match
166# $1 The list to be checed
167# It works by always removing the currently matched item from the list
168# and call itself recursively, until a match is found
169define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2
170 # Stop the recursion when the list is empty
171 ifneq ($1,)
172 RULE_BEFORE := $$(RULE)
173 $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER3,$1))
174 # If a match is found in the current list, otherwise just return what we had before
175 ifeq ($$(RULE_FOUND),true)
176 # Save the best match so far and call itself recursivel
177 BEST_MATCH := $$(MATCHED_ITEM)
178 BEST_MATCH_RULE := $$(RULE)
179 RULE_FOUND := false
180 RULE := $$(RULE_BEFORE)
181 $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER2,$$(filter-out $$(MATCHED_ITEM),$1)))
182 endif
183 endif
184endef
185
186
187# Recursively try to find the longest match for the start of the rule to be checked
188# $1 The list to be checked
189# If a match is found, then RULE_FOUND is set to true
190# and MATCHED_ITEM to the item that was matched
191define TRY_TO_MATCH_RULE_FROM_LIST_HELPER
192 BEST_MATCH :=
193 $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER2,$1))
194 ifneq ($$(BEST_MATCH),)
195 RULE_FOUND := true
196 RULE := $$(BEST_MATCH_RULE)
197 MATCHED_ITEM := $$(BEST_MATCH)
198 else
199 RULE_FOUND := false
200 MATCHED_ITEM :=
201 endif
202endef
203
204# Make it easier to call TRY_TO_MATCH_RULE_FROM_LIST
205TRY_TO_MATCH_RULE_FROM_LIST = $(eval $(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER,$1))$(RULE_FOUND)
206
207define ALL_IN_LIST_LOOP
208 OLD_RULE$1 := $$(RULE)
209 $$(eval $$(call $1,$$(ITEM$1)))
210 RULE := $$(OLD_RULE$1)
211endef
212
213define PARSE_ALL_IN_LIST
214 $$(foreach ITEM$1,$2,$$(eval $$(call ALL_IN_LIST_LOOP,$1)))
215endef
216
217# The entry point for rule parsing
218# parses a rule in the format <keyboard>-<subproject>-<keymap>-<target>
219# but this particular function only deals with the first <keyboard> part
220define PARSE_RULE
221 RULE := $1
222 COMMANDS :=
223 # If the rule starts with allkb, then continue the parsing from
224 # PARSE_ALL_KEYBOARDS
225 ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkb),true)
226 $$(eval $$(call PARSE_ALL_KEYBOARDS))
227 # If the rule starts with the name of a known keyboard, then continue
228 # the parsing from PARSE_KEYBOARD
229 else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true)
230 $$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
231 # Otherwise use the KEYBOARD variable, which is determined either by
232 # the current directory you run make from, or passed in as an argument
233 else ifneq ($$(KEYBOARD),)
234 $$(eval $$(call PARSE_KEYBOARD,$$(KEYBOARD)))
235 else
236 $$(info make: *** No rule to make target '$1'. Stop.)
237 # Notice the tab instead of spaces below!
238 exit 1
239 endif
240endef
241
242# $1 = Keyboard
243# Parses a rule in the format <subproject>-<keymap>-<target>
244# the keyboard is already known when entering this function
245define PARSE_KEYBOARD
246 CURRENT_KB := $1
247 # A subproject is any keyboard subfolder with a makefile
248 SUBPROJECTS := $$(notdir $$(patsubst %/Makefile,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/*/Makefile)))
249 # if the rule starts with allsp, then continue with looping over all subprojects
250 ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allsp),true)
251 $$(eval $$(call PARSE_ALL_SUBPROJECTS))
252 # A special case for matching the defaultsp (default subproject)
253 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,defaultsp),true)
254 $$(eval $$(call PARSE_SUBPROJECT,defaultsp))
255 # If the rule starts with the name of a known subproject
256 else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(SUBPROJECTS)),true)
257 $$(eval $$(call PARSE_SUBPROJECT,$$(MATCHED_ITEM)))
258 # Try to use the SUBPROJECT variable, which is either determined by the
259 # directory which invoked make, or passed as an argument to make
260 else ifneq ($$(SUBPROJECT),)
261 $$(eval $$(call PARSE_SUBPROJECT,$$(SUBPROJECT)))
262 # If there's no matching subproject, we assume it's the default
263 # This will allow you to leave the subproject part of the target out
264 else
265 $$(eval $$(call PARSE_SUBPROJECT,))
266 endif
267endef
268
269# if we are going to compile all keyboards, match the rest of the rule
270# for each of them
271define PARSE_ALL_KEYBOARDS
272 $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(KEYBOARDS)))
273endef
274
275# $1 Subproject
276# When entering this, the keyboard and subproject are known, so now we need
277# to determine which keymaps are going to get compiled
278define PARSE_SUBPROJECT
279 # If we want to compile the default subproject, then we need to
280 # include the correct makefile to determine the actual name of it
281 CURRENT_SP := $1
282 ifeq ($$(CURRENT_SP),)
283 CURRENT_SP := defaultsp
284 endif
285 ifeq ($$(CURRENT_SP),defaultsp)
286 SUBPROJECT_DEFAULT=
287 $$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/Makefile)
288 CURRENT_SP := $$(SUBPROJECT_DEFAULT)
289 endif
290 # If current subproject is empty (the default was not defined), and we have a list of subproject
291 # then make all of them
292 ifeq ($$(CURRENT_SP),)
293 ifneq ($$(SUBPROJECTS),)
294 CURRENT_SP := allsp
295 endif
296 endif
297 # The special allsp is handled later
298 ifneq ($$(CURRENT_SP),allsp)
299 # get a list of all keymaps
300 KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/keymaps/*/.)))
301 ifneq ($$(CURRENT_SP),)
302 # if the subproject is defined, then also look for keymaps inside the subproject folder
303 SP_KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/$$(CURRENT_SP)/keymaps/*/.)))
304 KEYMAPS := $$(sort $$(KEYMAPS) $$(SP_KEYMAPS))
305 endif
306 # if the rule after removing the start of it is empty (we haven't specified a kemap or target)
307 # compile all the keymaps
308 ifeq ($$(RULE),)
309 $$(eval $$(call PARSE_ALL_KEYMAPS))
310 # The same if allkm was specified
311 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkm),true)
312 $$(eval $$(call PARSE_ALL_KEYMAPS))
313 # Try to match the specified keyamp with the list of known keymaps
314 else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
315 $$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
316 # Otherwise try to match the keymap from the current folder, or arguments to the make command
317 else ifneq ($$(KEYMAP),)
318 $$(eval $$(call PARSE_KEYMAP,$$(KEYMAP)))
319 # No matching keymap found, so we assume that the rest of the rule is the target
320 # If we haven't been able to parse out a subproject, then make all of them
321 # This is consistent with running make without any arguments from the keyboard
322 # folder
323 else ifeq ($1,)
324 $$(eval $$(call PARSE_ALL_SUBPROJECTS))
325 # Otherwise, make all keymaps, again this is consistent with how it works without
326 # any arguments
327 else
328 $$(eval $$(call PARSE_ALL_KEYMAPS))
329 endif
330 else
331 # As earlier mentione,d when allsb is specified, we call our self recursively
332 # for all of the subprojects
333 $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$(SUBPROJECTS)))
334 endif
335endef
336
337# If we want to parse all subprojects, but the keyboard doesn't have any,
338# then use defaultsp instead
339define PARSE_ALL_SUBPROJECTS
340 ifeq ($$(SUBPROJECTS),)
341 $$(eval $$(call PARSE_SUBPROJECT,defaultsp))
342 else
343 $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
344 endif
345endef
346
347# $1 Keymap
348# This is the meat of compiling a keyboard, when entering this, everything is known
349# keyboard, subproject, and keymap
350# Note that we are not directly calling the command here, but instead building a list,
351# which will later be processed
352define PARSE_KEYMAP
353 CURRENT_KM = $1
354 # The rest of the rule is the target
355 # Remove the leading "-" from the target, as it acts as a separator
356 MAKE_TARGET := $$(patsubst -%,%,$$(RULE))
357 # We need to generate an unique indentifer to append to the COMMANDS list
358 COMMAND := COMMAND_KEYBOARD_$$(CURRENT_KB)_SUBPROJECT_$(CURRENT_SP)_KEYMAP_$$(CURRENT_KM)
359 COMMANDS += $$(COMMAND)
360 # If we are compiling a keyboard without a subproject, we want to display just the name
361 # of the keyboard, otherwise keyboard/subproject
362 ifeq ($$(CURRENT_SP),)
363 KB_SP := $(CURRENT_KB)
364 else
365 KB_SP := $(CURRENT_KB)/$$(CURRENT_SP)
366 endif
367 # Format it in bold
368 KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR)
369 # Specify the variables that we are passing forward to submake
370 MAKE_VARS := KEYBOARD=$$(CURRENT_KB) SUBPROJECT=$$(CURRENT_SP) KEYMAP=$$(CURRENT_KM)
371 MAKE_VARS += VERBOSE=$(VERBOSE) COLOR=$(COLOR)
372 # And the first part of the make command
373 MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_keyboard.mk $$(MAKE_TARGET)
374 # The message to display
375 MAKE_MSG := $$(MSG_MAKE_KB)
376 # We run the command differently, depending on if we want more output or not
377 # The true version for silent output and the false version otherwise
378 COMMAND_true_$$(COMMAND) := \
379 printf "$$(MAKE_MSG)" | \
380 $$(MAKE_MSG_FORMAT); \
381 LOG=$$$$($$(MAKE_CMD) $$(MAKE_VARS) SILENT=true 2>&1) ; \
382 if [ $$$$? -gt 0 ]; \
383 then $$(PRINT_ERROR_PLAIN); \
384 elif [ "$$$$LOG" != "" ] ; \
385 then $$(PRINT_WARNING_PLAIN); \
386 else \
387 $$(PRINT_OK); \
388 fi;
389 COMMAND_false_$$(COMMAND) := \
390 printf "$$(MAKE_MSG)\n\n"; \
391 $$(MAKE_CMD) $$(MAKE_VARS) SILENT=false;
392endef
393
394# Just parse all the keymaps for a specifc keyboard
395define PARSE_ALL_KEYMAPS
396 $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYMAP,$$(KEYMAPS)))
397endef
398
399# Set the silent mode depending on if we are trying to compile multiple keyboards or not
400# By default it's on in that case, but it can be overriden by specifying silent=false
401# from the command line
402define SET_SILENT_MODE
403 ifdef SUB_IS_SILENT
404 SILENT_MODE := $(SUB_IS_SILENT)
405 else ifeq ($$(words $$(COMMANDS)),1)
406 SILENT_MODE := false
407 else
408 SILENT_MODE := true
409 endif
410endef
411
412include $(ROOT_DIR)/message.mk
413
414RUN_COMMAND = \
415$(COMMAND_$(SILENT_MODE)_$(COMMAND))
416
417# Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps
418SUBPROJECTS := $(notdir $(patsubst %/Makefile,%,$(wildcard ./*/Makefile)))
419.PHONY: $(SUBPROJECTS)
420$(SUBPROJECTS): %: %-allkm
421
422# Let's match everything, we handle all the rule parsing ourselves
423.PHONY: %
424%:
425 # Check if we have the CMP tool installed
426 cmp --version >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
427 # Check if the submodules are dirty, and display a warning if they are
428 git submodule status --recursive 2>/dev/null | \
429 while IFS= read -r x; do \
430 case "$$x" in \
431 \ *) ;; \
432 *) printf "$(MSG_SUBMODULE_DIRTY)";break;; \
433 esac \
434 done
435 $(eval $(call PARSE_RULE,$@))
436 $(eval $(call SET_SILENT_MODE))
437 # Run all the commands in the same shell, notice the + at the first line
438 # it has to be there to allow parallel execution of the submake
439 # This always tries to compile everything, even if error occurs in the middle
440 # But we return the error code at the end, to trigger travis failures
441 +error_occured=0; \
442 $(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND)) \
443 if [ $$error_occured -gt 0 ]; then printf "$(MSG_ERRORS)" & exit $$error_occured; fi
444
445
446# All should compile everything
447.PHONY: all
448all: all-keyboards
449
450# Define some shortcuts, mostly for compability with the old syntax
451.PHONY: all-keyboards
452all-keyboards: allkb-allsp-allkm
453
454.PHONY: all-keyboards-defaults
455all-keyboards-defaults: allkb-allsp-default
456
457
458# Generate the version.h file
280GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") 459GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")
281BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S") 460BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S")
282OPT_DEFS += -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" 461$(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h)
283 462$(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h) \ No newline at end of file
284$(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(QUANTUM_PATH)/version.h)
285$(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(QUANTUM_PATH)/version.h)
diff --git a/build_keyboard.mk b/build_keyboard.mk
new file mode 100644
index 000000000..f843572f6
--- /dev/null
+++ b/build_keyboard.mk
@@ -0,0 +1,221 @@
1ifndef VERBOSE
2.SILENT:
3endif
4
5.DEFAULT_GOAL := all
6
7include message.mk
8
9
10# Directory common source filess exist
11TOP_DIR = .
12TMK_DIR = tmk_core
13TMK_PATH = $(TOP_DIR)/$(TMK_DIR)
14LIB_PATH = $(TOP_DIR)/lib
15
16QUANTUM_DIR = quantum
17QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR)
18
19BUILD_DIR := $(TOP_DIR)/.build
20
21ifneq ($(SUBPROJECT),)
22 TARGET ?= $(KEYBOARD)_$(SUBPROJECT)_$(KEYMAP)
23 KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD)_$(SUBPROJECT)
24else
25 TARGET ?= $(KEYBOARD)_$(KEYMAP)
26 KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD)
27endif
28
29# Force expansion
30TARGET := $(TARGET)
31
32
33MASTER ?= left
34ifdef master
35 MASTER = $(master)
36endif
37
38KEYBOARD_PATH := keyboards/$(KEYBOARD)
39KEYBOARD_C := $(KEYBOARD_PATH)/$(KEYBOARD).c
40
41ifneq ("$(wildcard $(KEYBOARD_C))","")
42 include $(KEYBOARD_PATH)/rules.mk
43else
44 $(error "$(KEYBOARD_C)" does not exist)
45endif
46
47
48ifneq ($(SUBPROJECT),)
49 SUBPROJECT_PATH := keyboards/$(KEYBOARD)/$(SUBPROJECT)
50 SUBPROJECT_C := $(SUBPROJECT_PATH)/$(SUBPROJECT).c
51 ifneq ("$(wildcard $(SUBPROJECT_C))","")
52 OPT_DEFS += -DSUBPROJECT_$(SUBPROJECT)
53 include $(SUBPROJECT_PATH)/rules.mk
54 else
55 $(error "$(SUBPROJECT_PATH)/$(SUBPROJECT).c" does not exist)
56 endif
57endif
58
59# We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA
60ifdef MCU_FAMILY
61 PLATFORM=CHIBIOS
62else
63 PLATFORM=AVR
64endif
65
66ifeq ($(PLATFORM),CHIBIOS)
67 include $(TMK_PATH)/protocol/chibios.mk
68 include $(TMK_PATH)/chibios.mk
69 OPT_OS = chibios
70 ifneq ("$(wildcard $(SUBPROJECT_PATH)/bootloader_defs.h)","")
71 OPT_DEFS += -include $(SUBPROJECT_PATH)/bootloader_defs.h
72 else ifneq ("$(wildcard $(SUBPROJECT_PATH)/boards/$(BOARD)/bootloader_defs.h)","")
73 OPT_DEFS += -include $(SUBPROJECT_PATH)/boards/$(BOARD)/bootloader_defs.h
74 else ifneq ("$(wildcard $(KEYBOARD_PATH)/bootloader_defs.h)","")
75 OPT_DEFS += -include $(KEYBOARD_PATH)/bootloader_defs.h
76 else ifneq ("$(wildcard $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h)","")
77 OPT_DEFS += -include $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h
78 endif
79endif
80
81CONFIG_H = $(KEYBOARD_PATH)/config.h
82ifneq ($(SUBPROJECT),)
83 ifneq ("$(wildcard $(SUBPROJECT_C))","")
84 CONFIG_H = $(SUBPROJECT_PATH)/config.h
85 endif
86endif
87
88# Save the defines and includes here, so we don't include any keymap specific ones
89PROJECT_DEFS := $(OPT_DEFS)
90PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH)
91PROJECT_CONFIG := $(CONFIG_H)
92
93MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP)
94MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c
95SUBPROJ_KEYMAP_PATH := $(SUBPROJECT_PATH)/keymaps/$(KEYMAP)
96SUBPROJ_KEYMAP_C := $(SUBPROJ_KEYMAP_PATH)/keymap.c
97ifneq ("$(wildcard $(SUBPROJ_KEYMAP_C))","")
98 -include $(SUBPROJ_KEYMAP_PATH)/Makefile
99 KEYMAP_C := $(SUBPROJ_KEYMAP_C)
100 KEYMAP_PATH := $(SUBPROJ_KEYMAP_PATH)
101else ifneq ("$(wildcard $(MAIN_KEYMAP_C))","")
102 -include $(MAIN_KEYMAP_PATH)/Makefile
103 KEYMAP_C := $(MAIN_KEYMAP_C)
104 KEYMAP_PATH := $(MAIN_KEYMAP_PATH)
105else
106 $(error "$(MAIN_KEYMAP_C)/keymap.c" does not exist)
107endif
108
109
110# Object files directory
111# To put object files in current directory, use a dot (.), do NOT make
112# this an empty or blank macro!
113KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET)
114
115
116ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
117 CONFIG_H = $(KEYMAP_PATH)/config.h
118endif
119
120# # project specific files
121SRC += $(KEYBOARD_C) \
122 $(KEYMAP_C) \
123 $(QUANTUM_DIR)/quantum.c \
124 $(QUANTUM_DIR)/keymap_common.c \
125 $(QUANTUM_DIR)/keycode_config.c \
126 $(QUANTUM_DIR)/process_keycode/process_leader.c
127
128ifneq ($(SUBPROJECT),)
129 SRC += $(SUBPROJECT_C)
130endif
131
132ifndef CUSTOM_MATRIX
133 SRC += $(QUANTUM_DIR)/matrix.c
134endif
135
136ifeq ($(strip $(MIDI_ENABLE)), yes)
137 OPT_DEFS += -DMIDI_ENABLE
138 SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c
139endif
140
141ifeq ($(strip $(VIRTSER_ENABLE)), yes)
142 OPT_DEFS += -DVIRTSER_ENABLE
143endif
144
145ifeq ($(strip $(AUDIO_ENABLE)), yes)
146 OPT_DEFS += -DAUDIO_ENABLE
147 SRC += $(QUANTUM_DIR)/process_keycode/process_music.c
148 SRC += $(QUANTUM_DIR)/audio/audio.c
149 SRC += $(QUANTUM_DIR)/audio/voices.c
150 SRC += $(QUANTUM_DIR)/audio/luts.c
151endif
152
153ifeq ($(strip $(UNICODE_ENABLE)), yes)
154 OPT_DEFS += -DUNICODE_ENABLE
155 SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
156endif
157
158ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
159 OPT_DEFS += -DRGBLIGHT_ENABLE
160 SRC += $(QUANTUM_DIR)/light_ws2812.c
161 SRC += $(QUANTUM_DIR)/rgblight.c
162endif
163
164ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
165 OPT_DEFS += -DTAP_DANCE_ENABLE
166 SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
167endif
168
169ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes)
170 SERIAL_DIR = $(QUANTUM_DIR)/serial_link
171 SERIAL_PATH = $(QUANTUM_PATH)/serial_link
172 SERIAL_SRC = $(wildcard $(SERIAL_PATH)/protocol/*.c)
173 SERIAL_SRC += $(wildcard $(SERIAL_PATH)/system/*.c)
174 SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC))
175 OPT_DEFS += -DSERIAL_LINK_ENABLE
176 VAPTH += $(SERIAL_PATH)
177endif
178
179# Optimize size but this may cause error "relocation truncated to fit"
180#EXTRALDFLAGS = -Wl,--relax
181
182# Search Path
183VPATH += $(KEYMAP_PATH)
184ifneq ($(SUBPROJECT),)
185 VPATH += $(SUBPROJECT_PATH)
186endif
187VPATH += $(KEYBOARD_PATH)
188VPATH += $(TOP_DIR)
189VPATH += $(TMK_PATH)
190VPATH += $(QUANTUM_PATH)
191VPATH += $(QUANTUM_PATH)/keymap_extras
192VPATH += $(QUANTUM_PATH)/audio
193VPATH += $(QUANTUM_PATH)/process_keycode
194
195
196include $(TMK_PATH)/common.mk
197ifeq ($(PLATFORM),AVR)
198 include $(TMK_PATH)/protocol/lufa.mk
199 include $(TMK_PATH)/avr.mk
200endif
201
202ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
203 VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer
204 VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer
205 include $(VISUALIZER_PATH)/visualizer.mk
206endif
207
208
209OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT)
210$(KEYMAP_OUTPUT)_SRC := $(SRC)
211$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\"
212$(KEYMAP_OUTPUT)_INC := $(EXTRAINCDIRS) $(VPATH)
213$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H)
214$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC)
215$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS)
216$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC)
217$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG)
218
219
220include $(TMK_PATH)/rules.mk
221
diff --git a/keyboards/alps64/Makefile b/keyboards/alps64/Makefile
index d8325e6c8..4e2a6f00f 100644
--- a/keyboards/alps64/Makefile
+++ b/keyboards/alps64/Makefile
@@ -1,70 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# Target file name (without extension).
4
5# project specific files
6SRC = led.c
7
8# MCU name
9MCU = atmega32u2
10
11# Processor frequency.
12# This will define a symbol, F_CPU, in all source code files equal to the
13# processor frequency in Hz. You can then use this symbol in your source code to
14# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
15# automatically to create a 32-bit value in your source code.
16#
17# This will be an integer division of F_USB below, as it is sourced by
18# F_USB after it has run through any CPU prescalers. Note that this value
19# does not *change* the processor frequency - it should merely be updated to
20# reflect the processor speed set externally so that the code can use accurate
21# software delays.
22F_CPU = 16000000
23
24
25#
26# LUFA specific
27#
28# Target architecture (see library "Board Types" documentation).
29ARCH = AVR8
30
31# Input clock frequency.
32# This will define a symbol, F_USB, in all source code files equal to the
33# input clock frequency (before any prescaling is performed) in Hz. This value may
34# differ from F_CPU if prescaling is used on the latter, and is required as the
35# raw input clock is fed directly to the PLL sections of the AVR for high speed
36# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
37# at the end, this will be done automatically to create a 32-bit value in your
38# source code.
39#
40# If no clock division is performed on the input clock inside the AVR (via the
41# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
42F_USB = $(F_CPU)
43
44# Interrupt driven control endpoint task(+60)
45OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
46
47
48# Boot Section Size in *bytes*
49# Teensy halfKay 512
50# Teensy++ halfKay 1024
51# Atmel DFU loader 4096
52# LUFA bootloader 4096
53# USBaspLoader 2048
54OPT_DEFS += -DBOOTLOADER_SIZE=4096
55
56
57# Build Options
58# comment out to disable the options.
59#
60BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
61MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
62EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
63CONSOLE_ENABLE ?= yes # Console for debug(+400)
64COMMAND_ENABLE ?= yes # Commands for debug and configuration
65#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
66#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
67
68ifndef QUANTUM_DIR
69 include ../../Makefile 2 include ../../Makefile
70endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/alps64/rules.mk b/keyboards/alps64/rules.mk
new file mode 100644
index 000000000..c326d3e26
--- /dev/null
+++ b/keyboards/alps64/rules.mk
@@ -0,0 +1,66 @@
1
2
3# Target file name (without extension).
4
5# project specific files
6SRC = led.c
7
8# MCU name
9MCU = atmega32u2
10
11# Processor frequency.
12# This will define a symbol, F_CPU, in all source code files equal to the
13# processor frequency in Hz. You can then use this symbol in your source code to
14# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
15# automatically to create a 32-bit value in your source code.
16#
17# This will be an integer division of F_USB below, as it is sourced by
18# F_USB after it has run through any CPU prescalers. Note that this value
19# does not *change* the processor frequency - it should merely be updated to
20# reflect the processor speed set externally so that the code can use accurate
21# software delays.
22F_CPU = 16000000
23
24
25#
26# LUFA specific
27#
28# Target architecture (see library "Board Types" documentation).
29ARCH = AVR8
30
31# Input clock frequency.
32# This will define a symbol, F_USB, in all source code files equal to the
33# input clock frequency (before any prescaling is performed) in Hz. This value may
34# differ from F_CPU if prescaling is used on the latter, and is required as the
35# raw input clock is fed directly to the PLL sections of the AVR for high speed
36# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
37# at the end, this will be done automatically to create a 32-bit value in your
38# source code.
39#
40# If no clock division is performed on the input clock inside the AVR (via the
41# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
42F_USB = $(F_CPU)
43
44# Interrupt driven control endpoint task(+60)
45OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
46
47
48# Boot Section Size in *bytes*
49# Teensy halfKay 512
50# Teensy++ halfKay 1024
51# Atmel DFU loader 4096
52# LUFA bootloader 4096
53# USBaspLoader 2048
54OPT_DEFS += -DBOOTLOADER_SIZE=4096
55
56
57# Build Options
58# comment out to disable the options.
59#
60BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
61MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
62EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
63CONSOLE_ENABLE ?= yes # Console for debug(+400)
64COMMAND_ENABLE ?= yes # Commands for debug and configuration
65#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
66#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA \ No newline at end of file
diff --git a/keyboards/amj60/Makefile b/keyboards/amj60/Makefile
index 1f695aa4d..4e2a6f00f 100644
--- a/keyboards/amj60/Makefile
+++ b/keyboards/amj60/Makefile
@@ -1,70 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2# MCU name
3#MCU = at90usb1287
4MCU = atmega32u4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51
52# Build Options
53# comment out to disable the options.
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= yes # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61RGBLIGHT_ENABLE ?= yes # Enable keyboard underlight functionality (+4870)
62BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality (+1150)
63MIDI_ENABLE ?= no # MIDI controls
64AUDIO_ENABLE ?= no
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67
68ifndef QUANTUM_DIR
69 include ../../Makefile 2 include ../../Makefile
70endif 3endif \ No newline at end of file
diff --git a/keyboards/amj60/rules.mk b/keyboards/amj60/rules.mk
new file mode 100644
index 000000000..18403ac32
--- /dev/null
+++ b/keyboards/amj60/rules.mk
@@ -0,0 +1,66 @@
1
2# MCU name
3#MCU = at90usb1287
4MCU = atmega32u4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51
52# Build Options
53# comment out to disable the options.
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= yes # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61RGBLIGHT_ENABLE ?= yes # Enable keyboard underlight functionality (+4870)
62BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality (+1150)
63MIDI_ENABLE ?= no # MIDI controls
64AUDIO_ENABLE ?= no
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/arrow_pad/Makefile b/keyboards/arrow_pad/Makefile
index 09fcf3e7a..4e2a6f00f 100644
--- a/keyboards/arrow_pad/Makefile
+++ b/keyboards/arrow_pad/Makefile
@@ -1,74 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=512
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
62# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
63SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
64# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65NKRO_ENABLE ?= yes # USB Nkey Rollover
66BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
67MIDI_ENABLE ?= no # MIDI controls
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70AUDIO_ENABLE ?= no # Audio output on port C6
71
72ifndef QUANTUM_DIR
73 include ../../Makefile 2 include ../../Makefile
74endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/arrow_pad/readme.md b/keyboards/arrow_pad/readme.md
index 5aa44cce5..2e9a64f2e 100644
--- a/keyboards/arrow_pad/readme.md
+++ b/keyboards/arrow_pad/readme.md
@@ -12,13 +12,15 @@ Download or clone the whole firmware and navigate to the keyboards/arrow_pad fol
12Depending on which keymap you would like to use, you will have to compile slightly differently. 12Depending on which keymap you would like to use, you will have to compile slightly differently.
13 13
14### Default 14### Default
15To build with the default keymap, simply run `make`. 15To build with the default keymap, simply run `make default`.
16 16
17### Other Keymaps 17### Other Keymaps
18Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files. 18Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files.
19 19
20To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 20To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
21
21``` 22```
22$ make KEYMAP=[default|jack|<name>] 23$ make [default|jack|<name>]
23``` 24```
25
24Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. \ No newline at end of file 26Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. \ No newline at end of file
diff --git a/keyboards/arrow_pad/rules.mk b/keyboards/arrow_pad/rules.mk
new file mode 100644
index 000000000..3dca9b6ea
--- /dev/null
+++ b/keyboards/arrow_pad/rules.mk
@@ -0,0 +1,70 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=512
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
62# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
63SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
64# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65NKRO_ENABLE ?= yes # USB Nkey Rollover
66BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
67MIDI_ENABLE ?= no # MIDI controls
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70AUDIO_ENABLE ?= no # Audio output on port C6 \ No newline at end of file
diff --git a/keyboards/atomic/Makefile b/keyboards/atomic/Makefile
index 08e9205cb..4e2a6f00f 100644
--- a/keyboards/atomic/Makefile
+++ b/keyboards/atomic/Makefile
@@ -1,73 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51# Build Options
52# change to "no" to disable the options, or define them in the Makefile in
53# the appropriate keymap folder that will get included automatically
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= no # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
62MIDI_ENABLE ?= no # MIDI controls
63AUDIO_ENABLE ?= no # Audio output on port C6
64UNICODE_ENABLE ?= no # Unicode
65BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
66RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
67
68# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
69SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
70
71ifndef QUANTUM_DIR
72 include ../../Makefile 2 include ../../Makefile
73endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/atomic/readme.md b/keyboards/atomic/readme.md
index ab1e7ba1f..674dcf113 100644
--- a/keyboards/atomic/readme.md
+++ b/keyboards/atomic/readme.md
@@ -13,13 +13,14 @@ Download or clone the whole firmware and navigate to the keyboards/atomic folder
13Depending on which keymap you would like to use, you will have to compile slightly differently. 13Depending on which keymap you would like to use, you will have to compile slightly differently.
14 14
15### Default 15### Default
16To build with the default keymap, simply run `make`. 16To build with the default keymap, simply run `make default`.
17 17
18### Other Keymaps 18### Other Keymaps
19Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a file in the keymaps folder named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files. 19Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a file in the keymaps folder named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files.
20 20
21To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 21To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
22
22``` 23```
23$ make KEYMAP=[default|jack|<name>] 24$ make [default|jack|<name>]
24``` 25```
25Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. 26Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/atomic/rules.mk b/keyboards/atomic/rules.mk
new file mode 100644
index 000000000..d0f3a3a1c
--- /dev/null
+++ b/keyboards/atomic/rules.mk
@@ -0,0 +1,69 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51# Build Options
52# change to "no" to disable the options, or define them in the Makefile in
53# the appropriate keymap folder that will get included automatically
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= no # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
62MIDI_ENABLE ?= no # MIDI controls
63AUDIO_ENABLE ?= no # Audio output on port C6
64UNICODE_ENABLE ?= no # Unicode
65BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
66RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
67
68# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
69SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend \ No newline at end of file
diff --git a/keyboards/atreus/Makefile b/keyboards/atreus/Makefile
index 5894d231f..4e2a6f00f 100644
--- a/keyboards/atreus/Makefile
+++ b/keyboards/atreus/Makefile
@@ -1,88 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3ifdef TEENSY2
4 OPT_DEFS += -DATREUS_TEENSY2
5 ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
6else
7 OPT_DEFS += -DATREUS_ASTAR
8 OPT_DEFS += -DCATERINA_BOOTLOADER
9 ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
10 avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
11endif
12
13# MCU name
14#MCU = at90usb1287
15MCU = atmega32u4
16
17# Processor frequency.
18# This will define a symbol, F_CPU, in all source code files equal to the
19# processor frequency in Hz. You can then use this symbol in your source code to
20# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
21# automatically to create a 32-bit value in your source code.
22#
23# This will be an integer division of F_USB below, as it is sourced by
24# F_USB after it has run through any CPU prescalers. Note that this value
25# does not *change* the processor frequency - it should merely be updated to
26# reflect the processor speed set externally so that the code can use accurate
27# software delays.
28F_CPU = 16000000
29
30
31#
32# LUFA specific
33#
34# Target architecture (see library "Board Types" documentation).
35ARCH = AVR8
36
37# Input clock frequency.
38# This will define a symbol, F_USB, in all source code files equal to the
39# input clock frequency (before any prescaling is performed) in Hz. This value may
40# differ from F_CPU if prescaling is used on the latter, and is required as the
41# raw input clock is fed directly to the PLL sections of the AVR for high speed
42# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
43# at the end, this will be done automatically to create a 32-bit value in your
44# source code.
45#
46# If no clock division is performed on the input clock inside the AVR (via the
47# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
48F_USB = $(F_CPU)
49
50# Interrupt driven control endpoint task(+60)
51OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
52
53
54# Boot Section Size in *bytes*
55# Teensy halfKay 512
56# Teensy++ halfKay 1024
57# Atmel DFU loader 4096
58# LUFA bootloader 4096
59# USBaspLoader 2048
60OPT_DEFS += -DBOOTLOADER_SIZE=4096
61
62
63# Build Options
64# comment out to disable the options.
65#
66#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
67MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
68EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
69CONSOLE_ENABLE ?= yes # Console for debug(+400)
70COMMAND_ENABLE ?= yes # Commands for debug and configuration
71# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
72# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
73NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA
74# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
75# MIDI_ENABLE ?= YES # MIDI controls
76UNICODE_ENABLE ?= YES # Unicode
77# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
78
79
80ifndef QUANTUM_DIR
81 include ../../Makefile 2 include ../../Makefile
82endif 3endif \ No newline at end of file
83
84USB ?= /dev/cu.usbmodem1411
85
86upload: build
87 $(ATREUS_UPLOAD_COMMAND)
88
diff --git a/keyboards/atreus/readme.md b/keyboards/atreus/readme.md
index 734f58f0f..a4077668e 100644
--- a/keyboards/atreus/readme.md
+++ b/keyboards/atreus/readme.md
@@ -174,13 +174,14 @@ Download or clone the whole firmware and navigate to the keyboards/planck folder
174Depending on which keymap you would like to use, you will have to compile slightly differently. 174Depending on which keymap you would like to use, you will have to compile slightly differently.
175 175
176### Default 176### Default
177To build with the default keymap, simply run `make`. 177To build with the default keymap, simply run `make default`.
178 178
179### Other Keymaps 179### Other Keymaps
180Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files. 180Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files.
181 181
182To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 182To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
183
183``` 184```
184$ make KEYMAP=[default|jack|<name>] 185$ make [default|jack|<name>]
185``` 186```
186Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. 187Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/atreus/rules.mk b/keyboards/atreus/rules.mk
new file mode 100644
index 000000000..d71f50bb2
--- /dev/null
+++ b/keyboards/atreus/rules.mk
@@ -0,0 +1,82 @@
1
2
3ifdef TEENSY2
4 OPT_DEFS += -DATREUS_TEENSY2
5 ATRUES_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
6else
7 OPT_DEFS += -DATREUS_ASTAR
8 OPT_DEFS += -DCATERINA_BOOTLOADER
9 ATRUES_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
10 avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
11endif
12
13# MCU name
14#MCU = at90usb1287
15MCU = atmega32u4
16
17# Processor frequency.
18# This will define a symbol, F_CPU, in all source code files equal to the
19# processor frequency in Hz. You can then use this symbol in your source code to
20# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
21# automatically to create a 32-bit value in your source code.
22#
23# This will be an integer division of F_USB below, as it is sourced by
24# F_USB after it has run through any CPU prescalers. Note that this value
25# does not *change* the processor frequency - it should merely be updated to
26# reflect the processor speed set externally so that the code can use accurate
27# software delays.
28F_CPU = 16000000
29
30
31#
32# LUFA specific
33#
34# Target architecture (see library "Board Types" documentation).
35ARCH = AVR8
36
37# Input clock frequency.
38# This will define a symbol, F_USB, in all source code files equal to the
39# input clock frequency (before any prescaling is performed) in Hz. This value may
40# differ from F_CPU if prescaling is used on the latter, and is required as the
41# raw input clock is fed directly to the PLL sections of the AVR for high speed
42# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
43# at the end, this will be done automatically to create a 32-bit value in your
44# source code.
45#
46# If no clock division is performed on the input clock inside the AVR (via the
47# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
48F_USB = $(F_CPU)
49
50# Interrupt driven control endpoint task(+60)
51OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
52
53
54# Boot Section Size in *bytes*
55# Teensy halfKay 512
56# Teensy++ halfKay 1024
57# Atmel DFU loader 4096
58# LUFA bootloader 4096
59# USBaspLoader 2048
60OPT_DEFS += -DBOOTLOADER_SIZE=4096
61
62
63# Build Options
64# comment out to disable the options.
65#
66#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
67MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
68EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
69CONSOLE_ENABLE ?= yes # Console for debug(+400)
70COMMAND_ENABLE ?= yes # Commands for debug and configuration
71# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
72# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
73NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA
74# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
75# MIDI_ENABLE ?= YES # MIDI controls
76UNICODE_ENABLE ?= YES # Unicode
77# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
78
79USB ?= /dev/cu.usbmodem1411
80
81upload: build
82 $(ATRUES_UPLOAD_COMMAND) \ No newline at end of file
diff --git a/keyboards/bantam44/Makefile b/keyboards/bantam44/Makefile
index 03893dbf8..4e2a6f00f 100644
--- a/keyboards/bantam44/Makefile
+++ b/keyboards/bantam44/Makefile
@@ -1,72 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=512
51
52
53# Build Options
54# comment out to disable the options.
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
63# NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
65# MIDI_ENABLE ?= YES # MIDI controls
66# UNICODE_ENABLE ?= YES # Unicode
67# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
68
69ifndef QUANTUM_DIR
70 include ../../Makefile 2 include ../../Makefile
71endif 3endif \ No newline at end of file
72
diff --git a/keyboards/bantam44/readme.md b/keyboards/bantam44/readme.md
index 89d7f9d05..462f67c12 100644
--- a/keyboards/bantam44/readme.md
+++ b/keyboards/bantam44/readme.md
@@ -12,13 +12,14 @@ Download or clone the whole firmware and navigate to the keyboards/Bantam44 fold
12Depending on which keymap you would like to use, you will have to compile slightly differently. 12Depending on which keymap you would like to use, you will have to compile slightly differently.
13 13
14### Default 14### Default
15To build with the default keymap, simply run `make`. 15To build with the default keymap, simply run `make default`.
16 16
17### Other Keymaps 17### Other Keymaps
18Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files. 18Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files.
19 19
20To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 20To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
21
21``` 22```
22$ make KEYMAP=[default|jack|<name>] 23$ make [default|jack|<name>]
23``` 24```
24Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. \ No newline at end of file 25Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. \ No newline at end of file
diff --git a/keyboards/bantam44/rules.mk b/keyboards/bantam44/rules.mk
new file mode 100644
index 000000000..baa0e9e7a
--- /dev/null
+++ b/keyboards/bantam44/rules.mk
@@ -0,0 +1,67 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=512
51
52
53# Build Options
54# comment out to disable the options.
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
63# NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
65# MIDI_ENABLE ?= YES # MIDI controls
66# UNICODE_ENABLE ?= YES # Unicode
67# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/chibios_test/Makefile b/keyboards/chibios_test/Makefile
index d9f2b8b83..4b07a6234 100644
--- a/keyboards/chibios_test/Makefile
+++ b/keyboards/chibios_test/Makefile
@@ -1,14 +1,5 @@
1SUBPROJECT_DEFAULT = stm32_f072_onekey 1SUBPROJECT_DEFAULT = stm32_f072_onekey
2 2
3#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration 3ifndef MAKEFILE_INCLUDED
4MOUSEKEY_ENABLE ?= yes # Mouse keys
5EXTRAKEY_ENABLE ?= yes # Audio control and System control
6CONSOLE_ENABLE ?= yes # Console for debug
7COMMAND_ENABLE ?= yes # Commands for debug and configuration
8SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
9NKRO_ENABLE ?= yes # USB Nkey Rollover
10CUSTOM_MATRIX ?= yes # Custom matrix file
11
12ifndef QUANTUM_DIR
13 include ../../Makefile 4 include ../../Makefile
14endif \ No newline at end of file 5endif \ No newline at end of file
diff --git a/keyboards/chibios_test/rules.mk b/keyboards/chibios_test/rules.mk
new file mode 100644
index 000000000..4b5a84535
--- /dev/null
+++ b/keyboards/chibios_test/rules.mk
@@ -0,0 +1,8 @@
1#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
2MOUSEKEY_ENABLE ?= yes # Mouse keys
3EXTRAKEY_ENABLE ?= yes # Audio control and System control
4CONSOLE_ENABLE ?= yes # Console for debug
5COMMAND_ENABLE ?= yes # Commands for debug and configuration
6SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
7NKRO_ENABLE ?= yes # USB Nkey Rollover
8CUSTOM_MATRIX ?= yes # Custom matrix file \ No newline at end of file
diff --git a/keyboards/chibios_test/stm32_f072_onekey/Makefile b/keyboards/chibios_test/stm32_f072_onekey/Makefile
index eae38c4b2..191c6bb66 100644
--- a/keyboards/chibios_test/stm32_f072_onekey/Makefile
+++ b/keyboards/chibios_test/stm32_f072_onekey/Makefile
@@ -1,41 +1,3 @@
1# project specific files 1ifndef MAKEFILE_INCLUDED
2SRC = matrix.c \
3 led.c
4
5## chip/board settings
6# the next two should match the directories in
7# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
8MCU_FAMILY = STM32
9MCU_SERIES = STM32F0xx
10# linker script to use
11# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
12# or <this_dir>/ld/
13MCU_LDSCRIPT = STM32F072xB
14# startup code to use
15# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
16MCU_STARTUP = stm32f0xx
17# it should exist either in <chibios>/os/hal/boards/
18# or <this_dir>/boards
19BOARD = ST_STM32F072B_DISCOVERY
20# Cortex version
21# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
22MCU = cortex-m0
23# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
24ARMV = 6
25# If you want to be able to jump to bootloader from firmware on STM32 MCUs,
26# set the correct BOOTLOADER_ADDRESS. Either set it here, or define it in
27# ./bootloader_defs.h or in ./boards/<FOO>/bootloader_defs.h (if you have
28# a custom board definition that you plan to reuse).
29# If you're not setting it here, leave it commented out.
30# It is chip dependent, the correct number can be looked up here (page 175):
31# http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
32# This also requires a patch to chibios:
33# <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
34#STM32_BOOTLOADER_ADDRESS = 0x1FFFC800
35
36# Build Options
37# comment out to disable the options.
38#
39ifndef QUANTUM_DIR
40 include ../../../Makefile 2 include ../../../Makefile
41endif 3endif \ No newline at end of file
diff --git a/keyboards/chibios_test/stm32_f072_onekey/rules.mk b/keyboards/chibios_test/stm32_f072_onekey/rules.mk
new file mode 100644
index 000000000..eae38c4b2
--- /dev/null
+++ b/keyboards/chibios_test/stm32_f072_onekey/rules.mk
@@ -0,0 +1,41 @@
1# project specific files
2SRC = matrix.c \
3 led.c
4
5## chip/board settings
6# the next two should match the directories in
7# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
8MCU_FAMILY = STM32
9MCU_SERIES = STM32F0xx
10# linker script to use
11# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
12# or <this_dir>/ld/
13MCU_LDSCRIPT = STM32F072xB
14# startup code to use
15# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
16MCU_STARTUP = stm32f0xx
17# it should exist either in <chibios>/os/hal/boards/
18# or <this_dir>/boards
19BOARD = ST_STM32F072B_DISCOVERY
20# Cortex version
21# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
22MCU = cortex-m0
23# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
24ARMV = 6
25# If you want to be able to jump to bootloader from firmware on STM32 MCUs,
26# set the correct BOOTLOADER_ADDRESS. Either set it here, or define it in
27# ./bootloader_defs.h or in ./boards/<FOO>/bootloader_defs.h (if you have
28# a custom board definition that you plan to reuse).
29# If you're not setting it here, leave it commented out.
30# It is chip dependent, the correct number can be looked up here (page 175):
31# http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
32# This also requires a patch to chibios:
33# <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
34#STM32_BOOTLOADER_ADDRESS = 0x1FFFC800
35
36# Build Options
37# comment out to disable the options.
38#
39ifndef QUANTUM_DIR
40 include ../../../Makefile
41endif
diff --git a/keyboards/chibios_test/stm32_f103_onekey/Makefile b/keyboards/chibios_test/stm32_f103_onekey/Makefile
index 307ca5b19..191c6bb66 100644
--- a/keyboards/chibios_test/stm32_f103_onekey/Makefile
+++ b/keyboards/chibios_test/stm32_f103_onekey/Makefile
@@ -1,52 +1,3 @@
1# project specific files 1ifndef MAKEFILE_INCLUDED
2SRC = matrix.c \
3 led.c
4
5# GENERIC STM32F103C8T6 board - stm32duino bootloader
6OPT_DEFS = -DCORTEX_VTOR_INIT=0x2000
7MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
8BOARD = GENERIC_STM32_F103
9
10# GENERIC STM32F103C8T6 board - no bootloader (programmer over serial or SWD)
11# OPT_DEFS =
12# MCU_LDSCRIPT = STM32F103x8
13# BOARD = GENERIC_STM32_F103
14
15# MAPLE MINI
16# OPT_DEFS = -DCORTEX_VTOR_INIT=0x5000
17# MCU_LDSCRIPT = STM32F103xB_maplemini_bootloader
18# BOARD = MAPLEMINI_STM32_F103
19
20## chip/board settings
21# the next two should match the directories in
22# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
23MCU_FAMILY = STM32
24MCU_SERIES = STM32F1xx
25# linker script to use
26# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
27# or <this_dir>/ld/
28# startup code to use
29# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
30MCU_STARTUP = stm32f1xx
31# it should exist either in <chibios>/os/hal/boards/
32# or <this_dir>/boards
33# Cortex version
34# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
35MCU = cortex-m3
36# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
37ARMV = 7
38# If you want to be able to jump to bootloader from firmware on STM32 MCUs,
39# set the correct BOOTLOADER_ADDRESS. Either set it here, or define it in
40# ./bootloader_defs.h or in ./boards/<FOO>/bootloader_defs.h (if you have
41# a custom board definition that you plan to reuse).
42# If you're not setting it here, leave it commented out.
43# It is chip dependent, the correct number can be looked up here (page 175):
44# http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
45# This also requires a patch to chibios:
46# <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
47#STM32_BOOTLOADER_ADDRESS = 0x1FFFC800
48
49
50ifndef QUANTUM_DIR
51 include ../../../Makefile 2 include ../../../Makefile
52endif 3endif \ No newline at end of file
diff --git a/keyboards/chibios_test/stm32_f103_onekey/rules.mk b/keyboards/chibios_test/stm32_f103_onekey/rules.mk
new file mode 100644
index 000000000..307ca5b19
--- /dev/null
+++ b/keyboards/chibios_test/stm32_f103_onekey/rules.mk
@@ -0,0 +1,52 @@
1# project specific files
2SRC = matrix.c \
3 led.c
4
5# GENERIC STM32F103C8T6 board - stm32duino bootloader
6OPT_DEFS = -DCORTEX_VTOR_INIT=0x2000
7MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
8BOARD = GENERIC_STM32_F103
9
10# GENERIC STM32F103C8T6 board - no bootloader (programmer over serial or SWD)
11# OPT_DEFS =
12# MCU_LDSCRIPT = STM32F103x8
13# BOARD = GENERIC_STM32_F103
14
15# MAPLE MINI
16# OPT_DEFS = -DCORTEX_VTOR_INIT=0x5000
17# MCU_LDSCRIPT = STM32F103xB_maplemini_bootloader
18# BOARD = MAPLEMINI_STM32_F103
19
20## chip/board settings
21# the next two should match the directories in
22# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
23MCU_FAMILY = STM32
24MCU_SERIES = STM32F1xx
25# linker script to use
26# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
27# or <this_dir>/ld/
28# startup code to use
29# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
30MCU_STARTUP = stm32f1xx
31# it should exist either in <chibios>/os/hal/boards/
32# or <this_dir>/boards
33# Cortex version
34# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
35MCU = cortex-m3
36# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
37ARMV = 7
38# If you want to be able to jump to bootloader from firmware on STM32 MCUs,
39# set the correct BOOTLOADER_ADDRESS. Either set it here, or define it in
40# ./bootloader_defs.h or in ./boards/<FOO>/bootloader_defs.h (if you have
41# a custom board definition that you plan to reuse).
42# If you're not setting it here, leave it commented out.
43# It is chip dependent, the correct number can be looked up here (page 175):
44# http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
45# This also requires a patch to chibios:
46# <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
47#STM32_BOOTLOADER_ADDRESS = 0x1FFFC800
48
49
50ifndef QUANTUM_DIR
51 include ../../../Makefile
52endif
diff --git a/keyboards/chibios_test/teensy_lc_onekey/Makefile b/keyboards/chibios_test/teensy_lc_onekey/Makefile
index 43ea9d82d..191c6bb66 100644
--- a/keyboards/chibios_test/teensy_lc_onekey/Makefile
+++ b/keyboards/chibios_test/teensy_lc_onekey/Makefile
@@ -1,49 +1,3 @@
1# project specific files 1ifndef MAKEFILE_INCLUDED
2SRC = matrix.c \
3 led.c
4
5## chip/board settings
6# - the next two should match the directories in
7# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
8# - For Teensies, FAMILY = KINETIS and SERIES is either
9# KL2x (LC) or K20x (3.0,3.1,3.2).
10MCU_FAMILY = KINETIS
11MCU_SERIES = KL2x
12
13# Linker script to use
14# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
15# or <this_dir>/ld/
16# - NOTE: a custom ld script is needed for EEPROM on Teensy LC
17# - LDSCRIPT =
18# - MKL26Z64 for Teensy LC
19# - MK20DX128 for Teensy 3.0
20# - MK20DX256 for Teensy 3.1 and 3.2
21MCU_LDSCRIPT = MKL26Z64
22
23# Startup code to use
24# - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
25# - STARTUP =
26# - kl2x for Teensy LC
27# - k20x5 for Teensy 3.0
28# - k20x7 for Teensy 3.1 and 3.2
29MCU_STARTUP = kl2x
30
31# Board: it should exist either in <chibios>/os/hal/boards/
32# or <this_dir>/boards
33# - BOARD =
34# - PJRC_TEENSY_LC for Teensy LC
35# - PJRC_TEENSY_3 for Teensy 3.0
36# - PJRC_TEENSY_3_1 for Teensy 3.1 or 3.2
37BOARD = PJRC_TEENSY_LC
38
39# Cortex version
40# Teensy LC is cortex-m0plus; Teensy 3.x are cortex-m4
41MCU = cortex-m0plus
42
43# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
44# I.e. 6 for Teensy LC; 7 for Teensy 3.x
45ARMV = 6
46
47ifndef QUANTUM_DIR
48 include ../../../Makefile 2 include ../../../Makefile
49endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/chibios_test/teensy_lc_onekey/rules.mk b/keyboards/chibios_test/teensy_lc_onekey/rules.mk
new file mode 100644
index 000000000..43ea9d82d
--- /dev/null
+++ b/keyboards/chibios_test/teensy_lc_onekey/rules.mk
@@ -0,0 +1,49 @@
1# project specific files
2SRC = matrix.c \
3 led.c
4
5## chip/board settings
6# - the next two should match the directories in
7# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
8# - For Teensies, FAMILY = KINETIS and SERIES is either
9# KL2x (LC) or K20x (3.0,3.1,3.2).
10MCU_FAMILY = KINETIS
11MCU_SERIES = KL2x
12
13# Linker script to use
14# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
15# or <this_dir>/ld/
16# - NOTE: a custom ld script is needed for EEPROM on Teensy LC
17# - LDSCRIPT =
18# - MKL26Z64 for Teensy LC
19# - MK20DX128 for Teensy 3.0
20# - MK20DX256 for Teensy 3.1 and 3.2
21MCU_LDSCRIPT = MKL26Z64
22
23# Startup code to use
24# - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
25# - STARTUP =
26# - kl2x for Teensy LC
27# - k20x5 for Teensy 3.0
28# - k20x7 for Teensy 3.1 and 3.2
29MCU_STARTUP = kl2x
30
31# Board: it should exist either in <chibios>/os/hal/boards/
32# or <this_dir>/boards
33# - BOARD =
34# - PJRC_TEENSY_LC for Teensy LC
35# - PJRC_TEENSY_3 for Teensy 3.0
36# - PJRC_TEENSY_3_1 for Teensy 3.1 or 3.2
37BOARD = PJRC_TEENSY_LC
38
39# Cortex version
40# Teensy LC is cortex-m0plus; Teensy 3.x are cortex-m4
41MCU = cortex-m0plus
42
43# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
44# I.e. 6 for Teensy LC; 7 for Teensy 3.x
45ARMV = 6
46
47ifndef QUANTUM_DIR
48 include ../../../Makefile
49endif \ No newline at end of file
diff --git a/keyboards/clueboard/Makefile b/keyboards/clueboard/Makefile
index e6b13f955..b9bada8f8 100644
--- a/keyboards/clueboard/Makefile
+++ b/keyboards/clueboard/Makefile
@@ -1,109 +1,5 @@
1#----------------------------------------------------------------------------
2# On command line:
3#
4# make all = Make software.
5#
6# make clean = Clean out built project files.
7#
8# make coff = Convert ELF to AVR COFF.
9#
10# make extcoff = Convert ELF to AVR Extended COFF.
11#
12# make program = Download the hex file to the device.
13# Please customize your programmer settings(PROGRAM_CMD)
14#
15# make teensy = Download the hex file to the device, using teensy_loader_cli.
16# (must have teensy_loader_cli installed).
17#
18# make dfu = Download the hex file to the device, using dfu-programmer (must
19# have dfu-programmer installed).
20#
21# make flip = Download the hex file to the device, using Atmel FLIP (must
22# have Atmel FLIP installed).
23#
24# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
25# (must have dfu-programmer installed).
26#
27# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
28# (must have Atmel FLIP installed).
29#
30# make debug = Start either simulavr or avarice as specified for debugging,
31# with avr-gdb or avr-insight as the front end for debugging.
32#
33# make filename.s = Just compile filename.c into the assembler code only.
34#
35# make filename.i = Create a preprocessed source file for use in submitting
36# bug reports to the GCC project.
37#
38# To rebuild project do "make clean" then "make all".
39#----------------------------------------------------------------------------
40
41SUBPROJECT_DEFAULT = rev2 1SUBPROJECT_DEFAULT = rev2
42 2
43# MCU name 3ifndef MAKEFILE_INCLUDED
44MCU = atmega32u4
45
46# Processor frequency.
47# This will define a symbol, F_CPU, in all source code files equal to the
48# processor frequency in Hz. You can then use this symbol in your source code to
49# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
50# automatically to create a 32-bit value in your source code.
51#
52# This will be an integer division of F_USB below, as it is sourced by
53# F_USB after it has run through any CPU prescalers. Note that this value
54# does not *change* the processor frequency - it should merely be updated to
55# reflect the processor speed set externally so that the code can use accurate
56# software delays.
57F_CPU = 16000000
58
59
60#
61# LUFA specific
62#
63# Target architecture (see library "Board Types" documentation).
64ARCH = AVR8
65
66# Input clock frequency.
67# This will define a symbol, F_USB, in all source code files equal to the
68# input clock frequency (before any prescaling is performed) in Hz. This value may
69# differ from F_CPU if prescaling is used on the latter, and is required as the
70# raw input clock is fed directly to the PLL sections of the AVR for high speed
71# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
72# at the end, this will be done automatically to create a 32-bit value in your
73# source code.
74#
75# If no clock division is performed on the input clock inside the AVR (via the
76# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
77F_USB = $(F_CPU)
78
79# Interrupt driven control endpoint task(+60)
80OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
81
82
83# Boot Section Size in *bytes*
84# Teensy halfKay 512
85# Teensy++ halfKay 1024
86# Atmel DFU loader 4096
87# LUFA bootloader 4096
88# USBaspLoader 2048
89OPT_DEFS += -DBOOTLOADER_SIZE=4096
90
91
92# Build Options
93# change to no to disable the options.
94#
95BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
96MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
97EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
98CONSOLE_ENABLE ?= yes # Console for debug(+400)
99COMMAND_ENABLE ?= yes # Commands for debug and configuration
100NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
101AUDIO_ENABLE ?= no
102RGBLIGHT_ENABLE ?= no # Enable keyboard underlight functionality
103MIDI_ENABLE ?= no # MIDI controls
104UNICODE_ENABLE ?= no # Unicode
105BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
106
107ifndef QUANTUM_DIR
108 include ../../Makefile 4 include ../../Makefile
109endif 5endif \ No newline at end of file
diff --git a/keyboards/clueboard/readme.md b/keyboards/clueboard/readme.md
index 6c29c09ec..4a76e2908 100644
--- a/keyboards/clueboard/readme.md
+++ b/keyboards/clueboard/readme.md
@@ -31,36 +31,36 @@ If you would like to use one of the alternative keymaps, or create your own, see
31 31
32## Clueboard 1.0 32## Clueboard 1.0
33 33
34If you have a first generation Clueboard (one with a black PCB) you will need to use the revision 1 code. To do so add `SUBPROJECT=rev1` to your make command, like this: 34If you have a first generation Clueboard (one with a black PCB) you will need to use the revision 1 code. To do so add `rev1` to your make command, like this:
35 35
36``` 36```
37$ make SUBPROJECT=rev1 37$ make rev1
38``` 38```
39 39
40And when flashing your keyboard: 40And when flashing your keyboard:
41 41
42``` 42```
43$ make SUBPROJECT=rev1 dfu 43$ make rev1-dfu
44``` 44```
45 45
46If you are flashing an alternative layout to your rev1, include both `SUBPROJECT=rev1` and `KEYMAP=<keymap>` in your command, for example when flashing max: 46If you are flashing an alternative layout to your rev1, include both `rev1` and `<keymap>` in your command, for example when flashing max:
47 47
48``` 48```
49$ make SUBPROJECT=rev1 KEYMAP=max dfu 49$ make rev1-max-dfu
50``` 50```
51 51
52## Alternate Keymaps 52## Alternate Keymaps
53 53
54There are many alternative and user-contributed layouts available in the [keymaps/](keymaps/) directory. To compile and flash an alternative you will want to add `KEYMAP=<keymap>` to your command: 54There are many alternative and user-contributed layouts available in the [keymaps/](keymaps/) directory. To compile and flash an alternative you will want to add `<keymap>` to your command:
55 55
56``` 56```
57$ make KEYMAP=skully 57$ make skully
58``` 58```
59 59
60And when flashing your keyboard, put `KEYMAP=<keymap>` between "make" and "dfu": 60And when flashing your keyboard, put `<keymap>` between "make" and "dfu":
61 61
62``` 62```
63$ make KEYMAP=skully dfu 63$ make skully-dfu
64``` 64```
65 65
66### Notable Layouts 66### Notable Layouts
@@ -76,15 +76,15 @@ These layouts are notable for one reason or another. If you are looking for idea
76There are a lot of possibilities when creating your own keymap, and the primary documentation for doing that is [Customizing Your Keymap](/readme.md##customizing-your-keymap) in the main readme.md. As a way to get started, here is the procedure I recommend: 76There are a lot of possibilities when creating your own keymap, and the primary documentation for doing that is [Customizing Your Keymap](/readme.md##customizing-your-keymap) in the main readme.md. As a way to get started, here is the procedure I recommend:
77 77
78* Copy `[keymaps/default](keymaps/default/)` to `keymaps/<your_layout>`. 78* Copy `[keymaps/default](keymaps/default/)` to `keymaps/<your_layout>`.
79* Compile the firmware (`$ make KEYMAP=<your_layout>`) 79* Compile the firmware (`$ make <your_layout>`)
80* Flash the firmware (`$ make KEYMAP=<your_layout> dfu`) 80* Flash the firmware (`$ make <your_layout>-dfu`)
81* Make sure everything works like the default keyboard 81* Make sure everything works like the default keyboard
82* Modify `keymaps/<your_layout>/readme.md` to tell others about your layout. 82* Modify `keymaps/<your_layout>/readme.md` to tell others about your layout.
83* Modify `keymaps/<your_layout>/keymap.c` to reflect your desired layout. 83* Modify `keymaps/<your_layout>/keymap.c` to reflect your desired layout.
84* Compile your new custom firmware (`$ make KEYMAP=<your_layout>`) 84* Compile your new custom firmware (`$ make <your_layout>`)
85** If you have warnings you may flash without fixing them, but something may not work right. 85** If you have warnings you may flash without fixing them, but something may not work right.
86** If you have any errors you must fix them before continuing. 86** If you have any errors you must fix them before continuing.
87* Flash the firmware (`$ make KEYMAP=<your_layout> dfu`) 87* Flash the firmware (`$ make <your_layout>-dfu`)
88 88
89## Share Your Keymap 89## Share Your Keymap
90 90
diff --git a/keyboards/clueboard/rev1/Makefile b/keyboards/clueboard/rev1/Makefile
index 80a942d06..191c6bb66 100644
--- a/keyboards/clueboard/rev1/Makefile
+++ b/keyboards/clueboard/rev1/Makefile
@@ -1,5 +1,3 @@
1BACKLIGHT_ENABLE = no 1ifndef MAKEFILE_INCLUDED
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile 2 include ../../../Makefile
5endif 3endif \ No newline at end of file
diff --git a/keyboards/clueboard/rev1/rules.mk b/keyboards/clueboard/rev1/rules.mk
new file mode 100644
index 000000000..80a942d06
--- /dev/null
+++ b/keyboards/clueboard/rev1/rules.mk
@@ -0,0 +1,5 @@
1BACKLIGHT_ENABLE = no
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile
5endif
diff --git a/keyboards/clueboard/rev2/Makefile b/keyboards/clueboard/rev2/Makefile
index cea967b79..191c6bb66 100644
--- a/keyboards/clueboard/rev2/Makefile
+++ b/keyboards/clueboard/rev2/Makefile
@@ -1,5 +1,3 @@
1BACKLIGHT_ENABLE = yes 1ifndef MAKEFILE_INCLUDED
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile 2 include ../../../Makefile
5endif 3endif \ No newline at end of file
diff --git a/keyboards/clueboard/rev2/rules.mk b/keyboards/clueboard/rev2/rules.mk
new file mode 100644
index 000000000..cea967b79
--- /dev/null
+++ b/keyboards/clueboard/rev2/rules.mk
@@ -0,0 +1,5 @@
1BACKLIGHT_ENABLE = yes
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile
5endif
diff --git a/keyboards/clueboard/rules.mk b/keyboards/clueboard/rules.mk
new file mode 100644
index 000000000..3909fbd5c
--- /dev/null
+++ b/keyboards/clueboard/rules.mk
@@ -0,0 +1,103 @@
1#----------------------------------------------------------------------------
2# On command line:
3#
4# make all = Make software.
5#
6# make clean = Clean out built project files.
7#
8# make coff = Convert ELF to AVR COFF.
9#
10# make extcoff = Convert ELF to AVR Extended COFF.
11#
12# make program = Download the hex file to the device.
13# Please customize your programmer settings(PROGRAM_CMD)
14#
15# make teensy = Download the hex file to the device, using teensy_loader_cli.
16# (must have teensy_loader_cli installed).
17#
18# make dfu = Download the hex file to the device, using dfu-programmer (must
19# have dfu-programmer installed).
20#
21# make flip = Download the hex file to the device, using Atmel FLIP (must
22# have Atmel FLIP installed).
23#
24# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
25# (must have dfu-programmer installed).
26#
27# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
28# (must have Atmel FLIP installed).
29#
30# make debug = Start either simulavr or avarice as specified for debugging,
31# with avr-gdb or avr-insight as the front end for debugging.
32#
33# make filename.s = Just compile filename.c into the assembler code only.
34#
35# make filename.i = Create a preprocessed source file for use in submitting
36# bug reports to the GCC project.
37#
38# To rebuild project do "make clean" then "make all".
39#----------------------------------------------------------------------------
40
41# MCU name
42MCU = atmega32u4
43
44# Processor frequency.
45# This will define a symbol, F_CPU, in all source code files equal to the
46# processor frequency in Hz. You can then use this symbol in your source code to
47# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
48# automatically to create a 32-bit value in your source code.
49#
50# This will be an integer division of F_USB below, as it is sourced by
51# F_USB after it has run through any CPU prescalers. Note that this value
52# does not *change* the processor frequency - it should merely be updated to
53# reflect the processor speed set externally so that the code can use accurate
54# software delays.
55F_CPU = 16000000
56
57
58#
59# LUFA specific
60#
61# Target architecture (see library "Board Types" documentation).
62ARCH = AVR8
63
64# Input clock frequency.
65# This will define a symbol, F_USB, in all source code files equal to the
66# input clock frequency (before any prescaling is performed) in Hz. This value may
67# differ from F_CPU if prescaling is used on the latter, and is required as the
68# raw input clock is fed directly to the PLL sections of the AVR for high speed
69# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
70# at the end, this will be done automatically to create a 32-bit value in your
71# source code.
72#
73# If no clock division is performed on the input clock inside the AVR (via the
74# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
75F_USB = $(F_CPU)
76
77# Interrupt driven control endpoint task(+60)
78OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
79
80
81# Boot Section Size in *bytes*
82# Teensy halfKay 512
83# Teensy++ halfKay 1024
84# Atmel DFU loader 4096
85# LUFA bootloader 4096
86# USBaspLoader 2048
87OPT_DEFS += -DBOOTLOADER_SIZE=4096
88
89
90# Build Options
91# comment out to disable the options.
92#
93BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
94MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
95EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
96CONSOLE_ENABLE ?= yes # Console for debug(+400)
97COMMAND_ENABLE ?= yes # Commands for debug and configuration
98NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
99AUDIO_ENABLE ?= no
100RGBLIGHT_ENABLE ?= no # Enable keyboard underlight functionality
101MIDI_ENABLE ?= no # MIDI controls
102UNICODE_ENABLE ?= no # Unicode
103BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID \ No newline at end of file
diff --git a/keyboards/cluecard/Makefile b/keyboards/cluecard/Makefile
index 029d0b967..4e2a6f00f 100644
--- a/keyboards/cluecard/Makefile
+++ b/keyboards/cluecard/Makefile
@@ -1,76 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= no # USB Nkey Rollover
65RGBLIGHT_ENABLE ?= yes # Enable keyboard underlight functionality (+4870)
66BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality by default
67MIDI_ENABLE ?= no # MIDI controls
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70AUDIO_ENABLE ?= yes # Audio output on port C6
71
72ifndef QUANTUM_DIR
73 include ../../Makefile 2 include ../../Makefile
74endif 3endif \ No newline at end of file
75
76
diff --git a/keyboards/cluecard/readme.md b/keyboards/cluecard/readme.md
index ae1afbbfd..be13fc017 100644
--- a/keyboards/cluecard/readme.md
+++ b/keyboards/cluecard/readme.md
@@ -13,16 +13,16 @@ Depending on which keymap you would like to use, you will have to compile slight
13 13
14### Default 14### Default
15 15
16To build with the default keymap, simply run `make`. 16To build with the default keymap, simply run `make default`.
17 17
18### Other Keymaps 18### Other Keymaps
19 19
20Several 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. 20Several 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.
21 21
22To build the firmware binary hex file with a keymap just do `make` with `keymap` option like: 22To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
23 23
24``` 24```
25$ make keymap=[default|jack|<name>] 25$ make [default|jack|<name>]
26``` 26```
27 27
28Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` 28Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/`
diff --git a/keyboards/cluecard/rules.mk b/keyboards/cluecard/rules.mk
new file mode 100644
index 000000000..454235877
--- /dev/null
+++ b/keyboards/cluecard/rules.mk
@@ -0,0 +1,70 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= no # USB Nkey Rollover
65RGBLIGHT_ENABLE ?= yes # Enable keyboard underlight functionality (+4870)
66BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality by default
67MIDI_ENABLE ?= no # MIDI controls
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70AUDIO_ENABLE ?= yes # Audio output on port C6
diff --git a/keyboards/cluepad/Makefile b/keyboards/cluepad/Makefile
index a331ff4dc..4e2a6f00f 100644
--- a/keyboards/cluepad/Makefile
+++ b/keyboards/cluepad/Makefile
@@ -1,70 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2# MCU name
3#MCU = at90usb1287
4MCU = atmega32u4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51
52# Build Options
53# comment out to disable the options.
54#
55BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
56# MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57# EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58# CONSOLE_ENABLE ?= yes # Console for debug(+400)
59# COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61BACKLIGHT_ENABLE ?= yes # Enable numpad's backlight functionality
62RGBLIGHT_ENABLE ?= yes
63# MIDI_ENABLE ?= YES # MIDI controls
64# UNICODE_ENABLE ?= YES # Unicode
65# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
66
67
68ifndef QUANTUM_DIR
69 include ../../Makefile 2 include ../../Makefile
70endif 3endif \ No newline at end of file
diff --git a/keyboards/cluepad/rules.mk b/keyboards/cluepad/rules.mk
new file mode 100644
index 000000000..19b16b95a
--- /dev/null
+++ b/keyboards/cluepad/rules.mk
@@ -0,0 +1,65 @@
1
2# MCU name
3#MCU = at90usb1287
4MCU = atmega32u4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51
52# Build Options
53# comment out to disable the options.
54#
55BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
56# MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57# EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58# CONSOLE_ENABLE ?= yes # Console for debug(+400)
59# COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61BACKLIGHT_ENABLE ?= yes # Enable numpad's backlight functionality
62RGBLIGHT_ENABLE ?= yes
63# MIDI_ENABLE ?= YES # MIDI controls
64# UNICODE_ENABLE ?= YES # Unicode
65# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID \ No newline at end of file
diff --git a/keyboards/ergodox/Makefile b/keyboards/ergodox/Makefile
index 05fb588d1..716535005 100644
--- a/keyboards/ergodox/Makefile
+++ b/keyboards/ergodox/Makefile
@@ -1,34 +1,5 @@
1#----------------------------------------------------------------------------
2# On command line:
3#
4# make = Make software.
5#
6# make clean = Clean out built project files.
7#
8# That's pretty much all you need. To compile, always go make clean,
9# followed by make.
10#
11# For advanced users only:
12# make teensy = Download the hex file to the device, using teensy_loader_cli.
13# (must have teensy_loader_cli installed).
14#
15#----------------------------------------------------------------------------
16SUBPROJECT_DEFAULT = ez 1SUBPROJECT_DEFAULT = ez
17 2
18# Build Options 3ifndef MAKEFILE_INCLUDED
19# comment out to disable the options.
20#
21BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
22MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
23EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
24CONSOLE_ENABLE ?= no # Console for debug(+400)
25COMMAND_ENABLE ?= yes # Commands for debug and configuration
26CUSTOM_MATRIX ?= yes # Custom matrix file for the ErgoDox EZ
27SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
28NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
29MIDI_ENABLE ?= no # MIDI controls
30UNICODE_ENABLE ?= yes # Unicode
31
32ifndef QUANTUM_DIR
33 include ../../Makefile 4 include ../../Makefile
34endif 5endif \ No newline at end of file
diff --git a/keyboards/ergodox/ez/Makefile b/keyboards/ergodox/ez/Makefile
index 37e554b30..191c6bb66 100644
--- a/keyboards/ergodox/ez/Makefile
+++ b/keyboards/ergodox/ez/Makefile
@@ -1,76 +1,3 @@
1#---------------------------------------------------------------------------- 1ifndef MAKEFILE_INCLUDED
2# On command line:
3#
4# make = Make software.
5#
6# make clean = Clean out built project files.
7#
8# That's pretty much all you need. To compile, always go make clean,
9# followed by make.
10#
11# For advanced users only:
12# make teensy = Download the hex file to the device, using teensy_loader_cli.
13# (must have teensy_loader_cli installed).
14#
15#----------------------------------------------------------------------------
16
17# # project specific files
18SRC = twimaster.c \
19 matrix.c
20
21# MCU name
22MCU = atmega32u4
23
24# Processor frequency.
25# This will define a symbol, F_CPU, in all source code files equal to the
26# processor frequency in Hz. You can then use this symbol in your source code to
27# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
28# automatically to create a 32-bit value in your source code.
29#
30# This will be an integer division of F_USB below, as it is sourced by
31# F_USB after it has run through any CPU prescalers. Note that this value
32# does not *change* the processor frequency - it should merely be updated to
33# reflect the processor speed set externally so that the code can use accurate
34# software delays.
35F_CPU = 16000000
36
37
38#
39# LUFA specific
40#
41# Target architecture (see library "Board Types" documentation).
42ARCH = AVR8
43
44# Input clock frequency.
45# This will define a symbol, F_USB, in all source code files equal to the
46# input clock frequency (before any prescaling is performed) in Hz. This value may
47# differ from F_CPU if prescaling is used on the latter, and is required as the
48# raw input clock is fed directly to the PLL sections of the AVR for high speed
49# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
50# at the end, this will be done automatically to create a 32-bit value in your
51# source code.
52#
53# If no clock division is performed on the input clock inside the AVR (via the
54# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
55F_USB = $(F_CPU)
56
57# Interrupt driven control endpoint task(+60)
58OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
59
60
61# Boot Section Size in *bytes*
62# Teensy halfKay 512
63# Teensy++ halfKay 1024
64# Atmel DFU loader 4096
65# LUFA bootloader 4096
66# USBaspLoader 2048
67OPT_DEFS += -DBOOTLOADER_SIZE=512
68
69
70# Build Options
71# comment out to disable the options.
72#
73
74ifndef QUANTUM_DIR
75 include ../../../Makefile 2 include ../../../Makefile
76endif 3endif \ No newline at end of file
diff --git a/keyboards/ergodox/ez/rules.mk b/keyboards/ergodox/ez/rules.mk
new file mode 100644
index 000000000..37e554b30
--- /dev/null
+++ b/keyboards/ergodox/ez/rules.mk
@@ -0,0 +1,76 @@
1#----------------------------------------------------------------------------
2# On command line:
3#
4# make = Make software.
5#
6# make clean = Clean out built project files.
7#
8# That's pretty much all you need. To compile, always go make clean,
9# followed by make.
10#
11# For advanced users only:
12# make teensy = Download the hex file to the device, using teensy_loader_cli.
13# (must have teensy_loader_cli installed).
14#
15#----------------------------------------------------------------------------
16
17# # project specific files
18SRC = twimaster.c \
19 matrix.c
20
21# MCU name
22MCU = atmega32u4
23
24# Processor frequency.
25# This will define a symbol, F_CPU, in all source code files equal to the
26# processor frequency in Hz. You can then use this symbol in your source code to
27# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
28# automatically to create a 32-bit value in your source code.
29#
30# This will be an integer division of F_USB below, as it is sourced by
31# F_USB after it has run through any CPU prescalers. Note that this value
32# does not *change* the processor frequency - it should merely be updated to
33# reflect the processor speed set externally so that the code can use accurate
34# software delays.
35F_CPU = 16000000
36
37
38#
39# LUFA specific
40#
41# Target architecture (see library "Board Types" documentation).
42ARCH = AVR8
43
44# Input clock frequency.
45# This will define a symbol, F_USB, in all source code files equal to the
46# input clock frequency (before any prescaling is performed) in Hz. This value may
47# differ from F_CPU if prescaling is used on the latter, and is required as the
48# raw input clock is fed directly to the PLL sections of the AVR for high speed
49# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
50# at the end, this will be done automatically to create a 32-bit value in your
51# source code.
52#
53# If no clock division is performed on the input clock inside the AVR (via the
54# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
55F_USB = $(F_CPU)
56
57# Interrupt driven control endpoint task(+60)
58OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
59
60
61# Boot Section Size in *bytes*
62# Teensy halfKay 512
63# Teensy++ halfKay 1024
64# Atmel DFU loader 4096
65# LUFA bootloader 4096
66# USBaspLoader 2048
67OPT_DEFS += -DBOOTLOADER_SIZE=512
68
69
70# Build Options
71# comment out to disable the options.
72#
73
74ifndef QUANTUM_DIR
75 include ../../../Makefile
76endif
diff --git a/keyboards/ergodox/infinity/Makefile b/keyboards/ergodox/infinity/Makefile
index ccb735a48..191c6bb66 100644
--- a/keyboards/ergodox/infinity/Makefile
+++ b/keyboards/ergodox/infinity/Makefile
@@ -1,77 +1,3 @@
1# project specific files 1ifndef MAKEFILE_INCLUDED
2SRC = matrix.c \
3 led.c
4
5## chip/board settings
6# - the next two should match the directories in
7# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
8# - For Teensies, FAMILY = KINETIS and SERIES is either
9# KL2x (LC) or K20x (3.0,3.1,3.2).
10# - For Infinity KB, SERIES = K20x
11MCU_FAMILY = KINETIS
12MCU_SERIES = K20x
13
14# Linker script to use
15# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
16# or <this_dir>/ld/
17# - NOTE: a custom ld script is needed for EEPROM on Teensy LC
18# - LDSCRIPT =
19# - MKL26Z64 for Teensy LC
20# - MK20DX128 for Teensy 3.0
21# - MK20DX256 for Teensy 3.1 and 3.2
22# - MK20DX128BLDR4 for Infinity 60% with Kiibohd bootloader
23# - MK20DX256BLDR8 for Infinity ErgoDox with Kiibohd bootloader
24MCU_LDSCRIPT = MK20DX256BLDR8
25
26# Startup code to use
27# - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
28# - STARTUP =
29# - kl2x for Teensy LC
30# - k20x5 for Teensy 3.0 and Infinity 60%
31# - k20x7 for Teensy 3.1, 3.2 and Infinity ErgoDox
32MCU_STARTUP = k20x7
33
34# Board: it should exist either in <chibios>/os/hal/boards/
35# or <this_dir>/boards
36# - BOARD =
37# - PJRC_TEENSY_LC for Teensy LC
38# - PJRC_TEENSY_3 for Teensy 3.0
39# - PJRC_TEENSY_3_1 for Teensy 3.1 or 3.2
40# - MCHCK_K20 for Infinity KB
41#BOARD = MCHCK_K20
42BOARD = PJRC_TEENSY_3_1
43
44# Cortex version
45# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
46MCU = cortex-m4
47
48# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
49# I.e. 6 for Teensy LC; 7 for Teensy 3.x
50ARMV = 7
51
52# Vector table for application
53# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
54# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
55OPT_DEFS += -DCORTEX_VTOR_INIT=0x00002000
56
57# Build Options
58# comment out to disable the options.
59#
60CUSTOM_MATRIX ?= yes # Custom matrix file
61SERIAL_LINK_ENABLE = yes
62VISUALIZER_ENABLE ?= no #temporarily disabled to make everything compile
63LCD_ENABLE ?= yes
64LED_ENABLE ?= yes
65LCD_BACKLIGHT_ENABLE ?= yes
66
67ifndef QUANTUM_DIR
68 include ../../../Makefile 2 include ../../../Makefile
69endif 3endif \ No newline at end of file
70
71ifdef LCD_ENABLE
72include $(SUBPROJECT_PATH)/drivers/gdisp/st7565ergodox/driver.mk
73endif
74
75ifdef LED_ENABLE
76include $(SUBPROJECT_PATH)/drivers/gdisp/IS31FL3731C/driver.mk
77endif
diff --git a/keyboards/ergodox/infinity/rules.mk b/keyboards/ergodox/infinity/rules.mk
new file mode 100644
index 000000000..ccb735a48
--- /dev/null
+++ b/keyboards/ergodox/infinity/rules.mk
@@ -0,0 +1,77 @@
1# project specific files
2SRC = matrix.c \
3 led.c
4
5## chip/board settings
6# - the next two should match the directories in
7# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
8# - For Teensies, FAMILY = KINETIS and SERIES is either
9# KL2x (LC) or K20x (3.0,3.1,3.2).
10# - For Infinity KB, SERIES = K20x
11MCU_FAMILY = KINETIS
12MCU_SERIES = K20x
13
14# Linker script to use
15# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
16# or <this_dir>/ld/
17# - NOTE: a custom ld script is needed for EEPROM on Teensy LC
18# - LDSCRIPT =
19# - MKL26Z64 for Teensy LC
20# - MK20DX128 for Teensy 3.0
21# - MK20DX256 for Teensy 3.1 and 3.2
22# - MK20DX128BLDR4 for Infinity 60% with Kiibohd bootloader
23# - MK20DX256BLDR8 for Infinity ErgoDox with Kiibohd bootloader
24MCU_LDSCRIPT = MK20DX256BLDR8
25
26# Startup code to use
27# - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
28# - STARTUP =
29# - kl2x for Teensy LC
30# - k20x5 for Teensy 3.0 and Infinity 60%
31# - k20x7 for Teensy 3.1, 3.2 and Infinity ErgoDox
32MCU_STARTUP = k20x7
33
34# Board: it should exist either in <chibios>/os/hal/boards/
35# or <this_dir>/boards
36# - BOARD =
37# - PJRC_TEENSY_LC for Teensy LC
38# - PJRC_TEENSY_3 for Teensy 3.0
39# - PJRC_TEENSY_3_1 for Teensy 3.1 or 3.2
40# - MCHCK_K20 for Infinity KB
41#BOARD = MCHCK_K20
42BOARD = PJRC_TEENSY_3_1
43
44# Cortex version
45# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
46MCU = cortex-m4
47
48# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
49# I.e. 6 for Teensy LC; 7 for Teensy 3.x
50ARMV = 7
51
52# Vector table for application
53# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
54# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
55OPT_DEFS += -DCORTEX_VTOR_INIT=0x00002000
56
57# Build Options
58# comment out to disable the options.
59#
60CUSTOM_MATRIX ?= yes # Custom matrix file
61SERIAL_LINK_ENABLE = yes
62VISUALIZER_ENABLE ?= no #temporarily disabled to make everything compile
63LCD_ENABLE ?= yes
64LED_ENABLE ?= yes
65LCD_BACKLIGHT_ENABLE ?= yes
66
67ifndef QUANTUM_DIR
68 include ../../../Makefile
69endif
70
71ifdef LCD_ENABLE
72include $(SUBPROJECT_PATH)/drivers/gdisp/st7565ergodox/driver.mk
73endif
74
75ifdef LED_ENABLE
76include $(SUBPROJECT_PATH)/drivers/gdisp/IS31FL3731C/driver.mk
77endif
diff --git a/keyboards/ergodox/readme.md b/keyboards/ergodox/readme.md
index b113ca7dd..3bbe98fd6 100644
--- a/keyboards/ergodox/readme.md
+++ b/keyboards/ergodox/readme.md
@@ -72,9 +72,7 @@ Some distributions provide a binary, maybe called `teensy-loader-cli`).
72 72
73To flash the firmware: 73To flash the firmware:
74 74
75 - Build the firmware with `make keymap=keymapname`, for example `make 75 - Build the firmware with `make keymapname`, for example `make default`
76 keymap=default`
77
78 - This will result in a hex file called `ergodox_ez_keymapname.hex`, e.g. 76 - This will result in a hex file called `ergodox_ez_keymapname.hex`, e.g.
79 `ergodox_ez_default.hex` 77 `ergodox_ez_default.hex`
80 78
@@ -92,21 +90,21 @@ To flash the firmware:
92The Infinity is two completely independent keyboards, and needs to be flashed 90The Infinity is two completely independent keyboards, and needs to be flashed
93for the left and right halves seperately. To flash them: 91for the left and right halves seperately. To flash them:
94 92
95 - Build the firmware with `make keymap=keymapname subproject=infinity` 93 - Build the firmware with `make infinity-keymapname`
96 94
97 - Plug in the left hand keyboard only. 95 - Plug in the left hand keyboard only.
98 96
99 - Press the program button (back of keyboard, above thumb pad). 97 - Press the program button (back of keyboard, above thumb pad).
100 98
101 - Install the firmware with `sudo make dfu-util keymap=keymapname subproject=infinity` 99 - Install the firmware with `sudo make infinity-keymapname-dfu-util`
102 100
103 - Build left hand firmware with `make keymap=keymapname subproject=infinity MASTER=right` 101 - Build left hand firmware with `make infinity-keymapname MASTER=right`
104 102
105 - Plug in the right hand keyboard only. 103 - Plug in the right hand keyboard only.
106 104
107 - Press the program button (back of keyboard, above thumb pad). 105 - Press the program button (back of keyboard, above thumb pad).
108 106
109 - Install the firmware with `sudo make dfu-util keymap=keymapname subproject=infinity MASTER=right` 107 - Install the firmware with `sudo make infinity-keymapname-dfu-util MASTER=right`
110 108
111More information on the Infinity firmware is available in the [TMK/chibios for 109More information on the Infinity firmware is available in the [TMK/chibios for
112Input Club Infinity Ergodox](https://github.com/fredizzimo/infinity_ergodox/blob/master/README.md) 110Input Club Infinity Ergodox](https://github.com/fredizzimo/infinity_ergodox/blob/master/README.md)
diff --git a/keyboards/ergodox/rules.mk b/keyboards/ergodox/rules.mk
new file mode 100644
index 000000000..ac63d4eff
--- /dev/null
+++ b/keyboards/ergodox/rules.mk
@@ -0,0 +1,28 @@
1#----------------------------------------------------------------------------
2# On command line:
3#
4# make = Make software.
5#
6# make clean = Clean out built project files.
7#
8# That's pretty much all you need. To compile, always go make clean,
9# followed by make.
10#
11# For advanced users only:
12# make teensy = Download the hex file to the device, using teensy_loader_cli.
13# (must have teensy_loader_cli installed).
14#
15#----------------------------------------------------------------------------
16# Build Options
17# comment out to disable the options.
18#
19BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
20MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
21EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
22CONSOLE_ENABLE ?= no # Console for debug(+400)
23COMMAND_ENABLE ?= yes # Commands for debug and configuration
24CUSTOM_MATRIX ?= yes # Custom matrix file for the ErgoDox EZ
25SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
26NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
27MIDI_ENABLE ?= no # MIDI controls
28UNICODE_ENABLE ?= yes # Unicode
diff --git a/keyboards/gh60/Makefile b/keyboards/gh60/Makefile
index 075b77256..57b2ef62e 100644
--- a/keyboards/gh60/Makefile
+++ b/keyboards/gh60/Makefile
@@ -1,74 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# comment out to disable the options.
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59# CONSOLE_ENABLE ?= yes # Console for debug(+400)
60# COMMAND_ENABLE ?= yes # Commands for debug and configuration
61KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
62# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
63# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
64NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
66# MIDI_ENABLE ?= YES # MIDI controls
67# UNICODE_ENABLE ?= YES # Unicode
68# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
69
70
71ifndef QUANTUM_DIR
72 include ../../Makefile 2 include ../../Makefile
73endif 3endif
74
diff --git a/keyboards/gh60/readme.md b/keyboards/gh60/readme.md
index ad042483d..8c744bfd3 100644
--- a/keyboards/gh60/readme.md
+++ b/keyboards/gh60/readme.md
@@ -48,13 +48,15 @@ Download or clone the whole firmware and navigate to the keyboards/gh60_rev_c fo
48Depending on which keymap you would like to use, you will have to compile slightly differently. 48Depending on which keymap you would like to use, you will have to compile slightly differently.
49 49
50### Default 50### Default
51To build with the default keymap, simply run `make`. 51To build with the default keymap, simply run `make default`.
52 52
53### Other Keymaps 53### Other Keymaps
54Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files. 54Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files.
55 55
56To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 56To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
57
57``` 58```
58$ make KEYMAP=[default|jack|<name>] 59$ make [default|jack|<name>]
59``` 60```
61
60Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. 62Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/gh60/rules.mk b/keyboards/gh60/rules.mk
new file mode 100644
index 000000000..aba680e45
--- /dev/null
+++ b/keyboards/gh60/rules.mk
@@ -0,0 +1,66 @@
1# MCU name
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18
19#
20# LUFA specific
21#
22# Target architecture (see library "Board Types" documentation).
23ARCH = AVR8
24
25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the
27# input clock frequency (before any prescaling is performed) in Hz. This value may
28# differ from F_CPU if prescaling is used on the latter, and is required as the
29# raw input clock is fed directly to the PLL sections of the AVR for high speed
30# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
31# at the end, this will be done automatically to create a 32-bit value in your
32# source code.
33#
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.
36F_USB = $(F_CPU)
37
38# Interrupt driven control endpoint task(+60)
39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
40
41
42# Boot Section Size in *bytes*
43# Teensy halfKay 512
44# Teensy++ halfKay 1024
45# Atmel DFU loader 4096
46# LUFA bootloader 4096
47# USBaspLoader 2048
48OPT_DEFS += -DBOOTLOADER_SIZE=4096
49
50
51# Build Options
52# comment out to disable the options.
53#
54BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
55MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
56EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
57# CONSOLE_ENABLE ?= yes # Console for debug(+400)
58# COMMAND_ENABLE ?= yes # Commands for debug and configuration
59KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
60# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
61# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
62NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
63# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
64# MIDI_ENABLE ?= YES # MIDI controls
65# UNICODE_ENABLE ?= YES # Unicode
66# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/handwired/CMD60/Makefile b/keyboards/handwired/CMD60/Makefile
index 711759917..191c6bb66 100644
--- a/keyboards/handwired/CMD60/Makefile
+++ b/keyboards/handwired/CMD60/Makefile
@@ -1,73 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2# MCU name
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18
19#
20# LUFA specific
21#
22# Target architecture (see library "Board Types" documentation).
23ARCH = AVR8
24
25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the
27# input clock frequency (before any prescaling is performed) in Hz. This value may
28# differ from F_CPU if prescaling is used on the latter, and is required as the
29# raw input clock is fed directly to the PLL sections of the AVR for high speed
30# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
31# at the end, this will be done automatically to create a 32-bit value in your
32# source code.
33#
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.
36F_USB = $(F_CPU)
37
38# Interrupt driven control endpoint task(+60)
39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
40
41
42# Boot Section Size in *bytes*
43# Teensy halfKay 512
44# Teensy++ halfKay 1024
45# Atmel DFU loader 4096
46# LUFA bootloader 4096
47# USBaspLoader 2048
48OPT_DEFS += -DBOOTLOADER_SIZE=512
49
50
51# Build Options
52# change yes to no to disable
53#
54BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
55MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
56EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
57CONSOLE_ENABLE ?= yes # Console for debug(+400)
58COMMAND_ENABLE ?= yes # Commands for debug and configuration
59# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
60SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
61# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
62NKRO_ENABLE ?= no # USB Nkey Rollover
63BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
64MIDI_ENABLE ?= no # MIDI controls
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67AUDIO_ENABLE ?= no # Audio output on port C6
68
69ifndef QUANTUM_DIR
70 include ../../../Makefile 2 include ../../../Makefile
71endif 3endif \ No newline at end of file
72
73
diff --git a/keyboards/handwired/CMD60/rules.mk b/keyboards/handwired/CMD60/rules.mk
new file mode 100644
index 000000000..711759917
--- /dev/null
+++ b/keyboards/handwired/CMD60/rules.mk
@@ -0,0 +1,73 @@
1
2# MCU name
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18
19#
20# LUFA specific
21#
22# Target architecture (see library "Board Types" documentation).
23ARCH = AVR8
24
25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the
27# input clock frequency (before any prescaling is performed) in Hz. This value may
28# differ from F_CPU if prescaling is used on the latter, and is required as the
29# raw input clock is fed directly to the PLL sections of the AVR for high speed
30# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
31# at the end, this will be done automatically to create a 32-bit value in your
32# source code.
33#
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.
36F_USB = $(F_CPU)
37
38# Interrupt driven control endpoint task(+60)
39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
40
41
42# Boot Section Size in *bytes*
43# Teensy halfKay 512
44# Teensy++ halfKay 1024
45# Atmel DFU loader 4096
46# LUFA bootloader 4096
47# USBaspLoader 2048
48OPT_DEFS += -DBOOTLOADER_SIZE=512
49
50
51# Build Options
52# change yes to no to disable
53#
54BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
55MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
56EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
57CONSOLE_ENABLE ?= yes # Console for debug(+400)
58COMMAND_ENABLE ?= yes # Commands for debug and configuration
59# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
60SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
61# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
62NKRO_ENABLE ?= no # USB Nkey Rollover
63BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
64MIDI_ENABLE ?= no # MIDI controls
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67AUDIO_ENABLE ?= no # Audio output on port C6
68
69ifndef QUANTUM_DIR
70 include ../../../Makefile
71endif
72
73
diff --git a/keyboards/handwired/Makefile b/keyboards/handwired/Makefile
index 57493a47c..4e2a6f00f 100644
--- a/keyboards/handwired/Makefile
+++ b/keyboards/handwired/Makefile
@@ -1,3 +1,3 @@
1ifndef QUANTUM_DIR 1ifndef MAKEFILE_INCLUDED
2 include ../../Makefile 2 include ../../Makefile
3endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/handwired/fivethirteen/Makefile b/keyboards/handwired/fivethirteen/Makefile
index 711759917..191c6bb66 100644
--- a/keyboards/handwired/fivethirteen/Makefile
+++ b/keyboards/handwired/fivethirteen/Makefile
@@ -1,73 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2# MCU name
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18
19#
20# LUFA specific
21#
22# Target architecture (see library "Board Types" documentation).
23ARCH = AVR8
24
25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the
27# input clock frequency (before any prescaling is performed) in Hz. This value may
28# differ from F_CPU if prescaling is used on the latter, and is required as the
29# raw input clock is fed directly to the PLL sections of the AVR for high speed
30# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
31# at the end, this will be done automatically to create a 32-bit value in your
32# source code.
33#
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.
36F_USB = $(F_CPU)
37
38# Interrupt driven control endpoint task(+60)
39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
40
41
42# Boot Section Size in *bytes*
43# Teensy halfKay 512
44# Teensy++ halfKay 1024
45# Atmel DFU loader 4096
46# LUFA bootloader 4096
47# USBaspLoader 2048
48OPT_DEFS += -DBOOTLOADER_SIZE=512
49
50
51# Build Options
52# change yes to no to disable
53#
54BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
55MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
56EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
57CONSOLE_ENABLE ?= yes # Console for debug(+400)
58COMMAND_ENABLE ?= yes # Commands for debug and configuration
59# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
60SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
61# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
62NKRO_ENABLE ?= no # USB Nkey Rollover
63BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
64MIDI_ENABLE ?= no # MIDI controls
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67AUDIO_ENABLE ?= no # Audio output on port C6
68
69ifndef QUANTUM_DIR
70 include ../../../Makefile 2 include ../../../Makefile
71endif 3endif \ No newline at end of file
72
73
diff --git a/keyboards/handwired/fivethirteen/rules.mk b/keyboards/handwired/fivethirteen/rules.mk
new file mode 100644
index 000000000..711759917
--- /dev/null
+++ b/keyboards/handwired/fivethirteen/rules.mk
@@ -0,0 +1,73 @@
1
2# MCU name
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18
19#
20# LUFA specific
21#
22# Target architecture (see library "Board Types" documentation).
23ARCH = AVR8
24
25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the
27# input clock frequency (before any prescaling is performed) in Hz. This value may
28# differ from F_CPU if prescaling is used on the latter, and is required as the
29# raw input clock is fed directly to the PLL sections of the AVR for high speed
30# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
31# at the end, this will be done automatically to create a 32-bit value in your
32# source code.
33#
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.
36F_USB = $(F_CPU)
37
38# Interrupt driven control endpoint task(+60)
39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
40
41
42# Boot Section Size in *bytes*
43# Teensy halfKay 512
44# Teensy++ halfKay 1024
45# Atmel DFU loader 4096
46# LUFA bootloader 4096
47# USBaspLoader 2048
48OPT_DEFS += -DBOOTLOADER_SIZE=512
49
50
51# Build Options
52# change yes to no to disable
53#
54BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
55MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
56EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
57CONSOLE_ENABLE ?= yes # Console for debug(+400)
58COMMAND_ENABLE ?= yes # Commands for debug and configuration
59# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
60SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
61# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
62NKRO_ENABLE ?= no # USB Nkey Rollover
63BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
64MIDI_ENABLE ?= no # MIDI controls
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67AUDIO_ENABLE ?= no # Audio output on port C6
68
69ifndef QUANTUM_DIR
70 include ../../../Makefile
71endif
72
73
diff --git a/keyboards/handwired/minorca/Makefile b/keyboards/handwired/minorca/Makefile
index 155c1f9a2..191c6bb66 100644
--- a/keyboards/handwired/minorca/Makefile
+++ b/keyboards/handwired/minorca/Makefile
@@ -1,71 +1,3 @@
1# MCU name 1ifndef MAKEFILE_INCLUDED
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18#
19# LUFA specific
20#
21# Target architecture (see library "Board Types" documentation).
22ARCH = AVR8
23
24# Input clock frequency.
25# This will define a symbol, F_USB, in all source code files equal to the
26# input clock frequency (before any prescaling is performed) in Hz. This value may
27# differ from F_CPU if prescaling is used on the latter, and is required as the
28# raw input clock is fed directly to the PLL sections of the AVR for high speed
29# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
30# at the end, this will be done automatically to create a 32-bit value in your
31# source code.
32#
33# If no clock division is performed on the input clock inside the AVR (via the
34# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
35F_USB = $(F_CPU)
36
37# Interrupt driven control endpoint task(+60)
38OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
39
40
41# Boot Section Size in *bytes*
42# Teensy halfKay 512
43# Teensy++ halfKay 1024
44# Atmel DFU loader 4096
45# LUFA bootloader 4096
46# USBaspLoader 2048
47OPT_DEFS += -DBOOTLOADER_SIZE=512
48
49# Build Options
50# change to "no" to disable the options, or define them in the Makefile in
51# the appropriate keymap folder that will get included automatically
52#
53BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
54MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
55EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
56CONSOLE_ENABLE ?= no # Console for debug(+400)
57COMMAND_ENABLE ?= yes # Commands for debug and configuration
58NKRO_ENABLE ?= yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
59BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
60MIDI_ENABLE ?= no # MIDI controls
61AUDIO_ENABLE ?= no # Audio output on port C6
62UNICODE_ENABLE ?= no # Unicode
63BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
64RGBLIGHT_ENABLE ?= yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
65
66# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
67SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
68
69ifndef QUANTUM_DIR
70 include ../../../Makefile 2 include ../../../Makefile
71endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/handwired/minorca/rules.mk b/keyboards/handwired/minorca/rules.mk
new file mode 100644
index 000000000..c51371a78
--- /dev/null
+++ b/keyboards/handwired/minorca/rules.mk
@@ -0,0 +1,67 @@
1# MCU name
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18#
19# LUFA specific
20#
21# Target architecture (see library "Board Types" documentation).
22ARCH = AVR8
23
24# Input clock frequency.
25# This will define a symbol, F_USB, in all source code files equal to the
26# input clock frequency (before any prescaling is performed) in Hz. This value may
27# differ from F_CPU if prescaling is used on the latter, and is required as the
28# raw input clock is fed directly to the PLL sections of the AVR for high speed
29# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
30# at the end, this will be done automatically to create a 32-bit value in your
31# source code.
32#
33# If no clock division is performed on the input clock inside the AVR (via the
34# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
35F_USB = $(F_CPU)
36
37# Interrupt driven control endpoint task(+60)
38OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
39
40
41# Boot Section Size in *bytes*
42# Teensy halfKay 512
43# Teensy++ halfKay 1024
44# Atmel DFU loader 4096
45# LUFA bootloader 4096
46# USBaspLoader 2048
47OPT_DEFS += -DBOOTLOADER_SIZE=512
48
49# Build Options
50# change to "no" to disable the options, or define them in the Makefile in
51# the appropriate keymap folder that will get included automatically
52#
53BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
54MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
55EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
56CONSOLE_ENABLE ?= no # Console for debug(+400)
57COMMAND_ENABLE ?= yes # Commands for debug and configuration
58NKRO_ENABLE ?= yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
59BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
60MIDI_ENABLE ?= no # MIDI controls
61AUDIO_ENABLE ?= no # Audio output on port C6
62UNICODE_ENABLE ?= no # Unicode
63BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
64RGBLIGHT_ENABLE ?= yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
65
66# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
67SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend \ No newline at end of file
diff --git a/keyboards/handwired/onekey/Makefile b/keyboards/handwired/onekey/Makefile
index c6d10856a..191c6bb66 100644
--- a/keyboards/handwired/onekey/Makefile
+++ b/keyboards/handwired/onekey/Makefile
@@ -1,65 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4MCU = atmega32u4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51
52# Build Options
53# comment out to disable the options.
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= yes # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
61#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
62
63ifndef QUANTUM_DIR
64 include ../../../Makefile 2 include ../../../Makefile
65endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/handwired/onekey/rules.mk b/keyboards/handwired/onekey/rules.mk
new file mode 100644
index 000000000..c6d10856a
--- /dev/null
+++ b/keyboards/handwired/onekey/rules.mk
@@ -0,0 +1,65 @@
1
2
3# MCU name
4MCU = atmega32u4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51
52# Build Options
53# comment out to disable the options.
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= yes # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
61#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
62
63ifndef QUANTUM_DIR
64 include ../../../Makefile
65endif \ No newline at end of file
diff --git a/keyboards/handwired/rules.mk b/keyboards/handwired/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/handwired/rules.mk
diff --git a/keyboards/handwired/traveller/Makefile b/keyboards/handwired/traveller/Makefile
index 12a4b71f4..191c6bb66 100644
--- a/keyboards/handwired/traveller/Makefile
+++ b/keyboards/handwired/traveller/Makefile
@@ -1,89 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18# for avr upload
19USB ?= /dev/cu.usbmodem1421
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39
40ifdef TEENSY2
41 OPT_DEFS += -DATREUS_TEENSY2
42 ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
43else
44 OPT_DEFS += -DATREUS_ASTAR
45 OPT_DEFS += -DCATERINA_BOOTLOADER
46 ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
47 avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
48endif
49# Interrupt driven control endpoint task(+60)
50OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
51
52
53# MCU name
54
55# Boot Section Size in *bytes*
56# Teensy halfKay 512
57# Teensy++ halfKay 1024
58# Atmel DFU loader 4096
59# LUFA bootloader 4096
60# USBaspLoader 2048
61OPT_DEFS += -DBOOTLOADER_SIZE=4096
62
63
64# Build Options
65# change yes to no to disable
66#
67BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
68MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
69EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
70CONSOLE_ENABLE ?= no # Console for debug(+400)
71COMMAND_ENABLE ?= no # Commands for debug and configuration
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
74# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
75NKRO_ENABLE ?= no # USB Nkey Rollover
76BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
77MIDI_ENABLE ?= no # MIDI controls
78UNICODE_ENABLE ?= no # Unicode
79BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
80AUDIO_ENABLE ?= no # Audio output on port C6
81RGBLIGHT_ENABLE = yes
82
83ifndef QUANTUM_DIR
84 include ../../../Makefile 2 include ../../../Makefile
85endif 3endif \ No newline at end of file
86
87upload: build
88 $(ATREUS_UPLOAD_COMMAND)
89
diff --git a/keyboards/handwired/traveller/rules.mk b/keyboards/handwired/traveller/rules.mk
new file mode 100644
index 000000000..12a4b71f4
--- /dev/null
+++ b/keyboards/handwired/traveller/rules.mk
@@ -0,0 +1,89 @@
1
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18# for avr upload
19USB ?= /dev/cu.usbmodem1421
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39
40ifdef TEENSY2
41 OPT_DEFS += -DATREUS_TEENSY2
42 ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
43else
44 OPT_DEFS += -DATREUS_ASTAR
45 OPT_DEFS += -DCATERINA_BOOTLOADER
46 ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
47 avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
48endif
49# Interrupt driven control endpoint task(+60)
50OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
51
52
53# MCU name
54
55# Boot Section Size in *bytes*
56# Teensy halfKay 512
57# Teensy++ halfKay 1024
58# Atmel DFU loader 4096
59# LUFA bootloader 4096
60# USBaspLoader 2048
61OPT_DEFS += -DBOOTLOADER_SIZE=4096
62
63
64# Build Options
65# change yes to no to disable
66#
67BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
68MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
69EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
70CONSOLE_ENABLE ?= no # Console for debug(+400)
71COMMAND_ENABLE ?= no # Commands for debug and configuration
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
74# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
75NKRO_ENABLE ?= no # USB Nkey Rollover
76BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
77MIDI_ENABLE ?= no # MIDI controls
78UNICODE_ENABLE ?= no # Unicode
79BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
80AUDIO_ENABLE ?= no # Audio output on port C6
81RGBLIGHT_ENABLE = yes
82
83ifndef QUANTUM_DIR
84 include ../../../Makefile
85endif
86
87upload: build
88 $(ATREUS_UPLOAD_COMMAND)
89
diff --git a/keyboards/hhkb/Makefile b/keyboards/hhkb/Makefile
index 6fe973e1e..4e2a6f00f 100644
--- a/keyboards/hhkb/Makefile
+++ b/keyboards/hhkb/Makefile
@@ -1,90 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# project specific files
4SRC = matrix.c
5
6# MCU name
7#MCU = at90usb1287
8MCU = atmega32u4
9
10# Processor frequency.
11# This will define a symbol, F_CPU, in all source code files equal to the
12# processor frequency in Hz. You can then use this symbol in your source code to
13# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
14# automatically to create a 32-bit value in your source code.
15#
16# This will be an integer division of F_USB below, as it is sourced by
17# F_USB after it has run through any CPU prescalers. Note that this value
18# does not *change* the processor frequency - it should merely be updated to
19# reflect the processor speed set externally so that the code can use accurate
20# software delays.
21F_CPU = 16000000
22
23
24#
25# LUFA specific
26#
27# Target architecture (see library "Board Types" documentation).
28ARCH = AVR8
29
30# Input clock frequency.
31# This will define a symbol, F_USB, in all source code files equal to the
32# input clock frequency (before any prescaling is performed) in Hz. This value may
33# differ from F_CPU if prescaling is used on the latter, and is required as the
34# raw input clock is fed directly to the PLL sections of the AVR for high speed
35# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
36# at the end, this will be done automatically to create a 32-bit value in your
37# source code.
38#
39# If no clock division is performed on the input clock inside the AVR (via the
40# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
41F_USB = $(F_CPU)
42
43# Interrupt driven control endpoint task(+60)
44OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
45
46
47# Boot Section Size in *bytes*
48# Teensy halfKay 512
49# Teensy++ halfKay 1024
50# Atmel DFU loader 4096
51# LUFA bootloader 4096
52# USBaspLoader 2048
53#OPT_DEFS += -DBOOTLOADER_SIZE=4096
54
55# as per original hasu settings
56OPT_DEFS += -DBOOTLOADER_SIZE=512
57
58# Build Options
59# comment out to disable the options.
60#
61BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
62MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
63EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
64CONSOLE_ENABLE ?= yes # Console for debug(+400)
65COMMAND_ENABLE ?= yes # Commands for debug and configuration
66CUSTOM_MATRIX ?= yes # Custom matrix file for the HHKB
67# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
68# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
69# NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
70# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
71# MIDI_ENABLE ?= YES # MIDI controls
72# UNICODE_ENABLE ?= YES # Unicode
73# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
74
75
76
77ifndef QUANTUM_DIR
78 include ../../Makefile 2 include ../../Makefile
79endif 3endif \ No newline at end of file
80
81ifneq (, $(findstring yes, $(HHKB_JP)))
82 OPT_DEFS += -DHHKB_JP
83endif
84
85debug-on: EXTRAFLAGS += -DDEBUG -DDEBUG_ACTION
86debug-on: all
87
88debug-off: EXTRAFLAGS += -DNO_DEBUG -DNO_PRINT
89debug-off: OPT_DEFS := $(filter-out -DCONSOLE_ENABLE,$(OPT_DEFS))
90debug-off: all
diff --git a/keyboards/hhkb/readme.md b/keyboards/hhkb/readme.md
index 39d49b32a..367c0a08f 100644
--- a/keyboards/hhkb/readme.md
+++ b/keyboards/hhkb/readme.md
@@ -168,13 +168,15 @@ Download or clone the whole firmware and navigate to the keyboards/planck folder
168Depending on which keymap you would like to use, you will have to compile slightly differently. 168Depending on which keymap you would like to use, you will have to compile slightly differently.
169 169
170### Default 170### Default
171To build with the default keymap, simply run `make`. 171To build with the default keymap, simply run `make default`.
172 172
173### Other Keymaps 173### Other Keymaps
174Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a file in the keymaps folder named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files. 174Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a file in the keymaps folder named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files.
175 175
176To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 176To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
177
177``` 178```
178$ make KEYMAP=[default|jack|<name>] 179$ make [default|jack|<name>]
179``` 180```
181
180Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. 182Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/hhkb/rules.mk b/keyboards/hhkb/rules.mk
new file mode 100644
index 000000000..b43b5e23f
--- /dev/null
+++ b/keyboards/hhkb/rules.mk
@@ -0,0 +1,84 @@
1
2
3# project specific files
4SRC = matrix.c
5
6# MCU name
7#MCU = at90usb1287
8MCU = atmega32u4
9
10# Processor frequency.
11# This will define a symbol, F_CPU, in all source code files equal to the
12# processor frequency in Hz. You can then use this symbol in your source code to
13# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
14# automatically to create a 32-bit value in your source code.
15#
16# This will be an integer division of F_USB below, as it is sourced by
17# F_USB after it has run through any CPU prescalers. Note that this value
18# does not *change* the processor frequency - it should merely be updated to
19# reflect the processor speed set externally so that the code can use accurate
20# software delays.
21F_CPU = 16000000
22
23
24#
25# LUFA specific
26#
27# Target architecture (see library "Board Types" documentation).
28ARCH = AVR8
29
30# Input clock frequency.
31# This will define a symbol, F_USB, in all source code files equal to the
32# input clock frequency (before any prescaling is performed) in Hz. This value may
33# differ from F_CPU if prescaling is used on the latter, and is required as the
34# raw input clock is fed directly to the PLL sections of the AVR for high speed
35# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
36# at the end, this will be done automatically to create a 32-bit value in your
37# source code.
38#
39# If no clock division is performed on the input clock inside the AVR (via the
40# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
41F_USB = $(F_CPU)
42
43# Interrupt driven control endpoint task(+60)
44OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
45
46
47# Boot Section Size in *bytes*
48# Teensy halfKay 512
49# Teensy++ halfKay 1024
50# Atmel DFU loader 4096
51# LUFA bootloader 4096
52# USBaspLoader 2048
53#OPT_DEFS += -DBOOTLOADER_SIZE=4096
54
55# as per original hasu settings
56OPT_DEFS += -DBOOTLOADER_SIZE=512
57
58# Build Options
59# comment out to disable the options.
60#
61BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
62MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
63EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
64CONSOLE_ENABLE ?= yes # Console for debug(+400)
65COMMAND_ENABLE ?= yes # Commands for debug and configuration
66CUSTOM_MATRIX ?= yes # Custom matrix file for the HHKB
67# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
68# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
69# NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
70# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
71# MIDI_ENABLE ?= YES # MIDI controls
72# UNICODE_ENABLE ?= YES # Unicode
73# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
74
75ifneq (, $(findstring yes, $(HHKB_JP)))
76 OPT_DEFS += -DHHKB_JP
77endif
78
79debug-on: EXTRAFLAGS += -DDEBUG -DDEBUG_ACTION
80debug-on: all
81
82debug-off: EXTRAFLAGS += -DNO_DEBUG -DNO_PRINT
83debug-off: OPT_DEFS := $(filter-out -DCONSOLE_ENABLE,$(OPT_DEFS))
84debug-off: all
diff --git a/keyboards/infinity_chibios/Makefile b/keyboards/infinity_chibios/Makefile
index 649b43e64..4e2a6f00f 100644
--- a/keyboards/infinity_chibios/Makefile
+++ b/keyboards/infinity_chibios/Makefile
@@ -1,70 +1,3 @@
1# project specific files 1ifndef MAKEFILE_INCLUDED
2SRC = matrix.c \
3 led.c
4
5## chip/board settings
6# - the next two should match the directories in
7# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
8# - For Teensies, FAMILY = KINETIS and SERIES is either
9# KL2x (LC) or K20x (3.0,3.1,3.2).
10# - For Infinity KB, SERIES = K20x
11MCU_FAMILY = KINETIS
12MCU_SERIES = K20x
13
14# Linker script to use
15# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
16# or <this_dir>/ld/
17# - NOTE: a custom ld script is needed for EEPROM on Teensy LC
18# - LDSCRIPT =
19# - MKL26Z64 for Teensy LC
20# - MK20DX128 for Teensy 3.0
21# - MK20DX256 for Teensy 3.1 and 3.2
22# - MK20DX128BLDR4 for Infinity with Kiibohd bootloader
23MCU_LDSCRIPT = MK20DX128BLDR4
24
25# Startup code to use
26# - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
27# - STARTUP =
28# - kl2x for Teensy LC
29# - k20x5 for Teensy 3.0 and Infinity KB
30# - k20x7 for Teensy 3.1 and 3.2
31MCU_STARTUP = k20x5
32
33# Board: it should exist either in <chibios>/os/hal/boards/
34# or <this_dir>/boards
35# - BOARD =
36# - PJRC_TEENSY_LC for Teensy LC
37# - PJRC_TEENSY_3 for Teensy 3.0
38# - PJRC_TEENSY_3_1 for Teensy 3.1 or 3.2
39# - MCHCK_K20 for Infinity KB
40BOARD = MCHCK_K20
41
42# Cortex version
43# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
44MCU = cortex-m4
45
46# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
47# I.e. 6 for Teensy LC; 7 for Teensy 3.x
48ARMV = 7
49
50# Vector table for application
51# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
52# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
53OPT_DEFS = -DCORTEX_VTOR_INIT=0x00001000
54
55# Build Options
56# comment out to disable the options.
57#
58BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration
59## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
60MOUSEKEY_ENABLE ?= yes # Mouse keys
61EXTRAKEY_ENABLE ?= yes # Audio control and System control
62CONSOLE_ENABLE ?= yes # Console for debug
63COMMAND_ENABLE ?= yes # Commands for debug and configuration
64SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
65NKRO_ENABLE ?= yes # USB Nkey Rollover
66CUSTOM_MATRIX ?= yes # Custom matrix file
67
68ifndef QUANTUM_DIR
69 include ../../Makefile 2 include ../../Makefile
70endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/infinity_chibios/rules.mk b/keyboards/infinity_chibios/rules.mk
new file mode 100644
index 000000000..56d6470b5
--- /dev/null
+++ b/keyboards/infinity_chibios/rules.mk
@@ -0,0 +1,66 @@
1# project specific files
2SRC = matrix.c \
3 led.c
4
5## chip/board settings
6# - the next two should match the directories in
7# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
8# - For Teensies, FAMILY = KINETIS and SERIES is either
9# KL2x (LC) or K20x (3.0,3.1,3.2).
10# - For Infinity KB, SERIES = K20x
11MCU_FAMILY = KINETIS
12MCU_SERIES = K20x
13
14# Linker script to use
15# - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
16# or <this_dir>/ld/
17# - NOTE: a custom ld script is needed for EEPROM on Teensy LC
18# - LDSCRIPT =
19# - MKL26Z64 for Teensy LC
20# - MK20DX128 for Teensy 3.0
21# - MK20DX256 for Teensy 3.1 and 3.2
22# - MK20DX128BLDR4 for Infinity with Kiibohd bootloader
23MCU_LDSCRIPT = MK20DX128BLDR4
24
25# Startup code to use
26# - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
27# - STARTUP =
28# - kl2x for Teensy LC
29# - k20x5 for Teensy 3.0 and Infinity KB
30# - k20x7 for Teensy 3.1 and 3.2
31MCU_STARTUP = k20x5
32
33# Board: it should exist either in <chibios>/os/hal/boards/
34# or <this_dir>/boards
35# - BOARD =
36# - PJRC_TEENSY_LC for Teensy LC
37# - PJRC_TEENSY_3 for Teensy 3.0
38# - PJRC_TEENSY_3_1 for Teensy 3.1 or 3.2
39# - MCHCK_K20 for Infinity KB
40BOARD = MCHCK_K20
41
42# Cortex version
43# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
44MCU = cortex-m4
45
46# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
47# I.e. 6 for Teensy LC; 7 for Teensy 3.x
48ARMV = 7
49
50# Vector table for application
51# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
52# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
53OPT_DEFS = -DCORTEX_VTOR_INIT=0x00001000
54
55# Build Options
56# comment out to disable the options.
57#
58BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration
59## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
60MOUSEKEY_ENABLE ?= yes # Mouse keys
61EXTRAKEY_ENABLE ?= yes # Audio control and System control
62CONSOLE_ENABLE ?= yes # Console for debug
63COMMAND_ENABLE ?= yes # Commands for debug and configuration
64SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
65NKRO_ENABLE ?= yes # USB Nkey Rollover
66CUSTOM_MATRIX ?= yes # Custom matrix file \ No newline at end of file
diff --git a/keyboards/jd45/Makefile b/keyboards/jd45/Makefile
index 75d544f16..4e2a6f00f 100644
--- a/keyboards/jd45/Makefile
+++ b/keyboards/jd45/Makefile
@@ -1,71 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# comment out to disable the options.
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
63# NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA
64BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
65MIDI_ENABLE ?= YES # MIDI controls
66# UNICODE_ENABLE ?= YES # Unicode
67BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
68
69ifndef QUANTUM_DIR
70 include ../../Makefile 2 include ../../Makefile
71endif 3endif \ No newline at end of file
diff --git a/keyboards/jd45/rules.mk b/keyboards/jd45/rules.mk
new file mode 100644
index 000000000..2f1e266a1
--- /dev/null
+++ b/keyboards/jd45/rules.mk
@@ -0,0 +1,67 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# comment out to disable the options.
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
63# NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA
64BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
65MIDI_ENABLE ?= YES # MIDI controls
66# UNICODE_ENABLE ?= YES # Unicode
67BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID \ No newline at end of file
diff --git a/keyboards/kc60/Makefile b/keyboards/kc60/Makefile
index 0d17d32da..57b2ef62e 100644
--- a/keyboards/kc60/Makefile
+++ b/keyboards/kc60/Makefile
@@ -1,77 +1,3 @@
1# project specific files 1ifndef MAKEFILE_INCLUDED
2SRC = led.c
3
4# MCU name
5#MCU = at90usb1287
6MCU = atmega32u4
7
8# Processor frequency.
9# This will define a symbol, F_CPU, in all source code files equal to the
10# processor frequency in Hz. You can then use this symbol in your source code to
11# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
12# automatically to create a 32-bit value in your source code.
13#
14# This will be an integer division of F_USB below, as it is sourced by
15# F_USB after it has run through any CPU prescalers. Note that this value
16# does not *change* the processor frequency - it should merely be updated to
17# reflect the processor speed set externally so that the code can use accurate
18# software delays.
19F_CPU = 16000000
20
21
22#
23# LUFA specific
24#
25# Target architecture (see library "Board Types" documentation).
26ARCH = AVR8
27
28# Input clock frequency.
29# This will define a symbol, F_USB, in all source code files equal to the
30# input clock frequency (before any prescaling is performed) in Hz. This value may
31# differ from F_CPU if prescaling is used on the latter, and is required as the
32# raw input clock is fed directly to the PLL sections of the AVR for high speed
33# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
34# at the end, this will be done automatically to create a 32-bit value in your
35# source code.
36#
37# If no clock division is performed on the input clock inside the AVR (via the
38# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
39F_USB = $(F_CPU)
40
41# Interrupt driven control endpoint task(+60)
42OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
43
44
45# Boot Section Size in *bytes*
46# Teensy halfKay 512
47# Teensy++ halfKay 1024
48# Atmel DFU loader 4096
49# LUFA bootloader 4096
50# USBaspLoader 2048
51OPT_DEFS += -DBOOTLOADER_SIZE=4096
52
53
54# Build Options
55# change yes to no to disable
56#
57BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
58MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
59EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
60CONSOLE_ENABLE ?= yes # Console for debug(+400)
61COMMAND_ENABLE ?= yes # Commands for debug and configuration
62KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
63# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
64SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
65# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
66NKRO_ENABLE ?= no # USB Nkey Rollover
67BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
68MIDI_ENABLE ?= no # MIDI controls
69UNICODE_ENABLE ?= no # Unicode
70BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
71AUDIO_ENABLE ?= no # Audio output on port C6
72
73
74ifndef QUANTUM_DIR
75 include ../../Makefile 2 include ../../Makefile
76endif 3endif
77
diff --git a/keyboards/kc60/readme.md b/keyboards/kc60/readme.md
index b29c6be30..da84f6159 100644
--- a/keyboards/kc60/readme.md
+++ b/keyboards/kc60/readme.md
@@ -10,25 +10,27 @@ Download or clone the whole firmware and navigate to the keyboards/kc60 folder.
10Depending on which keymap you would like to use, you will have to compile slightly differently. 10Depending on which keymap you would like to use, you will have to compile slightly differently.
11 11
12### Default 12### Default
13To build with the default keymap, simply run `make`. 13To build with the default keymap, simply run `make default`.
14 14
15### Other Keymaps 15### Other Keymaps
16Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files. 16Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files.
17 17
18To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 18To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
19
19``` 20```
20$ make KEYMAP=[default|jack|<name>] 21$ make [default|jack|<name>]
21``` 22```
23
22Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. 24Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
23 25
24## WS2812 Support 26## WS2812 Support
25![Image of KC60 with RGB Underglow](keymaps/ws2812/ws2812_example.jpg) 27![Image of KC60 with RGB Underglow](keymaps/ws2812/ws2812_example.jpg)
26 28
27Build with WS2812 Support by running `make KEYMAP=ws2812`. 29Build with WS2812 Support by running `make ws2812`.
28 30
29## Warning 31## Warning
30For those who want to use 2x1U instead of classic backspace you need to use K0D and K49 like this: 32For those who want to use 2x1U instead of classic backspace you need to use K0D and K49 like this:
31* K0D represents the key at the right of =. 33* K0D represents the key at the right of =.
32* K49 represents the last key of the row (is wired at the right of the space key on the PCB) 34* K49 represents the last key of the row (is wired at the right of the space key on the PCB)
33 35
34In kc60.h I've put several definitions' examples of possible layouts proposed by online editor (http://123.57.250.164:9128/). \ No newline at end of file 36In kc60.h I've put several definitions' examples of possible layouts proposed by online editor (http://123.57.250.164:9128/).
diff --git a/keyboards/kc60/rules.mk b/keyboards/kc60/rules.mk
new file mode 100644
index 000000000..a935ed19e
--- /dev/null
+++ b/keyboards/kc60/rules.mk
@@ -0,0 +1,71 @@
1# project specific files
2SRC = led.c
3
4# MCU name
5#MCU = at90usb1287
6MCU = atmega32u4
7
8# Processor frequency.
9# This will define a symbol, F_CPU, in all source code files equal to the
10# processor frequency in Hz. You can then use this symbol in your source code to
11# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
12# automatically to create a 32-bit value in your source code.
13#
14# This will be an integer division of F_USB below, as it is sourced by
15# F_USB after it has run through any CPU prescalers. Note that this value
16# does not *change* the processor frequency - it should merely be updated to
17# reflect the processor speed set externally so that the code can use accurate
18# software delays.
19F_CPU = 16000000
20
21
22#
23# LUFA specific
24#
25# Target architecture (see library "Board Types" documentation).
26ARCH = AVR8
27
28# Input clock frequency.
29# This will define a symbol, F_USB, in all source code files equal to the
30# input clock frequency (before any prescaling is performed) in Hz. This value may
31# differ from F_CPU if prescaling is used on the latter, and is required as the
32# raw input clock is fed directly to the PLL sections of the AVR for high speed
33# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
34# at the end, this will be done automatically to create a 32-bit value in your
35# source code.
36#
37# If no clock division is performed on the input clock inside the AVR (via the
38# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
39F_USB = $(F_CPU)
40
41# Interrupt driven control endpoint task(+60)
42OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
43
44
45# Boot Section Size in *bytes*
46# Teensy halfKay 512
47# Teensy++ halfKay 1024
48# Atmel DFU loader 4096
49# LUFA bootloader 4096
50# USBaspLoader 2048
51OPT_DEFS += -DBOOTLOADER_SIZE=4096
52
53
54# Build Options
55# change yes to no to disable
56#
57BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
58MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
59EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
60CONSOLE_ENABLE ?= yes # Console for debug(+400)
61COMMAND_ENABLE ?= yes # Commands for debug and configuration
62KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
63# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
64SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
65# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
66NKRO_ENABLE ?= no # USB Nkey Rollover
67BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
68MIDI_ENABLE ?= no # MIDI controls
69UNICODE_ENABLE ?= no # Unicode
70BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
71AUDIO_ENABLE ?= no # Audio output on port C6
diff --git a/keyboards/kinesis/Makefile b/keyboards/kinesis/Makefile
index ca077e636..4e2a6f00f 100644
--- a/keyboards/kinesis/Makefile
+++ b/keyboards/kinesis/Makefile
@@ -1,79 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2## Project specific files
3
4SRC= matrix.c
5
6# MCU name
7MCU = at90usb1286
8#MCU = atmega32u4
9
10# Processor frequency.
11# This will define a symbol, F_CPU, in all source code files equal to the
12# processor frequency in Hz. You can then use this symbol in your source code to
13# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
14# automatically to create a 32-bit value in your source code.
15#
16# This will be an integer division of F_USB below, as it is sourced by
17# F_USB after it has run through any CPU prescalers. Note that this value
18# does not *change* the processor frequency - it should merely be updated to
19# reflect the processor speed set externally so that the code can use accurate
20# software delays.
21F_CPU = 16000000
22
23
24#
25# LUFA specific
26#
27# Target architecture (see library "Board Types" documentation).
28ARCH = AVR8
29
30# Input clock frequency.
31# This will define a symbol, F_USB, in all source code files equal to the
32# input clock frequency (before any prescaling is performed) in Hz. This value may
33# differ from F_CPU if prescaling is used on the latter, and is required as the
34# raw input clock is fed directly to the PLL sections of the AVR for high speed
35# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
36# at the end, this will be done automatically to create a 32-bit value in your
37# source code.
38#
39# If no clock division is performed on the input clock inside the AVR (via the
40# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
41F_USB = $(F_CPU)
42
43# Interrupt driven control endpoint task(+60)
44OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
45
46
47# Boot Section Size in *bytes*
48# Teensy halfKay 512
49# Teensy++ halfKay 1024
50# Atmel DFU loader 4096
51# LUFA bootloader 4096
52# USBaspLoader 2048
53OPT_DEFS += -DBOOTLOADER_SIZE=1024
54
55
56# Build Options
57# change yes to no to disable
58#
59BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
60MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
61EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
62CONSOLE_ENABLE ?= no # Console for debug(+400)
63COMMAND_ENABLE ?= no
64# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
65SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
66# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
67NKRO_ENABLE ?= no # USB Nkey Rollover
68BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
69MIDI_ENABLE ?= no # MIDI controls
70UNICODE_ENABLE ?= no # Unicode
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
73CUSTOM_MATRIX=yes # need to do our own thing with the matrix
74
75ifndef QUANTUM_DIR
76 include ../../Makefile 2 include ../../Makefile
77endif 3endif \ No newline at end of file
78
79
diff --git a/keyboards/kinesis/readme.md b/keyboards/kinesis/readme.md
index a990f9cb9..79c86581e 100644
--- a/keyboards/kinesis/readme.md
+++ b/keyboards/kinesis/readme.md
@@ -27,16 +27,16 @@ Depending on which keymap you would like to use, you will have to compile slight
27 27
28### Default 28### Default
29 29
30To build with the default keymap, simply run `make`. 30To build with the default keymap, simply run `make default`.
31 31
32### Other Keymaps 32### Other Keymaps
33 33
34Several 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. 34Several 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.
35 35
36To build the firmware binary hex file with a keymap just do `make` with `keymap` option like: 36To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
37 37
38``` 38```
39$ make keymap=[default|jack|<name>] 39$ make [default|jack|<name>]
40``` 40```
41 41
42Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` 42Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/`
diff --git a/keyboards/kinesis/rules.mk b/keyboards/kinesis/rules.mk
new file mode 100644
index 000000000..a4a2b7d15
--- /dev/null
+++ b/keyboards/kinesis/rules.mk
@@ -0,0 +1,73 @@
1
2## Project specific files
3
4SRC= matrix.c
5
6# MCU name
7MCU = at90usb1286
8#MCU = atmega32u4
9
10# Processor frequency.
11# This will define a symbol, F_CPU, in all source code files equal to the
12# processor frequency in Hz. You can then use this symbol in your source code to
13# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
14# automatically to create a 32-bit value in your source code.
15#
16# This will be an integer division of F_USB below, as it is sourced by
17# F_USB after it has run through any CPU prescalers. Note that this value
18# does not *change* the processor frequency - it should merely be updated to
19# reflect the processor speed set externally so that the code can use accurate
20# software delays.
21F_CPU = 16000000
22
23
24#
25# LUFA specific
26#
27# Target architecture (see library "Board Types" documentation).
28ARCH = AVR8
29
30# Input clock frequency.
31# This will define a symbol, F_USB, in all source code files equal to the
32# input clock frequency (before any prescaling is performed) in Hz. This value may
33# differ from F_CPU if prescaling is used on the latter, and is required as the
34# raw input clock is fed directly to the PLL sections of the AVR for high speed
35# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
36# at the end, this will be done automatically to create a 32-bit value in your
37# source code.
38#
39# If no clock division is performed on the input clock inside the AVR (via the
40# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
41F_USB = $(F_CPU)
42
43# Interrupt driven control endpoint task(+60)
44OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
45
46
47# Boot Section Size in *bytes*
48# Teensy halfKay 512
49# Teensy++ halfKay 1024
50# Atmel DFU loader 4096
51# LUFA bootloader 4096
52# USBaspLoader 2048
53OPT_DEFS += -DBOOTLOADER_SIZE=1024
54
55
56# Build Options
57# change yes to no to disable
58#
59BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
60MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
61EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
62CONSOLE_ENABLE ?= no # Console for debug(+400)
63COMMAND_ENABLE ?= no
64# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
65SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
66# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
67NKRO_ENABLE ?= no # USB Nkey Rollover
68BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
69MIDI_ENABLE ?= no # MIDI controls
70UNICODE_ENABLE ?= no # Unicode
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
73CUSTOM_MATRIX=yes # need to do our own thing with the matrix
diff --git a/keyboards/kitten_paw/Makefile b/keyboards/kitten_paw/Makefile
index 3b5585ed6..57b2ef62e 100644
--- a/keyboards/kitten_paw/Makefile
+++ b/keyboards/kitten_paw/Makefile
@@ -1,77 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u2
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50 OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= no # USB Nkey Rollover
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE ?= no # MIDI controls
67UNICODE_ENABLE ?= no # Unicode
68BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE ?= no # Audio output on port C6
70
71CUSTOM_MATRIX = yes
72SRC += matrix.c
73
74ifndef QUANTUM_DIR
75 include ../../Makefile 2 include ../../Makefile
76endif 3endif
77
diff --git a/keyboards/kitten_paw/rules.mk b/keyboards/kitten_paw/rules.mk
new file mode 100644
index 000000000..b0c909d11
--- /dev/null
+++ b/keyboards/kitten_paw/rules.mk
@@ -0,0 +1,72 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u2
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50 OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= no # USB Nkey Rollover
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE ?= no # MIDI controls
67UNICODE_ENABLE ?= no # Unicode
68BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE ?= no # Audio output on port C6
70
71CUSTOM_MATRIX = yes
72SRC += matrix.c
diff --git a/keyboards/lets_split/Makefile b/keyboards/lets_split/Makefile
index b9f07636b..4e2a6f00f 100644
--- a/keyboards/lets_split/Makefile
+++ b/keyboards/lets_split/Makefile
@@ -1,78 +1,3 @@
1SRC += matrix.c \ 1ifndef MAKEFILE_INCLUDED
2 i2c.c \
3 split_util.c \
4 serial.c
5
6# MCU name
7#MCU = at90usb1287
8MCU = atmega32u4
9
10# Processor frequency.
11# This will define a symbol, F_CPU, in all source code files equal to the
12# processor frequency in Hz. You can then use this symbol in your source code to
13# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
14# automatically to create a 32-bit value in your source code.
15#
16# This will be an integer division of F_USB below, as it is sourced by
17# F_USB after it has run through any CPU prescalers. Note that this value
18# does not *change* the processor frequency - it should merely be updated to
19# reflect the processor speed set externally so that the code can use accurate
20# software delays.
21F_CPU = 16000000
22
23#
24# LUFA specific
25#
26# Target architecture (see library "Board Types" documentation).
27ARCH = AVR8
28
29# Input clock frequency.
30# This will define a symbol, F_USB, in all source code files equal to the
31# input clock frequency (before any prescaling is performed) in Hz. This value may
32# differ from F_CPU if prescaling is used on the latter, and is required as the
33# raw input clock is fed directly to the PLL sections of the AVR for high speed
34# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
35# at the end, this will be done automatically to create a 32-bit value in your
36# source code.
37#
38# If no clock division is performed on the input clock inside the AVR (via the
39# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
40F_USB = $(F_CPU)
41
42# Interrupt driven control endpoint task(+60)
43OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
44
45
46# Boot Section Size in *bytes*
47# Teensy halfKay 512
48# Teensy++ halfKay 1024
49# Atmel DFU loader 4096
50# LUFA bootloader 4096
51# USBaspLoader 2048
52OPT_DEFS += -DBOOTLOADER_SIZE=4096
53
54# Build Options
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
57#
58BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
59MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
60EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
61CONSOLE_ENABLE ?= no # Console for debug(+400)
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
64BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
65MIDI_ENABLE ?= no # MIDI controls
66AUDIO_ENABLE ?= yes # Audio output on port C6
67UNICODE_ENABLE ?= no # Unicode
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.
70
71# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
72SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
73
74CUSTOM_MATRIX = yes
75
76ifndef QUANTUM_DIR
77 include ../../Makefile 2 include ../../Makefile
78endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/lets_split/rules.mk b/keyboards/lets_split/rules.mk
new file mode 100644
index 000000000..6961fbd55
--- /dev/null
+++ b/keyboards/lets_split/rules.mk
@@ -0,0 +1,74 @@
1SRC += matrix.c \
2 i2c.c \
3 split_util.c \
4 serial.c
5
6# MCU name
7#MCU = at90usb1287
8MCU = atmega32u4
9
10# Processor frequency.
11# This will define a symbol, F_CPU, in all source code files equal to the
12# processor frequency in Hz. You can then use this symbol in your source code to
13# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
14# automatically to create a 32-bit value in your source code.
15#
16# This will be an integer division of F_USB below, as it is sourced by
17# F_USB after it has run through any CPU prescalers. Note that this value
18# does not *change* the processor frequency - it should merely be updated to
19# reflect the processor speed set externally so that the code can use accurate
20# software delays.
21F_CPU = 16000000
22
23#
24# LUFA specific
25#
26# Target architecture (see library "Board Types" documentation).
27ARCH = AVR8
28
29# Input clock frequency.
30# This will define a symbol, F_USB, in all source code files equal to the
31# input clock frequency (before any prescaling is performed) in Hz. This value may
32# differ from F_CPU if prescaling is used on the latter, and is required as the
33# raw input clock is fed directly to the PLL sections of the AVR for high speed
34# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
35# at the end, this will be done automatically to create a 32-bit value in your
36# source code.
37#
38# If no clock division is performed on the input clock inside the AVR (via the
39# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
40F_USB = $(F_CPU)
41
42# Interrupt driven control endpoint task(+60)
43OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
44
45
46# Boot Section Size in *bytes*
47# Teensy halfKay 512
48# Teensy++ halfKay 1024
49# Atmel DFU loader 4096
50# LUFA bootloader 4096
51# USBaspLoader 2048
52OPT_DEFS += -DBOOTLOADER_SIZE=4096
53
54# Build Options
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
57#
58BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
59MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
60EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
61CONSOLE_ENABLE ?= no # Console for debug(+400)
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
64BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
65MIDI_ENABLE ?= no # MIDI controls
66AUDIO_ENABLE ?= yes # Audio output on port C6
67UNICODE_ENABLE ?= no # Unicode
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.
70
71# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
72SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
73
74CUSTOM_MATRIX = yes \ No newline at end of file
diff --git a/keyboards/phantom/Makefile b/keyboards/phantom/Makefile
index 3a71fd0ee..4e2a6f00f 100644
--- a/keyboards/phantom/Makefile
+++ b/keyboards/phantom/Makefile
@@ -1,74 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3SRC = led.c
4
5# MCU name
6#MCU = at90usb1287
7MCU = atmega32u4
8
9# Processor frequency.
10# This will define a symbol, F_CPU, in all source code files equal to the
11# processor frequency in Hz. You can then use this symbol in your source code to
12# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
13# automatically to create a 32-bit value in your source code.
14#
15# This will be an integer division of F_USB below, as it is sourced by
16# F_USB after it has run through any CPU prescalers. Note that this value
17# does not *change* the processor frequency - it should merely be updated to
18# reflect the processor speed set externally so that the code can use accurate
19# software delays.
20F_CPU = 16000000
21
22
23#
24# LUFA specific
25#
26# Target architecture (see library "Board Types" documentation).
27ARCH = AVR8
28
29# Input clock frequency.
30# This will define a symbol, F_USB, in all source code files equal to the
31# input clock frequency (before any prescaling is performed) in Hz. This value may
32# differ from F_CPU if prescaling is used on the latter, and is required as the
33# raw input clock is fed directly to the PLL sections of the AVR for high speed
34# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
35# at the end, this will be done automatically to create a 32-bit value in your
36# source code.
37#
38# If no clock division is performed on the input clock inside the AVR (via the
39# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
40F_USB = $(F_CPU)
41
42# Interrupt driven control endpoint task(+60)
43OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
44
45
46# Boot Section Size in *bytes*
47# Teensy halfKay 512
48# Teensy++ halfKay 1024
49# Atmel DFU loader 4096
50# LUFA bootloader 4096
51# USBaspLoader 2048
52OPT_DEFS += -DBOOTLOADER_SIZE=4096
53
54
55# Build Options
56# comment out to disable the options.
57#
58BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
59MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
60EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
61CONSOLE_ENABLE ?= yes # Console for debug(+400)
62COMMAND_ENABLE ?= yes # Commands for debug and configuration
63NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64RGBLIGHT_ENABLE ?=yes # Enable keyboard underlight functionality (+4870)
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality (+1150)
66MIDI_ENABLE ?= no # MIDI controls
67AUDIO_ENABLE ?= no
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70
71
72ifndef QUANTUM_DIR
73 include ../../Makefile 2 include ../../Makefile
74endif 3endif \ No newline at end of file
diff --git a/keyboards/phantom/rules.mk b/keyboards/phantom/rules.mk
new file mode 100644
index 000000000..c6b8ca6c3
--- /dev/null
+++ b/keyboards/phantom/rules.mk
@@ -0,0 +1,69 @@
1
2
3SRC = led.c
4
5# MCU name
6#MCU = at90usb1287
7MCU = atmega32u4
8
9# Processor frequency.
10# This will define a symbol, F_CPU, in all source code files equal to the
11# processor frequency in Hz. You can then use this symbol in your source code to
12# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
13# automatically to create a 32-bit value in your source code.
14#
15# This will be an integer division of F_USB below, as it is sourced by
16# F_USB after it has run through any CPU prescalers. Note that this value
17# does not *change* the processor frequency - it should merely be updated to
18# reflect the processor speed set externally so that the code can use accurate
19# software delays.
20F_CPU = 16000000
21
22
23#
24# LUFA specific
25#
26# Target architecture (see library "Board Types" documentation).
27ARCH = AVR8
28
29# Input clock frequency.
30# This will define a symbol, F_USB, in all source code files equal to the
31# input clock frequency (before any prescaling is performed) in Hz. This value may
32# differ from F_CPU if prescaling is used on the latter, and is required as the
33# raw input clock is fed directly to the PLL sections of the AVR for high speed
34# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
35# at the end, this will be done automatically to create a 32-bit value in your
36# source code.
37#
38# If no clock division is performed on the input clock inside the AVR (via the
39# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
40F_USB = $(F_CPU)
41
42# Interrupt driven control endpoint task(+60)
43OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
44
45
46# Boot Section Size in *bytes*
47# Teensy halfKay 512
48# Teensy++ halfKay 1024
49# Atmel DFU loader 4096
50# LUFA bootloader 4096
51# USBaspLoader 2048
52OPT_DEFS += -DBOOTLOADER_SIZE=4096
53
54
55# Build Options
56# comment out to disable the options.
57#
58BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
59MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
60EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
61CONSOLE_ENABLE ?= yes # Console for debug(+400)
62COMMAND_ENABLE ?= yes # Commands for debug and configuration
63NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64RGBLIGHT_ENABLE ?=yes # Enable keyboard underlight functionality (+4870)
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality (+1150)
66MIDI_ENABLE ?= no # MIDI controls
67AUDIO_ENABLE ?= no
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/planck/Makefile b/keyboards/planck/Makefile
index 23944f92e..7d49c5ef9 100644
--- a/keyboards/planck/Makefile
+++ b/keyboards/planck/Makefile
@@ -1,74 +1,5 @@
1
2SUBPROJECT_DEFAULT = rev4 1SUBPROJECT_DEFAULT = rev4
3 2
4# MCU name 3ifndef MAKEFILE_INCLUDED
5#MCU = at90usb1287
6MCU = atmega32u4
7
8# Processor frequency.
9# This will define a symbol, F_CPU, in all source code files equal to the
10# processor frequency in Hz. You can then use this symbol in your source code to
11# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
12# automatically to create a 32-bit value in your source code.
13#
14# This will be an integer division of F_USB below, as it is sourced by
15# F_USB after it has run through any CPU prescalers. Note that this value
16# does not *change* the processor frequency - it should merely be updated to
17# reflect the processor speed set externally so that the code can use accurate
18# software delays.
19F_CPU = 16000000
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52# Build Options
53# change to "no" to disable the options, or define them in the Makefile in
54# the appropriate keymap folder that will get included automatically
55#
56BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= no # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
62BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
63MIDI_ENABLE ?= no # MIDI controls
64AUDIO_ENABLE ?= no # Audio output on port C6
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
68
69# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
70SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
71
72ifndef QUANTUM_DIR
73 include ../../Makefile 4 include ../../Makefile
74endif \ No newline at end of file 5endif \ No newline at end of file
diff --git a/keyboards/planck/readme.md b/keyboards/planck/readme.md
index f89fdeb93..4b24a690e 100644
--- a/keyboards/planck/readme.md
+++ b/keyboards/planck/readme.md
@@ -13,15 +13,17 @@ Download or clone the whole firmware and navigate to the keyboards/planck folder
13Depending on which keymap you would like to use, you will have to compile slightly differently. 13Depending on which keymap you would like to use, you will have to compile slightly differently.
14 14
15### Default 15### Default
16To build with the default keymap, simply run `make`. 16To build with the default keymap, simply run `make default`.
17 17
18### Other Keymaps 18### Other Keymaps
19Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files. 19Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files.
20 20
21To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 21To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
22
22``` 23```
23$ make KEYMAP=[default|jack|<name>] 24$ make [default|jack|<name>]
24``` 25```
26
25Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. 27Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
26 28
27### Notable forks (which some of the keymap files are from) 29### Notable forks (which some of the keymap files are from)
diff --git a/keyboards/planck/rev3/Makefile b/keyboards/planck/rev3/Makefile
index 3ed1445e4..191c6bb66 100644
--- a/keyboards/planck/rev3/Makefile
+++ b/keyboards/planck/rev3/Makefile
@@ -1,5 +1,3 @@
1AUDIO_ENABLE ?= no # Audio output on port C6 1ifndef MAKEFILE_INCLUDED
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile 2 include ../../../Makefile
5endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/planck/rev3/rules.mk b/keyboards/planck/rev3/rules.mk
new file mode 100644
index 000000000..3ed1445e4
--- /dev/null
+++ b/keyboards/planck/rev3/rules.mk
@@ -0,0 +1,5 @@
1AUDIO_ENABLE ?= no # Audio output on port C6
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile
5endif \ No newline at end of file
diff --git a/keyboards/planck/rev4/Makefile b/keyboards/planck/rev4/Makefile
index ed09f85a4..191c6bb66 100644
--- a/keyboards/planck/rev4/Makefile
+++ b/keyboards/planck/rev4/Makefile
@@ -1,5 +1,3 @@
1AUDIO_ENABLE ?= yes # Audio output on port C6 1ifndef MAKEFILE_INCLUDED
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile 2 include ../../../Makefile
5endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/planck/rev4/rules.mk b/keyboards/planck/rev4/rules.mk
new file mode 100644
index 000000000..ed09f85a4
--- /dev/null
+++ b/keyboards/planck/rev4/rules.mk
@@ -0,0 +1,5 @@
1AUDIO_ENABLE ?= yes # Audio output on port C6
2
3ifndef QUANTUM_DIR
4 include ../../../Makefile
5endif \ No newline at end of file
diff --git a/keyboards/planck/rules.mk b/keyboards/planck/rules.mk
new file mode 100644
index 000000000..25db53a31
--- /dev/null
+++ b/keyboards/planck/rules.mk
@@ -0,0 +1,67 @@
1# MCU name
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18#
19# LUFA specific
20#
21# Target architecture (see library "Board Types" documentation).
22ARCH = AVR8
23
24# Input clock frequency.
25# This will define a symbol, F_USB, in all source code files equal to the
26# input clock frequency (before any prescaling is performed) in Hz. This value may
27# differ from F_CPU if prescaling is used on the latter, and is required as the
28# raw input clock is fed directly to the PLL sections of the AVR for high speed
29# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
30# at the end, this will be done automatically to create a 32-bit value in your
31# source code.
32#
33# If no clock division is performed on the input clock inside the AVR (via the
34# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
35F_USB = $(F_CPU)
36
37# Interrupt driven control endpoint task(+60)
38OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
39
40
41# Boot Section Size in *bytes*
42# Teensy halfKay 512
43# Teensy++ halfKay 1024
44# Atmel DFU loader 4096
45# LUFA bootloader 4096
46# USBaspLoader 2048
47OPT_DEFS += -DBOOTLOADER_SIZE=4096
48
49# Build Options
50# change to "no" to disable the options, or define them in the Makefile in
51# the appropriate keymap folder that will get included automatically
52#
53BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
54MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
55EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
56CONSOLE_ENABLE ?= no # Console for debug(+400)
57COMMAND_ENABLE ?= yes # Commands for debug and configuration
58NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
59BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
60MIDI_ENABLE ?= no # MIDI controls
61AUDIO_ENABLE ?= no # Audio output on port C6
62UNICODE_ENABLE ?= no # Unicode
63BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
64RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
65
66# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
67SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend \ No newline at end of file
diff --git a/keyboards/preonic/Makefile b/keyboards/preonic/Makefile
index 08e9205cb..4e2a6f00f 100644
--- a/keyboards/preonic/Makefile
+++ b/keyboards/preonic/Makefile
@@ -1,73 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51# Build Options
52# change to "no" to disable the options, or define them in the Makefile in
53# the appropriate keymap folder that will get included automatically
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= no # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
62MIDI_ENABLE ?= no # MIDI controls
63AUDIO_ENABLE ?= no # Audio output on port C6
64UNICODE_ENABLE ?= no # Unicode
65BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
66RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
67
68# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
69SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
70
71ifndef QUANTUM_DIR
72 include ../../Makefile 2 include ../../Makefile
73endif \ No newline at end of file 3endif \ No newline at end of file
diff --git a/keyboards/preonic/readme.md b/keyboards/preonic/readme.md
index f0be255a0..10763ee97 100644
--- a/keyboards/preonic/readme.md
+++ b/keyboards/preonic/readme.md
@@ -13,13 +13,15 @@ Download or clone the whole firmware and navigate to the keyboards/preonic folde
13Depending on which keymap you would like to use, you will have to compile slightly differently. 13Depending on which keymap you would like to use, you will have to compile slightly differently.
14 14
15### Default 15### Default
16To build with the default keymap, simply run `make`. 16To build with the default keymap, simply run `make default`.
17 17
18### Other Keymaps 18### Other Keymaps
19Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap, create a file in the keymaps folder named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files. 19Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap, create a file in the keymaps folder named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files.
20 20
21To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 21To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
22
22``` 23```
23$ make KEYMAP=[default|jack|<name>] 24$ make [default|jack|<name>]
24``` 25```
26
25Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. 27Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/preonic/rules.mk b/keyboards/preonic/rules.mk
new file mode 100644
index 000000000..d0f3a3a1c
--- /dev/null
+++ b/keyboards/preonic/rules.mk
@@ -0,0 +1,69 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51# Build Options
52# change to "no" to disable the options, or define them in the Makefile in
53# the appropriate keymap folder that will get included automatically
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= no # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
62MIDI_ENABLE ?= no # MIDI controls
63AUDIO_ENABLE ?= no # Audio output on port C6
64UNICODE_ENABLE ?= no # Unicode
65BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
66RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
67
68# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
69SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend \ No newline at end of file
diff --git a/keyboards/retro_refit/Makefile b/keyboards/retro_refit/Makefile
index 2dd8cc5f7..4e2a6f00f 100644
--- a/keyboards/retro_refit/Makefile
+++ b/keyboards/retro_refit/Makefile
@@ -1,74 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=512
51
52
53# Build Options
54# comment out to disable the options.
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
62# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
63# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
64NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
66# MIDI_ENABLE ?= YES # MIDI controls
67# UNICODE_ENABLE ?= YES # Unicode
68# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
69
70
71ifndef QUANTUM_DIR
72 include ../../Makefile 2 include ../../Makefile
73endif 3endif \ No newline at end of file
74
diff --git a/keyboards/retro_refit/readme.md b/keyboards/retro_refit/readme.md
index b01a1a9ca..77df861ce 100644
--- a/keyboards/retro_refit/readme.md
+++ b/keyboards/retro_refit/readme.md
@@ -12,13 +12,15 @@ Download or clone the whole firmware and navigate to the keyboards/retro_refit f
12Depending on which keymap you would like to use, you will have to compile slightly differently. 12Depending on which keymap you would like to use, you will have to compile slightly differently.
13 13
14### Default 14### Default
15To build with the default keymap, simply run `make`. 15To build with the default keymap, simply run `make default`.
16 16
17### Other Keymaps 17### Other Keymaps
18Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files. 18Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files.
19 19
20To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: 20To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
21
21``` 22```
22$ make KEYMAP=[default|jack|<name>] 23$ make [default|jack|<name>]
23``` 24```
25
24Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. \ No newline at end of file 26Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. \ No newline at end of file
diff --git a/keyboards/retro_refit/rules.mk b/keyboards/retro_refit/rules.mk
new file mode 100644
index 000000000..10fbfa5c9
--- /dev/null
+++ b/keyboards/retro_refit/rules.mk
@@ -0,0 +1,68 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=512
51
52
53# Build Options
54# comment out to disable the options.
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
62# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
63# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
64NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
66# MIDI_ENABLE ?= YES # MIDI controls
67# UNICODE_ENABLE ?= YES # Unicode
68# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/s60-x/Makefile b/keyboards/s60-x/Makefile
index 8b51d4609..4e2a6f00f 100644
--- a/keyboards/s60-x/Makefile
+++ b/keyboards/s60-x/Makefile
@@ -1,75 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= no # USB Nkey Rollover
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE ?= no # MIDI controls
67UNICODE_ENABLE ?= no # Unicode
68BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE ?= no # Audio output on port C6
70
71ifndef QUANTUM_DIR
72 include ../../Makefile 2 include ../../Makefile
73endif 3endif \ No newline at end of file
74
75
diff --git a/keyboards/s60-x/readme.md b/keyboards/s60-x/readme.md
index 099d58699..94ce82922 100644
--- a/keyboards/s60-x/readme.md
+++ b/keyboards/s60-x/readme.md
@@ -42,9 +42,9 @@ The recommended programs for flashing your keyboard are [Atmel FLIP](http://www.
42 42
43## Building the firmware 43## Building the firmware
44 44
45To build firmware binary hex file with a certain keymap just run `make` with the `keymap` option like: 45To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
46 46
47 $ make keymap=[custom|poker|poker_set|poker_bit|plain|hasu|spacefn|hhkb|<name>] 47 $ make [custom|poker|poker_set|poker_bit|plain|hasu|spacefn|hhkb|<name>]
48 48
49For a more detailed explanation of the build process and the environment setup, see the ["Getting Started" section](/readme.md#getting-started). 49For a more detailed explanation of the build process and the environment setup, see the ["Getting Started" section](/readme.md#getting-started).
50 50
diff --git a/keyboards/s60-x/rules.mk b/keyboards/s60-x/rules.mk
new file mode 100644
index 000000000..7ec93933a
--- /dev/null
+++ b/keyboards/s60-x/rules.mk
@@ -0,0 +1,69 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= no # USB Nkey Rollover
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE ?= no # MIDI controls
67UNICODE_ENABLE ?= no # Unicode
68BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE ?= no # Audio output on port C6 \ No newline at end of file
diff --git a/keyboards/satan/Makefile b/keyboards/satan/Makefile
index a0879fc9c..4e2a6f00f 100644
--- a/keyboards/satan/Makefile
+++ b/keyboards/satan/Makefile
@@ -1,70 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2# MCU name
3#MCU = at90usb1287
4MCU = atmega32u4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51
52# Build Options
53# comment out to disable the options.
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= yes # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61RGBLIGHT_ENABLE ?= yes # Enable keyboard underlight functionality (+4870)
62BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality (+1150)
63MIDI_ENABLE ?= no # MIDI controls
64AUDIO_ENABLE ?= no
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67
68ifndef QUANTUM_DIR
69 include ../../Makefile 2 include ../../Makefile
70endif 3endif \ No newline at end of file
diff --git a/keyboards/satan/rules.mk b/keyboards/satan/rules.mk
new file mode 100644
index 000000000..1102584d8
--- /dev/null
+++ b/keyboards/satan/rules.mk
@@ -0,0 +1,66 @@
1
2# MCU name
3#MCU = at90usb1287
4MCU = atmega32u4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51
52# Build Options
53# comment out to disable the options.
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= yes # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61RGBLIGHT_ENABLE ?= yes # Enable keyboard underlight functionality (+4870)
62BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality (+1150)
63MIDI_ENABLE ?= no # MIDI controls
64AUDIO_ENABLE ?= no
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/sixkeyboard/Makefile b/keyboards/sixkeyboard/Makefile
index 6f273064a..4e2a6f00f 100644
--- a/keyboards/sixkeyboard/Makefile
+++ b/keyboards/sixkeyboard/Makefile
@@ -1,75 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3SRC = matrix.c
4
5# MCU name
6#MCU = at90usb1287
7MCU = atmega16u2
8
9# Processor frequency.
10# This will define a symbol, F_CPU, in all source code files equal to the
11# processor frequency in Hz. You can then use this symbol in your source code to
12# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
13# automatically to create a 32-bit value in your source code.
14#
15# This will be an integer division of F_USB below, as it is sourced by
16# F_USB after it has run through any CPU prescalers. Note that this value
17# does not *change* the processor frequency - it should merely be updated to
18# reflect the processor speed set externally so that the code can use accurate
19# software delays.
20F_CPU = 16000000
21
22
23#
24# LUFA specific
25#
26# Target architecture (see library "Board Types" documentation).
27ARCH = AVR8
28
29# Input clock frequency.
30# This will define a symbol, F_USB, in all source code files equal to the
31# input clock frequency (before any prescaling is performed) in Hz. This value may
32# differ from F_CPU if prescaling is used on the latter, and is required as the
33# raw input clock is fed directly to the PLL sections of the AVR for high speed
34# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
35# at the end, this will be done automatically to create a 32-bit value in your
36# source code.
37#
38# If no clock division is performed on the input clock inside the AVR (via the
39# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
40F_USB = $(F_CPU)
41
42# Interrupt driven control endpoint task(+60)
43OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
44
45
46# Boot Section Size in *bytes*
47# Teensy halfKay 512
48# Teensy++ halfKay 1024
49# Atmel DFU loader 4096
50# LUFA bootloader 4096
51# USBaspLoader 2048
52OPT_DEFS += -DBOOTLOADER_SIZE=4096
53
54
55# Build Options
56# comment out to disable the options.
57#
58BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
59MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
60EXTRAKEY_ENABLE ?= no # Audio control and System control(+450)
61CONSOLE_ENABLE ?= no # Console for debug(+400)
62COMMAND_ENABLE ?= no # Commands for debug and configuration
63SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
64NKRO_ENABLE ?= no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
66MIDI_ENABLE ?= no # MIDI controls
67AUDIO_ENABLE ?= no
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70CUSTOM_MATRIX = yes
71
72ifndef QUANTUM_DIR
73 include ../../Makefile 2 include ../../Makefile
74endif 3endif \ No newline at end of file
75
diff --git a/keyboards/sixkeyboard/rules.mk b/keyboards/sixkeyboard/rules.mk
new file mode 100644
index 000000000..2c99985a9
--- /dev/null
+++ b/keyboards/sixkeyboard/rules.mk
@@ -0,0 +1,70 @@
1
2
3SRC = matrix.c
4
5# MCU name
6#MCU = at90usb1287
7MCU = atmega16u2
8
9# Processor frequency.
10# This will define a symbol, F_CPU, in all source code files equal to the
11# processor frequency in Hz. You can then use this symbol in your source code to
12# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
13# automatically to create a 32-bit value in your source code.
14#
15# This will be an integer division of F_USB below, as it is sourced by
16# F_USB after it has run through any CPU prescalers. Note that this value
17# does not *change* the processor frequency - it should merely be updated to
18# reflect the processor speed set externally so that the code can use accurate
19# software delays.
20F_CPU = 16000000
21
22
23#
24# LUFA specific
25#
26# Target architecture (see library "Board Types" documentation).
27ARCH = AVR8
28
29# Input clock frequency.
30# This will define a symbol, F_USB, in all source code files equal to the
31# input clock frequency (before any prescaling is performed) in Hz. This value may
32# differ from F_CPU if prescaling is used on the latter, and is required as the
33# raw input clock is fed directly to the PLL sections of the AVR for high speed
34# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
35# at the end, this will be done automatically to create a 32-bit value in your
36# source code.
37#
38# If no clock division is performed on the input clock inside the AVR (via the
39# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
40F_USB = $(F_CPU)
41
42# Interrupt driven control endpoint task(+60)
43OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
44
45
46# Boot Section Size in *bytes*
47# Teensy halfKay 512
48# Teensy++ halfKay 1024
49# Atmel DFU loader 4096
50# LUFA bootloader 4096
51# USBaspLoader 2048
52OPT_DEFS += -DBOOTLOADER_SIZE=4096
53
54
55# Build Options
56# comment out to disable the options.
57#
58BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
59MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
60EXTRAKEY_ENABLE ?= no # Audio control and System control(+450)
61CONSOLE_ENABLE ?= no # Console for debug(+400)
62COMMAND_ENABLE ?= no # Commands for debug and configuration
63SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
64NKRO_ENABLE ?= no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
66MIDI_ENABLE ?= no # MIDI controls
67AUDIO_ENABLE ?= no
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70CUSTOM_MATRIX = yes \ No newline at end of file
diff --git a/keyboards/tv44/Makefile b/keyboards/tv44/Makefile
index 45ca12780..4e2a6f00f 100644
--- a/keyboards/tv44/Makefile
+++ b/keyboards/tv44/Makefile
@@ -1,75 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= yes # USB Nkey Rollover
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE ?= no # MIDI controls
67UNICODE_ENABLE ?= no # Unicode
68BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE ?= no # Audio output on port C6
70
71ifndef QUANTUM_DIR
72 include ../../Makefile 2 include ../../Makefile
73endif 3endif \ No newline at end of file
74
75
diff --git a/keyboards/tv44/readme.md b/keyboards/tv44/readme.md
index e3b557fe2..4f691a4ca 100644
--- a/keyboards/tv44/readme.md
+++ b/keyboards/tv44/readme.md
@@ -13,16 +13,16 @@ Depending on which keymap you would like to use, you will have to compile slight
13 13
14### Default 14### Default
15 15
16To build with the default keymap, simply run `make`. 16To build with the default keymap, simply run `make default`.
17 17
18### Other Keymaps 18### Other Keymaps
19 19
20Several 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. 20Several 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.
21 21
22To build the firmware binary hex file with a keymap just do `make` with `keymap` option like: 22To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
23 23
24``` 24```
25$ make keymap=[default|jack|<name>] 25$ make [default|jack|<name>]
26``` 26```
27 27
28Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` \ No newline at end of file 28Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` \ No newline at end of file
diff --git a/keyboards/tv44/rules.mk b/keyboards/tv44/rules.mk
new file mode 100644
index 000000000..dbba6bace
--- /dev/null
+++ b/keyboards/tv44/rules.mk
@@ -0,0 +1,69 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= yes # USB Nkey Rollover
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE ?= no # MIDI controls
67UNICODE_ENABLE ?= no # Unicode
68BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE ?= no # Audio output on port C6
diff --git a/keyboards/vision_division/Makefile b/keyboards/vision_division/Makefile
index 4f3130c48..4e2a6f00f 100644
--- a/keyboards/vision_division/Makefile
+++ b/keyboards/vision_division/Makefile
@@ -1,76 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4MCU = at90usb1286
5# MCU = at90usb1287
6# MCU = atmega32u4
7
8# Processor frequency.
9# This will define a symbol, F_CPU, in all source code files equal to the
10# processor frequency in Hz. You can then use this symbol in your source code to
11# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
12# automatically to create a 32-bit value in your source code.
13#
14# This will be an integer division of F_USB below, as it is sourced by
15# F_USB after it has run through any CPU prescalers. Note that this value
16# does not *change* the processor frequency - it should merely be updated to
17# reflect the processor speed set externally so that the code can use accurate
18# software delays.
19F_CPU = 16000000
20
21
22#
23# LUFA specific
24#
25# Target architecture (see library "Board Types" documentation).
26ARCH = AVR8
27
28# Input clock frequency.
29# This will define a symbol, F_USB, in all source code files equal to the
30# input clock frequency (before any prescaling is performed) in Hz. This value may
31# differ from F_CPU if prescaling is used on the latter, and is required as the
32# raw input clock is fed directly to the PLL sections of the AVR for high speed
33# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
34# at the end, this will be done automatically to create a 32-bit value in your
35# source code.
36#
37# If no clock division is performed on the input clock inside the AVR (via the
38# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
39F_USB = $(F_CPU)
40
41# Interrupt driven control endpoint task(+60)
42OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
43
44
45# Boot Section Size in *bytes*
46# Teensy halfKay 512
47# Teensy++ halfKay 1024
48# Atmel DFU loader 4096
49# LUFA bootloader 4096
50# USBaspLoader 2048
51OPT_DEFS += -DBOOTLOADER_SIZE=1024
52
53
54# Build Options
55# change yes to no to disable
56#
57BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
58MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
59EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
60CONSOLE_ENABLE ?= yes # Console for debug(+400)
61COMMAND_ENABLE ?= yes # Commands for debug and configuration
62# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
63SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
64# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65NKRO_ENABLE ?= yes # USB Nkey Rollover
66BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
67MIDI_ENABLE ?= no # MIDI controls
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70AUDIO_ENABLE ?= no # Audio output on port C6
71
72ifndef QUANTUM_DIR
73 include ../../Makefile 2 include ../../Makefile
74endif 3endif \ No newline at end of file
75
76
diff --git a/keyboards/vision_division/rules.mk b/keyboards/vision_division/rules.mk
new file mode 100644
index 000000000..063fba29b
--- /dev/null
+++ b/keyboards/vision_division/rules.mk
@@ -0,0 +1,70 @@
1
2
3# MCU name
4MCU = at90usb1286
5# MCU = at90usb1287
6# MCU = atmega32u4
7
8# Processor frequency.
9# This will define a symbol, F_CPU, in all source code files equal to the
10# processor frequency in Hz. You can then use this symbol in your source code to
11# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
12# automatically to create a 32-bit value in your source code.
13#
14# This will be an integer division of F_USB below, as it is sourced by
15# F_USB after it has run through any CPU prescalers. Note that this value
16# does not *change* the processor frequency - it should merely be updated to
17# reflect the processor speed set externally so that the code can use accurate
18# software delays.
19F_CPU = 16000000
20
21
22#
23# LUFA specific
24#
25# Target architecture (see library "Board Types" documentation).
26ARCH = AVR8
27
28# Input clock frequency.
29# This will define a symbol, F_USB, in all source code files equal to the
30# input clock frequency (before any prescaling is performed) in Hz. This value may
31# differ from F_CPU if prescaling is used on the latter, and is required as the
32# raw input clock is fed directly to the PLL sections of the AVR for high speed
33# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
34# at the end, this will be done automatically to create a 32-bit value in your
35# source code.
36#
37# If no clock division is performed on the input clock inside the AVR (via the
38# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
39F_USB = $(F_CPU)
40
41# Interrupt driven control endpoint task(+60)
42OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
43
44
45# Boot Section Size in *bytes*
46# Teensy halfKay 512
47# Teensy++ halfKay 1024
48# Atmel DFU loader 4096
49# LUFA bootloader 4096
50# USBaspLoader 2048
51OPT_DEFS += -DBOOTLOADER_SIZE=1024
52
53
54# Build Options
55# change yes to no to disable
56#
57BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
58MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
59EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
60CONSOLE_ENABLE ?= yes # Console for debug(+400)
61COMMAND_ENABLE ?= yes # Commands for debug and configuration
62# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
63SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
64# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65NKRO_ENABLE ?= yes # USB Nkey Rollover
66BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
67MIDI_ENABLE ?= no # MIDI controls
68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
70AUDIO_ENABLE ?= no # Audio output on port C6 \ No newline at end of file
diff --git a/message.mk b/message.mk
new file mode 100644
index 000000000..fb1a7a1f9
--- /dev/null
+++ b/message.mk
@@ -0,0 +1,71 @@
1COLOR ?= true
2
3ifeq ($(COLOR),true)
4 NO_COLOR=\033[0m
5 OK_COLOR=\033[32;01m
6 ERROR_COLOR=\033[31;01m
7 WARN_COLOR=\033[33;01m
8 BLUE=\033[0;34m
9 BOLD=\033[1m
10endif
11
12ifneq ($(shell awk --version 2>/dev/null),)
13 AWK=awk
14else
15 AWK=cat && test
16endif
17
18ON_ERROR ?= exit 1
19
20OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n
21ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n
22WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n
23
24TAB_LOG = printf "\n$$LOG\n\n" | $(AWK) '{ sub(/^/," | "); print }'
25TAB_LOG_PLAIN = printf "$$LOG\n"
26AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }'
27AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }'
28PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && $(ON_ERROR)
29PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG)
30PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && $(ON_ERROR)
31PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN)
32PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS)
33BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi;
34MAKE_MSG_FORMAT = $(AWK) '{ printf "%-118s", $$0;}'
35
36# Define Messages
37# English
38MSG_ERRORS_NONE = Errors: none
39MSG_ERRORS = $(ERROR_COLOR)Make finished with errors\n$(NO_COLOR)
40MSG_BEGIN = -------- begin --------
41MSG_END = -------- end --------
42MSG_SIZE_BEFORE = Size before:
43MSG_SIZE_AFTER = Size after:
44MSG_COFF = Converting to AVR COFF:
45MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
46MSG_FLASH = Creating load file for Flash:
47MSG_EEPROM = Creating load file for EEPROM:
48MSG_BIN = Creating binary load file for Flash:
49MSG_EXTENDED_LISTING = Creating Extended Listing:
50MSG_SYMBOL_TABLE = Creating Symbol Table:
51MSG_LINKING = Linking:
52MSG_COMPILING = Compiling:
53MSG_COMPILING_CPP = Compiling:
54MSG_ASSEMBLING = Assembling:
55MSG_CLEANING = Cleaning project:
56MSG_CREATING_LIBRARY = Creating library:
57MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR)\n \
58 Some git sub-modules are out of date or modified, please consider runnning:$(BOLD)\n\
59 git submodule sync --recursive\n\
60 git submodule update --init --recursive$(NO_COLOR)\n\n\
61 You can ignore this warning if you are not compiling any ChibiOS keyboards,\n\
62 or if you have modified the ChibiOS libraries yourself. \n\n
63MSG_NO_CMP = $(ERROR_COLOR)Error:$(NO_COLOR)$(BOLD) cmp command not found, please install diffutils\n$(NO_COLOR)
64
65define GENERATE_MSG_MAKE_KB
66 MSG_MAKE_KB_ACTUAL := Making $$(KB_SP) with keymap $(BOLD)$$(CURRENT_KM)$(NO_COLOR)
67 ifneq ($$(MAKE_TARGET),)
68 MSG_MAKE_KB_ACTUAL += and target $(BOLD)$$(MAKE_TARGET)$(NO_COLOR)
69 endif
70endef
71MSG_MAKE_KB = $(eval $(call GENERATE_MSG_MAKE_KB))$(MSG_MAKE_KB_ACTUAL)
diff --git a/quantum/template/Makefile b/quantum/template/Makefile
index 3f6d133c9..4e2a6f00f 100644
--- a/quantum/template/Makefile
+++ b/quantum/template/Makefile
@@ -1,75 +1,3 @@
1 1ifndef MAKEFILE_INCLUDED
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=512
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
59CONSOLE_ENABLE ?= yes # Console for debug(+400)
60COMMAND_ENABLE ?= yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE ?= no # USB Nkey Rollover
65BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE ?= no # MIDI controls
67UNICODE_ENABLE ?= no # Unicode
68BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE ?= no # Audio output on port C6
70
71ifndef QUANTUM_DIR
72 include ../../Makefile 2 include ../../Makefile
73endif 3endif \ No newline at end of file
74
75
diff --git a/quantum/template/rules.mk b/quantum/template/rules.mk
new file mode 100644
index 000000000..55898147d
--- /dev/null
+++ b/quantum/template/rules.mk
@@ -0,0 +1,67 @@
1# MCU name
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
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
15# software delays.
16F_CPU = 16000000
17
18
19#
20# LUFA specific
21#
22# Target architecture (see library "Board Types" documentation).
23ARCH = AVR8
24
25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the
27# input clock frequency (before any prescaling is performed) in Hz. This value may
28# differ from F_CPU if prescaling is used on the latter, and is required as the
29# raw input clock is fed directly to the PLL sections of the AVR for high speed
30# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
31# at the end, this will be done automatically to create a 32-bit value in your
32# source code.
33#
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.
36F_USB = $(F_CPU)
37
38# Interrupt driven control endpoint task(+60)
39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
40
41
42# Boot Section Size in *bytes*
43# Teensy halfKay 512
44# Teensy++ halfKay 1024
45# Atmel DFU loader 4096
46# LUFA bootloader 4096
47# USBaspLoader 2048
48OPT_DEFS += -DBOOTLOADER_SIZE=512
49
50
51# Build Options
52# change yes to no to disable
53#
54BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
55MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
56EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
57CONSOLE_ENABLE ?= yes # Console for debug(+400)
58COMMAND_ENABLE ?= yes # Commands for debug and configuration
59# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
60SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
61# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
62NKRO_ENABLE ?= no # USB Nkey Rollover
63BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
64MIDI_ENABLE ?= no # MIDI controls
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67AUDIO_ENABLE ?= no # Audio output on port C6
diff --git a/readme.md b/readme.md
index db0bf8783..473fd6a7c 100644
--- a/readme.md
+++ b/readme.md
@@ -157,43 +157,103 @@ In every keymap folder, the following files are recommended:
157 157
158## The `make` command 158## The `make` command
159 159
160The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys). You can run `make` from the root (`/`), your keyboard folder (`/keyboards/<keyboard>/`), or your keymap folder (`/keyboards/<keyboard>/keymaps/<keymap>/`) if you have a `Makefile` there (see the example [here](/doc/keymap_makefile_example.mk)). 160The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys).
161 161
162By default, this will generate a `<keyboard>_<keymap>.hex` file in whichever folder you run `make` from. These files are ignored by git, so don't worry about deleting them when committing/creating pull requests. 162**NOTE:** To abort a make command press `Ctrl-c`
163 163
164Below are some definitions that will be useful: 164The following instruction refers to these folders.
165 165
166* The "root" (`/`) folder is the qmk_firmware folder, in which are `doc`, `keyboard`, `quantum`, etc. 166* The `root` (`/`) folder is the qmk_firmware folder, in which are `doc`, `keyboard`, `quantum`, etc.
167* The "keyboard" folder is any keyboard project's folder, like `/keyboards/planck`. 167* The `keyboard` folder is any keyboard project's folder, like `/keyboards/planck`.
168* The "keymap" folder is any keymap's folder, like `/keyboards/planck/keymaps/default`. 168* The `keymap` folder is any keymap's folder, like `/keyboards/planck/keymaps/default`.
169* The `subproject` folder is the subproject folder of a keyboard, like `/keyboards/ergodox/ez`
169 170
170Below is a list of the useful `make` commands in QMK: 171### Simple instructions for building and uploading a keyboard
171 172
172* `make` - builds your keyboard and keymap depending on which folder you're in. This defaults to the "default" layout (unless in a keymap folder), and Planck keyboard in the root folder 173**Most keyboards have more specific instructions in the keyboard specific readme.md file, so please check that first**
173 * `make keyboard=<keyboard>` - specifies the keyboard (only to be used in root) 174
174 * `make keymap=<keymap>` - specifies the keymap (only to be used in root and keyboard folder - not needed when in keymap folder) 175If the `keymap` folder contains a file name `Makefile`
175* `make clean` - cleans the `.build` folder, ensuring that everything is re-built 176
176* `make dfu` - (requires dfu-programmer) builds and flashes the keymap to your keyboard once placed in reset/dfu mode (button or press `KC_RESET`). This does not work for Teensy-based keyboards like the ErgoDox EZ. 1771. Change the directory to the `keymap` folder
177 * `keyboard=` and `keymap=` are compatible with this 1782. Run `make <subproject>-<programmer>`
178* `make all-keyboards` - builds all keymaps for all keyboards and outputs status of each (use in root) 179
179* `make all-keyboards-default` - builds all default keymaps for all keyboards and outputs status of each (use in root) 180Otherwise, if there's no `Makefile` in the `keymap` folder
180* `make all-keymaps [keyboard=<keyboard>]` - builds all of the keymaps for whatever keyboard folder you're in, or specified by `<keyboard>` 181
181* `make all-keyboards-*`, `make all-keyboards-default-*` and `make all-keymaps-* [keyboard=<keyboard>]` - like the normal "make-all-*" commands, but the last string aftter the `-` (for example clean) is passed to the keyboard make command. 1821. Enter the `keyboard` folder
182Other, less useful functionality: 1832. Run `make <subproject>-<keymap>-<programmer>`
184
185In the above commands, replace:
186
187* `<keymap>` with the name of your keymap
188* `<subproject>` with the name of the subproject (revision or sub-model of your keyboard). For example, for Ergodox it can be `ez` or `infinity`, and for Planck `rev3` or `rev4`.
189 * If the keyboard doesn't have a subproject, or if you are happy with the default (defined in `rules.mk` file of the `keyboard` folder), you can leave it out. But remember to also remove the dash (`-`) from the command.
190* `<programmer>` The programmer to use. Most keyboards use `dfu`, but some use `teensy`. Infinity keyboards use `dfu-util`. Check the readme file in the keyboard folder to find out which programmer to use.
191 * If you don't add `-<programmer` to the command line, the firmware will be still be compiled into a hex file, but the upload will be skipped.
192
193**NOTE:** Some operating systems will refuse to program unless you run the make command as root for example `sudo make dfu`
194
195### More detailed make instruction
196
197The full syntax of the `make` command is the following, but parts of the command can be left out if you run it from other directories than the `root` (as you might already have noticed by reading the simple instructions).
198
199`<keyboard>-<subproject>-<keymap>-<target>`, where:
200
201* `<keyboard>` is the name of the keyboard, for example `planck`
202 * Use `allkb` to compile all keyboards
203* `<subproject>` is the name of the subproject (revision or sub-model of the keyboard). For example, for Ergodox it can be `ez` or `infinity`, and for Planck `rev3` or `rev4`.
204 * If the keyboard doesn't have any subprojects, it can be left out
205 * To compile the default subproject, you can leave it out, or specify `defaultsp`
206 * Use `allsp` to compile all subprojects
207* `<keymap>` is the name of the keymap, for example `algernon`
208 * Use `allkm` to compile all keymaps
209* `<target>` will be explained in more detail below.
210
211**Note:** When you leave some parts of the command out, you should also remove the dash (`-`).
212
213As mentioned above, there are some shortcuts, when you are in a:
214
215* `keyboard` folder, the command will automatically fill the `<keyboard>` part. So you only need to type `<subproject>-<keymap>-<target>`
216* `subproject` folder, it will fill in both `<keyboard>` and `<subproject>`
217* `keymap` folder, then `<keyboard>` and `<keymap>` will be filled in. If you need to specify the `<subproject>` use the following syntax `<subproject>-<target>`
218 * Note in order to support this shortcut, the keymap needs its own Makefile (see the example [here](/doc/keymap_makefile_example.mk))
219* `keymap` folder of a `subproject`, then everything except the `<target>` will be filled in
220
221The `<target>` means the following
222* If no target is given, then it's the same as `all` below
223* `all` compiles the keyboard and generates a `<keyboard>_<keymap>.hex` file in whichever folder you run `make` from. These files are ignored by git, so don't worry about deleting them when committing/creating pull requests.
224* `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 Infinity 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. **Note** that some operating systems needs root access for these commands to work, so in that case you need to run for example `sudo make dfu`.
225* `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.
226
227Some other targets are supported but, but not important enough to be documented here. Check the source code of the make files for more information.
228
229You can also add extra options at the end of the make command line, after the target
183 230
184* `make COLOR=false` - turns off color output 231* `make COLOR=false` - turns off color output
185* `make SILENT=true` - turns off output besides errors/warnings 232* `make SILENT=true` - turns off output besides errors/warnings
186* `make VERBOSE=true` - outputs all of the avr-gcc stuff (not interesting) 233* `make VERBOSE=true` - outputs all of the gcc stuff (not interesting, unless you need to debug)
234
235The make command itself also has some additional options, type `make --help` for more information. The most useful is probably `-jx`, which specifies that you want to compile using more than one CPU, the `x` represents the number of CPUs that you want to use. Setting that can greatly reduce the compile times, especially if you are compiling many keyboards/keymaps. I usually set it to one less than the number of CPUs that I have, so that I have some left for doing other things while it's compiling. Note that not all operating systems and make versions supports that option.
236
237Here are some examples commands
238
239* `make allkb-allsp-allkm` builds everything (all keyboards, all subprojects, all keymaps). Running just `make` from the `root` will also run this.
240* `make` from within a `keyboard` directory, is the same as `make keyboard-allsp-allkm`, which compiles all subprojects and keymaps of the keyboard. **NOTE** that this behaviour has changed. Previously it compiled just the default keymap.
241* `make ergodox-infinity-algernon-clean` will clean the build output of the Ergodox Infinity keyboard. This example uses the full syntax and can be run from any folder with a `Makefile`
242* `make dfu COLOR=false` from within a keymap folder, builds and uploads the keymap, but without color output.
187 243
188## The `Makefile` 244## The `Makefile`
189 245
190There are 3 different `make` and `Makefile` locations: 246There are 5 different `make` and `Makefile` locations:
191 247
192* root (`/`) 248* root (`/`)
193* keyboard (`/keyboards/<keyboard>/`) 249* keyboard (`/keyboards/<keyboard>/`)
194* keymap (`/keyboards/<keyboard>/keymaps/<keymap>/`) 250* keymap (`/keyboards/<keyboard>/keymaps/<keymap>/`)
251* subproject (`/keyboards/<keyboard>/<subproject>`)
252* subproject keymap (`/keyboards/<keyboard>/<subproject>/keymaps/<keymap>`)
253
254The root contains the code used to automatically figure out which keymap or keymaps to compile based on your current directory and commandline arguments. It's considered stable, and shouldn't be modified. The keyboard one will contain the MCU set-up and default settings for your keyboard, and shouldn't be modified unless you are the producer of that keyboard. The keymap Makefile can be modified by users, and is optional. It is included automatically if it exists. You can see an example [here](/doc/keymap_makefile_example.mk) - the last few lines are the most important. The settings you set here will override any defaults set in the keyboard Makefile. **The file is required if you want to run `make` in the keymap folder.**
195 255
196The root contains the code used to automatically figure out which keymap or keymaps to compile based on your current directory and commandline arguments. It's considered stable, and shouldn't be modified. The keyboard one will contain the MCU set-up and default settings for your keyboard, and shouldn't be modified unless you are the producer of that keyboard. The keymap Makefile can be modified by users, and is optional. It is included automatically if it exists. You can see an example [here](/doc/keymap_makefile_example.mk) - the last few lines are the most important. The settings you set here will override any defaults set in the keyboard Makefile. **It is required if you want to run `make` in the keymap folder.** 256For keyboards and subprojects, the make files are split in two parts `Makefile` and `rules.mk`. All settings can be found in the `rules.mk` file, while the `Makefile` is just there for support and including the root `Makefile`. Keymaps contain just one `Makefile` for simplicity.
197 257
198### Makefile options 258### Makefile options
199 259
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk
index cb67ac6f2..062a712bd 100644
--- a/tmk_core/chibios.mk
+++ b/tmk_core/chibios.mk
@@ -89,9 +89,9 @@ CHIBISRC = $(STARTUPSRC) \
89 $(STARTUPASM) \ 89 $(STARTUPASM) \
90 $(PORTASM) \ 90 $(PORTASM) \
91 $(OSALASM) 91 $(OSALASM)
92
93SRC += $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC))
94 92
93CHIBISRC := $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC))
94
95EXTRAINCDIRS += $(CHIBIOS)/os/license \ 95EXTRAINCDIRS += $(CHIBIOS)/os/license \
96 $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ 96 $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
97 $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ 97 $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
@@ -143,14 +143,6 @@ MCUFLAGS = -mcpu=$(MCU)
143 143
144DEBUG = gdb 144DEBUG = gdb
145 145
146# Define ASM defines here
147# bootloader definitions may be used in the startup .s file
148ifneq ("$(wildcard $(KEYBOARD_PATH)/bootloader_defs.h)","")
149 OPT_DEFS += -include $(KEYBOARD_PATH)/bootloader_defs.h
150else ifneq ("$(wildcard $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h)","")
151 OPT_DEFS += -include $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h
152endif
153
154# List any extra directories to look for libraries here. 146# List any extra directories to look for libraries here.
155EXTRALIBDIRS = $(RULESPATH)/ld 147EXTRALIBDIRS = $(RULESPATH)/ld
156 148
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index 429c57143..0b767eb04 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -110,9 +110,6 @@ $(error MASTER does not have a valid value(left/right))
110endif 110endif
111 111
112 112
113# Version string
114OPT_DEFS += -DVERSION=$(GIT_VERSION)
115
116# Bootloader address 113# Bootloader address
117ifdef STM32_BOOTLOADER_ADDRESS 114ifdef STM32_BOOTLOADER_ADDRESS
118 OPT_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS) 115 OPT_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS)
diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c
index 084c9fe15..476fc6fe3 100644
--- a/tmk_core/common/command.c
+++ b/tmk_core/common/command.c
@@ -34,6 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
34#include "command.h" 34#include "command.h"
35#include "backlight.h" 35#include "backlight.h"
36#include "quantum.h" 36#include "quantum.h"
37#include "version.h"
37 38
38#ifdef MOUSEKEY_ENABLE 39#ifdef MOUSEKEY_ENABLE
39#include "mousekey.h" 40#include "mousekey.h"
@@ -180,7 +181,7 @@ static void print_version(void)
180 print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") " 181 print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") "
181 "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") " 182 "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") "
182 "VER: " STR(DEVICE_VER) "\n"); 183 "VER: " STR(DEVICE_VER) "\n");
183 print("BUILD: " STR(VERSION) " (" __TIME__ " " __DATE__ ")\n"); 184 print("BUILD: " STR(QMK_VERSION) " (" __TIME__ " " __DATE__ ")\n");
184 185
185 /* build options */ 186 /* build options */
186 print("OPTIONS:" 187 print("OPTIONS:"
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk
index d2350f27c..21011c280 100644
--- a/tmk_core/rules.mk
+++ b/tmk_core/rules.mk
@@ -25,6 +25,18 @@ vpath %.hpp $(VPATH_SRC)
25vpath %.S $(VPATH_SRC) 25vpath %.S $(VPATH_SRC)
26VPATH := 26VPATH :=
27 27
28# Convert all SRC to OBJ
29define OBJ_FROM_SRC
30$(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.S,$1/%.o,$($1_SRC))))
31endef
32$(foreach OUTPUT,$(OUTPUTS),$(eval $(OUTPUT)_OBJ +=$(call OBJ_FROM_SRC,$(OUTPUT))))
33
34# Define a list of all objects
35OBJ := $(foreach OUTPUT,$(OUTPUTS),$($(OUTPUT)_OBJ))
36
37MASTER_OUTPUT := $(firstword $(OUTPUTS))
38
39
28 40
29# Output format. (can be srec, ihex, binary) 41# Output format. (can be srec, ihex, binary)
30FORMAT = ihex 42FORMAT = ihex
@@ -34,50 +46,8 @@ FORMAT = ihex
34# (Note: 3 is not always the best optimization level. See avr-libc FAQ.) 46# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
35OPT = s 47OPT = s
36 48
37COLOR ?= true
38
39ifeq ($(COLOR),true)
40 NO_COLOR=\033[0m
41 OK_COLOR=\033[32;01m
42 ERROR_COLOR=\033[31;01m
43 WARN_COLOR=\033[33;01m
44 BLUE=\033[0;34m
45 BOLD=\033[1m
46endif
47
48AUTOGEN ?= false 49AUTOGEN ?= false
49 50
50ifneq ($(shell awk --version 2>/dev/null),)
51 AWK=awk
52else
53 AWK=cat && test
54endif
55
56OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n
57ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n
58WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n
59
60ifndef $(SILENT)
61 SILENT = false
62endif
63
64TAB_LOG = printf "\n$$LOG\n\n" | $(AWK) '{ sub(/^/," | "); print }'
65TAB_LOG_PLAIN = printf "$$LOG\n"
66AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }'
67AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }'
68PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && exit 1
69PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG)
70PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && exit 1
71PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN)
72PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS)
73BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi;
74
75# List any extra directories to look for include files here.
76# Each directory must be seperated by a space.
77# Use forward slashes for directory separators.
78# For a directory that has spaces, enclose it in quotes.
79EXTRAINCDIRS += $(subst :, ,$(VPATH_SRC))
80
81 51
82# Compiler flag to set the C Standard level. 52# Compiler flag to set the C Standard level.
83# c89 = "ANSI" C 53# c89 = "ANSI" C
@@ -88,17 +58,18 @@ CSTANDARD = -std=gnu99
88 58
89 59
90# Place -D or -U options here for C sources 60# Place -D or -U options here for C sources
91CDEFS += $(OPT_DEFS) 61#CDEFS +=
92 62
93 63
94# Place -D or -U options here for ASM sources 64# Place -D or -U options here for ASM sources
95ADEFS += $(OPT_DEFS) 65#ADEFS +=
96 66
97 67
98# Place -D or -U options here for C++ sources 68# Place -D or -U options here for C++ sources
99#CPPDEFS += -D__STDC_LIMIT_MACROS 69#CPPDEFS += -D__STDC_LIMIT_MACROS
100#CPPDEFS += -D__STDC_CONSTANT_MACROS 70#CPPDEFS += -D__STDC_CONSTANT_MACROS
101CPPDEFS += $(OPT_DEFS) 71#CPPDEFS +=
72
102 73
103 74
104 75
@@ -126,11 +97,7 @@ CFLAGS += -Wstrict-prototypes
126#CFLAGS += -Wunreachable-code 97#CFLAGS += -Wunreachable-code
127#CFLAGS += -Wsign-compare 98#CFLAGS += -Wsign-compare
128CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) 99CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
129CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
130CFLAGS += $(CSTANDARD) 100CFLAGS += $(CSTANDARD)
131ifdef CONFIG_H
132 CFLAGS += -include $(CONFIG_H)
133endif
134 101
135 102
136#---------------- Compiler Options C++ ---------------- 103#---------------- Compiler Options C++ ----------------
@@ -153,12 +120,7 @@ CPPFLAGS += -Wundef
153#CPPFLAGS += -Wunreachable-code 120#CPPFLAGS += -Wunreachable-code
154#CPPFLAGS += -Wsign-compare 121#CPPFLAGS += -Wsign-compare
155CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) 122CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
156CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
157#CPPFLAGS += $(CSTANDARD) 123#CPPFLAGS += $(CSTANDARD)
158ifdef CONFIG_H
159 CPPFLAGS += -include $(CONFIG_H)
160endif
161
162 124
163#---------------- Assembler Options ---------------- 125#---------------- Assembler Options ----------------
164# -Wa,...: tell GCC to pass this to the assembler. 126# -Wa,...: tell GCC to pass this to the assembler.
@@ -169,11 +131,8 @@ endif
169# files -- see avr-libc docs [FIXME: not yet described there] 131# files -- see avr-libc docs [FIXME: not yet described there]
170# -listing-cont-lines: Sets the maximum number of continuation lines of hex 132# -listing-cont-lines: Sets the maximum number of continuation lines of hex
171# dump that will be displayed for a given single line of source input. 133# dump that will be displayed for a given single line of source input.
172ASFLAGS += $(ADEFS) -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 134ASFLAGS += $(ADEFS)
173ASFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) 135ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
174ifdef CONFIG_H
175 ASFLAGS += -include $(CONFIG_H)
176endif
177 136
178#---------------- Library Options ---------------- 137#---------------- Library Options ----------------
179# Minimalistic printf version 138# Minimalistic printf version
@@ -228,48 +187,6 @@ COPY = cp
228WINSHELL = cmd 187WINSHELL = cmd
229SECHO = $(SILENT) || echo 188SECHO = $(SILENT) || echo
230 189
231# Define Messages
232# English
233MSG_ERRORS_NONE = Errors: none
234MSG_BEGIN = -------- begin --------
235MSG_END = -------- end --------
236MSG_SIZE_BEFORE = Size before:
237MSG_SIZE_AFTER = Size after:
238MSG_COFF = Converting to AVR COFF:
239MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
240MSG_FLASH = Creating load file for Flash:
241MSG_EEPROM = Creating load file for EEPROM:
242MSG_BIN = Creating binary load file for Flash:
243MSG_EXTENDED_LISTING = Creating Extended Listing:
244MSG_SYMBOL_TABLE = Creating Symbol Table:
245MSG_LINKING = Linking:
246MSG_COMPILING = Compiling:
247MSG_COMPILING_CPP = Compiling:
248MSG_ASSEMBLING = Assembling:
249MSG_CLEANING = Cleaning project:
250MSG_CREATING_LIBRARY = Creating library:
251MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR)\n \
252 Some git sub-modules are out of date or modified, please consider runnning:$(BOLD)\n\
253 git submodule sync --recursive\n\
254 git submodule update --init --recursive$(NO_COLOR)\n\n\
255 You can ignore this warning if you are not compiling any ChibiOS keyboards,\n\
256 or if you have modified the ChibiOS libraries yourself. \n\n
257
258
259# Define all object files.
260OBJ = $(patsubst %.c,$(OBJDIR)/%.o,$(patsubst %.cpp,$(OBJDIR)/%.o,$(patsubst %.S,$(OBJDIR)/%.o,$(SRC))))
261# The files in the lib folder are shared between all keymaps, so generate that folder name by removing
262# the keymap from the name
263KBOBJDIR=$(subst _$(KEYMAP),,$(OBJDIR))
264# And fixup the object files to match
265LIBOBJ = $(foreach v,$(OBJ),$(if $(findstring /lib/,$v),$v))
266NONLIBOBJ := $(filter-out $(LIBOBJ),$(OBJ))
267LIBOBJ := $(subst _$(KEYMAP)/,/,$(LIBOBJ))
268OBJ := $(LIBOBJ) $(NONLIBOBJ)
269
270# Define all listing files.
271LST = $(patsubst %.c,$(OBJDIR)/%.lst,$(patsubst %.cpp,$(OBJDIR)/%.lst,$(patsubst %.S,$(OBJDIR)/%.lst,$(SRC))))
272
273 190
274# Compiler flags to generate dependency files. 191# Compiler flags to generate dependency files.
275#GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d 192#GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d
@@ -302,15 +219,6 @@ sym: $(BUILD_DIR)/$(TARGET).sym
302LIBNAME=lib$(TARGET).a 219LIBNAME=lib$(TARGET).a
303lib: $(LIBNAME) 220lib: $(LIBNAME)
304 221
305check_submodule:
306 git submodule status --recursive | \
307 while IFS= read -r x; do \
308 case "$$x" in \
309 \ *) ;; \
310 *) printf "$(MSG_SUBMODULE_DIRTY)";break;; \
311 esac \
312 done
313
314# Display size of file. 222# Display size of file.
315HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex 223HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
316#ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf 224#ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
@@ -364,91 +272,79 @@ gccversion :
364 $(eval CMD=$(BIN) $< $@ || exit 0) 272 $(eval CMD=$(BIN) $< $@ || exit 0)
365 @$(BUILD_CMD) 273 @$(BUILD_CMD)
366 274
367# Create library from object files. 275BEGIN = gccversion sizebefore
368.SECONDARY : $(BUILD_DIR)/$(TARGET).a
369.PRECIOUS : $(OBJ)
370%.a: $(OBJ)
371 @$(SILENT) || printf "$(MSG_CREATING_LIBRARY) $@" | $(AWK_CMD)
372 $(eval CMD=$(AR) $@ $(OBJ) )
373 @$(BUILD_CMD)
374
375BEGIN = gccversion check_submodule sizebefore
376 276
377# Link: create ELF output file from object files. 277# Link: create ELF output file from object files.
378.SECONDARY : $(BUILD_DIR)/$(TARGET).elf 278.SECONDARY : $(BUILD_DIR)/$(TARGET).elf
379.PRECIOUS : $(OBJ) 279.PRECIOUS : $(OBJ)
380# Note the obj.txt depeendency is there to force linking if a source file is deleted 280# Note the obj.txt depeendency is there to force linking if a source file is deleted
381%.elf: $(OBJ) $(OBJDIR)/cflags.txt $(OBJDIR)/ldflags.txt $(OBJDIR)/obj.txt | $(BEGIN) 281%.elf: $(OBJ) $(MASTER_OUTPUT)/cflags.txt $(MASTER_OUTPUT)/ldflags.txt $(MASTER_OUTPUT)/obj.txt | $(BEGIN)
382 @$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD) 282 @$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD)
383 $(eval CMD=$(CC) $(ALL_CFLAGS) $(filter-out %.txt,$^) --output $@ $(LDFLAGS)) 283 $(eval CMD=$(CC) $(ALL_CFLAGS) $(filter-out %.txt,$^) --output $@ $(LDFLAGS))
384 @$(BUILD_CMD) 284 @$(BUILD_CMD)
285
385 286
386define GEN_OBJRULE 287define GEN_OBJRULE
288$1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC))
289ifdef $1_CONFIG
290$1_CONFIG_FLAGS += -include $$($1_CONFIG)
291endif
292$1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
293$1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
294$1_ASFLAGS= $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
295
387# Compile: create object files from C source files. 296# Compile: create object files from C source files.
388$1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN) 297$1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN)
389 @mkdir -p $$(@D) 298 @mkdir -p $$(@D)
390 @$$(SILENT) || printf "$$(MSG_COMPILING) $$<" | $$(AWK_CMD) 299 @$$(SILENT) || printf "$$(MSG_COMPILING) $$<" | $$(AWK_CMD)
391 $$(eval CMD=$$(CC) -c $$(ALL_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) 300 $$(eval CMD := $$(CC) -c $$($1_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
392 @$$(BUILD_CMD) 301 @$$(BUILD_CMD)
393 302
394# Compile: create object files from C++ source files. 303# Compile: create object files from C++ source files.
395$1/%.o : %.cpp $1/%.d $1/cppflags.txt $1/compiler.txt | $(BEGIN) 304$1/%.o : %.cpp $1/%.d $1/cppflags.txt $1/compiler.txt | $(BEGIN)
396 @mkdir -p $$(@D) 305 @mkdir -p $$(@D)
397 @$$(SILENT) || printf "$$(MSG_COMPILING_CPP) $$<" | $$(AWK_CMD) 306 @$$(SILENT) || printf "$$(MSG_COMPILING_CPP) $$<" | $$(AWK_CMD)
398 $$(eval CMD=$$(CC) -c $$(ALL_CPPFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) 307 $$(eval CMD=$$(CC) -c $$($1_CPPFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
399 @$(BUILD_CMD) 308 @$(BUILD_CMD)
400 309
401# Assemble: create object files from assembler source files. 310# Assemble: create object files from assembler source files.
402$1/%.o : %.S $1/asflags.txt $1/compiler.txt | $(BEGIN) 311$1/%.o : %.S $1/asflags.txt $1/compiler.txt | $(BEGIN)
403 @mkdir -p $$(@D) 312 @mkdir -p $$(@D)
404 @$(SILENT) || printf "$$(MSG_ASSEMBLING) $$<" | $$(AWK_CMD) 313 @$(SILENT) || printf "$$(MSG_ASSEMBLING) $$<" | $$(AWK_CMD)
405 $$(eval CMD=$$(CC) -c $$(ALL_ASFLAGS) $$< -o $$@) 314 $$(eval CMD=$$(CC) -c $$($1_ASFLAGS) $$< -o $$@)
406 @$$(BUILD_CMD) 315 @$$(BUILD_CMD)
407 316
408$1/force: 317$1/force:
409 318
410$1/cflags.txt: $1/force 319$1/cflags.txt: $1/force
411 echo '$$(ALL_CFLAGS)' | cmp -s - $$@ || echo '$$(ALL_CFLAGS)' > $$@ 320 echo '$$($1_CFLAGS)' | cmp -s - $$@ || echo '$$($1_CFLAGS)' > $$@
412 321
413$1/cppflags.txt: $1/force 322$1/cppflags.txt: $1/force
414 echo '$$(ALL_CPPFLAGS)' | cmp -s - $$@ || echo '$$(ALL_CPPFLAGS)' > $$@ 323 echo '$$($1_CPPFLAGS)' | cmp -s - $$@ || echo '$$($1_CPPFLAGS)' > $$@
415 324
416$1/asflags.txt: $1/force 325$1/asflags.txt: $1/force
417 echo '$$(ALL_ASFLAGS)' | cmp -s - $$@ || echo '$$(ALL_ASFLAGS)' > $$@ 326 echo '$$($1_ASFLAGS)' | cmp -s - $$@ || echo '$$($1_ASFLAGS)' > $$@
418
419$1/ldflags.txt: $1/force
420 echo '$$(LDFLAGS)' | cmp -s - $$@ || echo '$$(LDFLAGS)' > $$@
421
422$1/obj.txt: $1/force
423 echo '$$(OBJ)' | cmp -s - $$@ || echo '$$(OBJ)' > $$@
424 327
425$1/compiler.txt: $1/force 328$1/compiler.txt: $1/force
426 $$(CC) --version | cmp -s - $$@ || $$(CC) --version > $$@ 329 $$(CC) --version | cmp -s - $$@ || $$(CC) --version > $$@
427endef 330endef
428 331
332$(MASTER_OUTPUT)/obj.txt: $(MASTER_OUTPUT)/force
333 echo '$(OBJ)' | cmp -s - $$@ || echo '$(OBJ)' > $$@
334
335$(MASTER_OUTPUT)/ldflags.txt: $(MASTER_OUTPUT)/force
336 echo '$(LDFLAGS)' | cmp -s - $$@ || echo '$(LDFLAGS)' > $$@
337
338
429# We have to use static rules for the .d files for some reason 339# We have to use static rules for the .d files for some reason
430DEPS = $(patsubst %.o,%.d,$(OBJ)) 340DEPS = $(patsubst %.o,%.d,$(OBJ))
431# Keep the .d files 341# Keep the .d files
432.PRECIOUS: $(DEPS) 342.PRECIOUS: $(DEPS)
433# Empty rule to force recompilation if the .d file is missing 343# Empty rule to force recompilation if the .d file is missing
434$(DEPS): 344$(DEPS):
345
435 346
436# Since the object files could be in two different folders, generate 347$(foreach OUTPUT,$(OUTPUTS),$(eval $(call GEN_OBJRULE,$(OUTPUT))))
437# separate rules for them, rather than having too generic rules
438$(eval $(call GEN_OBJRULE,$(OBJDIR)))
439$(eval $(call GEN_OBJRULE,$(KBOBJDIR)))
440
441# Compile: create assembler files from C source files.
442%.s : %.c | $(BEGIN)
443 @$(SILENT) || printf "$(MSG_ASSEMBLING) $<" | $(AWK_CMD)
444 $(eval CMD=$(CC) -S $(ALL_CFLAGS) $< -o $@)
445 @$(BUILD_CMD)
446
447# Compile: create assembler files from C++ source files.
448%.s : %.cpp | $(BEGIN)
449 @$(SILENT) || printf "$(MSG_ASSEMBLING) $<" | $(AWK_CMD)
450 $(eval CMD=$(CC) -S $(ALL_CPPFLAGS) $< -o $@)
451 @$(BUILD_CMD)
452 348
453# Create preprocessed source for use in sending a bug report. 349# Create preprocessed source for use in sending a bug report.
454%.i : %.c | $(BEGIN) 350%.i : %.c | $(BEGIN)
@@ -456,71 +352,19 @@ $(eval $(call GEN_OBJRULE,$(KBOBJDIR)))
456 352
457# Target: clean project. 353# Target: clean project.
458clean: 354clean:
459 $(REMOVE) -r $(OBJDIR) 2>/dev/null 355 $(foreach OUTPUT,$(OUTPUTS), $(REMOVE) -r $(OUTPUT) 2>/dev/null)
460 $(REMOVE) -r $(KBOBJDIR) 2>/dev/null
461 $(REMOVE) $(BUILD_DIR)/$(TARGET).* 356 $(REMOVE) $(BUILD_DIR)/$(TARGET).*
462 357
463show_path: 358show_path:
464 @echo VPATH=$(VPATH) 359 @echo VPATH=$(VPATH)
465 @echo SRC=$(SRC) 360 @echo SRC=$(SRC)
466 361 @echo OBJ=$(OBJ)
467SUBDIRS := $(filter-out %/util/ %/doc/ %/keymaps/ %/old_keymap_files/,$(dir $(wildcard $(TOP_DIR)/keyboards/**/*/Makefile)))
468SUBDIRS := $(SUBDIRS) $(dir $(wildcard $(TOP_DIR)/keyboards/*/.))
469SUBDIRS := $(sort $(SUBDIRS))
470# $(error $(SUBDIRS))
471all-keyboards-defaults-%:
472 @for x in $(SUBDIRS) ; do \
473 printf "Compiling with default: $$x" | $(AWK_CMD); \
474 LOG=$$($(MAKE) -C $$x $(subst all-keyboards-defaults-,,$@) VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \
475 done
476
477all-keyboards-defaults: all-keyboards-defaults-all
478
479KEYBOARDS := $(SUBDIRS:$(TOP_DIR)/keyboards/%/=/keyboards/%)
480all-keyboards-all: $(addsuffix -all,$(KEYBOARDS))
481all-keyboards-clean: $(addsuffix -clean,$(KEYBOARDS))
482all-keyboards: all-keyboards-all
483
484define make_keyboard
485$(eval KEYBOARD=$(patsubst /keyboards/%,%,$1))
486$(eval SUBPROJECT=$(lastword $(subst /, ,$(KEYBOARD))))
487$(eval KEYBOARD=$(firstword $(subst /, ,$(KEYBOARD))))
488$(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboards/$(KEYBOARD)/keymaps/*/.))))
489$(eval KEYMAPS+=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboards/$(KEYBOARD)/$(SUBPROJECT)/keymaps/*/.))))
490@for x in $(KEYMAPS) ; do \
491 printf "Compiling $(BOLD)$(KEYBOARD)/$(SUBPROJECT)$(NO_COLOR) with $(BOLD)$$x$(NO_COLOR)" | $(AWK) '{ printf "%-118s", $$0; }'; \
492 LOG=$$($(MAKE) -C $(TOP_DIR)$1 $2 keymap=$$x VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \
493done
494endef
495
496define make_keyboard_helper
497# Just remove the -all and so on from the first argument and pass it forward
498$(call make_keyboard,$(subst -$2,,$1),$2)
499endef
500
501/keyboards/%-all:
502 $(call make_keyboard_helper,$@,all)
503/keyboards/%-clean:
504 $(call make_keyboard_helper,$@,clean)
505/keyboards/%:
506 $(call make_keyboard_helper,$@,all)
507
508all-keymaps-%:
509 $(eval MAKECONFIG=$(call get_target,all-keymaps,$@))
510 $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboards/$(KEYBOARD)/keymaps/*/.))))
511 @for x in $(KEYMAPS) ; do \
512 printf "Compiling $(BOLD)$(KEYBOARD)$(NO_COLOR) with $(BOLD)$$x$(NO_COLOR)" | $(AWK) '{ printf "%-118s", $$0; }'; \
513 LOG=$$($(MAKE) $(subst all-keymaps-,,$@) keyboard=$(KEYBOARD) keymap=$$x VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \
514 done
515
516all-keymaps: all-keymaps-all
517 362
518# Create build directory 363# Create build directory
519$(shell mkdir $(BUILD_DIR) 2>/dev/null) 364$(shell mkdir $(BUILD_DIR) 2>/dev/null)
520 365
521# Create object files directory 366# Create object files directory
522$(shell mkdir $(OBJDIR) 2>/dev/null) 367$(eval $(foreach OUTPUT,$(OUTPUTS),$(shell mkdir $(OUTPUT) 2>/dev/null)))
523$(shell mkdir $(KBOBJDIR) 2>/dev/null)
524 368
525# Include the dependency files. 369# Include the dependency files.
526-include $(patsubst %.o,%.d,$(OBJ)) 370-include $(patsubst %.o,%.d,$(OBJ))
@@ -528,8 +372,6 @@ $(shell mkdir $(KBOBJDIR) 2>/dev/null)
528 372
529# Listing of phony targets. 373# Listing of phony targets.
530.PHONY : all finish sizebefore sizeafter gccversion \ 374.PHONY : all finish sizebefore sizeafter gccversion \
531build elf hex eep lss sym coff extcoff check_submodule \ 375build elf hex eep lss sym coff extcoff \
532clean clean_list debug gdb-config show_path \ 376clean clean_list debug gdb-config show_path \
533program teensy dfu flip dfu-ee flip-ee dfu-start \ 377program teensy dfu flip dfu-ee flip-ee dfu-start \ No newline at end of file
534all-keyboards-defaults all-keyboards all-keymaps \
535all-keyboards-defaults-% all-keyboards-% all-keymaps-%
diff --git a/util/install_dependencies.sh b/util/install_dependencies.sh
index 24564a2ac..49ac86e07 100644
--- a/util/install_dependencies.sh
+++ b/util/install_dependencies.sh
@@ -20,7 +20,8 @@ if [[ -n "$(type -P pacman )" ]]; then
20 arm-none-eabi-gcc \ 20 arm-none-eabi-gcc \
21 arm-none-eabi-binutils \ 21 arm-none-eabi-binutils \
22 arm-none-eabi-newlib \ 22 arm-none-eabi-newlib \
23 git 23 git \
24 diffutils
24 25
25elif [[ -n "$(type -P apt-get)" ]]; then 26elif [[ -n "$(type -P apt-get)" ]]; then
26 # Debian and derivatives 27 # Debian and derivatives
@@ -47,7 +48,8 @@ elif [[ -n "$(type -P apt-get)" ]]; then
47 gcc-arm-none-eabi \ 48 gcc-arm-none-eabi \
48 binutils-arm-none-eabi \ 49 binutils-arm-none-eabi \
49 libnewlib-arm-none-eabi \ 50 libnewlib-arm-none-eabi \
50 git 51 git \
52 diffutils
51 53
52elif [[ -n "$(type -P yum)" ]]; then 54elif [[ -n "$(type -P yum)" ]]; then
53 # Fedora, CentOS or RHEL and derivatives 55 # Fedora, CentOS or RHEL and derivatives
@@ -69,7 +71,8 @@ elif [[ -n "$(type -P yum)" ]]; then
69 gcc-arm-none-eabi \ 71 gcc-arm-none-eabi \
70 binutils-arm-none-eabi \ 72 binutils-arm-none-eabi \
71 libnewlib-arm-none-eabi \ 73 libnewlib-arm-none-eabi \
72 git 74 git \
75 diffutils
73 # The listed eabi pacackes do unfortunately not exist for CentOS, 76 # The listed eabi pacackes do unfortunately not exist for CentOS,
74 # But at least in Fedora they do, so try to install them anyway 77 # But at least in Fedora they do, so try to install them anyway
75 # TODO: Build them from sources, if the installation fails 78 # TODO: Build them from sources, if the installation fails
@@ -85,7 +88,8 @@ elif [[ -n "$(type -P zypper)" ]]; then
85 patch \ 88 patch \
86 wget \ 89 wget \
87 dfu-programmer \ 90 dfu-programmer \
88 git 91 git \
92 diffutils
89 # TODO: The avr and eabi tools are not available as default packages, so we need 93 # TODO: The avr and eabi tools are not available as default packages, so we need
90 # another way to install them 94 # another way to install them
91 95
diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh
index c2a994ef0..f432976d0 100644
--- a/util/travis_compiled_push.sh
+++ b/util/travis_compiled_push.sh
@@ -7,7 +7,7 @@ rev=$(git rev-parse --short HEAD)
7git config --global user.name "Travis CI" 7git config --global user.name "Travis CI"
8git config --global user.email "jack.humb+travis.ci@gmail.com" 8git config --global user.email "jack.humb+travis.ci@gmail.com"
9 9
10make all-keymaps keyboard=ergodox/ez AUTOGEN=true 10make ergodox-ez AUTOGEN=true
11 11
12find . -name ".build" | xargs rm -rf 12find . -name ".build" | xargs rm -rf
13cd .. 13cd ..
@@ -24,4 +24,4 @@ cp ../qmk_firmware/readme.md qmk_readme.md
24 24
25git add -A 25git add -A
26git commit -m "generated from qmk_firmware/$TRAVIS_BRANCH@${rev}" 26git commit -m "generated from qmk_firmware/$TRAVIS_BRANCH@${rev}"
27git push \ No newline at end of file 27git push