summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2019-10-06 05:09:35 +1100
committerDrashna Jaelre <drashna@live.com>2019-10-05 11:09:35 -0700
commite8b65d01709c2ebdf50c0aa95963d200fa4fa4c6 (patch)
tree1f8c889788cd3958d0583d8a8b9192e3425ba115
parent19b60c273ab63c250db748e5eead6baba88cd0d8 (diff)
downloadqmk_firmware-e8b65d01709c2ebdf50c0aa95963d200fa4fa4c6.tar.gz
qmk_firmware-e8b65d01709c2ebdf50c0aa95963d200fa4fa4c6.zip
Cleanup rules.mk for 32U4 keyboards, A-F (#6804)
* Cleanup rules.mk for 32U4 keyboards, A-F * Put back stuff in VIA keymaps
-rw-r--r--keyboards/abstract/ellipse/keymaps/default/rules.mk0
-rw-r--r--keyboards/abstract/ellipse/rev1/rules.mk51
-rw-r--r--keyboards/acr60/rules.mk50
-rw-r--r--keyboards/adkb96/rules.mk58
-rw-r--r--keyboards/aeboards/aegis/keymaps/via/rules.mk4
-rw-r--r--keyboards/aeboards/aegis/rules.mk53
-rw-r--r--keyboards/aeboards/ext65/keymaps/via/rules.mk4
-rw-r--r--keyboards/aeboards/ext65/rules.mk53
-rw-r--r--keyboards/ai03/lunar/rules.mk51
-rw-r--r--keyboards/ai03/orbit/rules.mk63
-rw-r--r--keyboards/ai03/quasar/rules.mk51
-rw-r--r--keyboards/ai03/soyuz/rules.mk51
-rw-r--r--keyboards/akb/eb46/rules.mk51
-rw-r--r--keyboards/akb/raine/rules.mk51
-rw-r--r--keyboards/al1/rules.mk54
-rw-r--r--keyboards/alf/dc60/rules.mk54
-rw-r--r--keyboards/alf/x11/rules.mk51
-rw-r--r--keyboards/alf/x2/rules.mk50
-rw-r--r--keyboards/alpha/keymaps/vderm/alpha_vderm.hex1422
-rwxr-xr-xkeyboards/alpha/rules.mk46
-rwxr-xr-xkeyboards/alu84/rules.mk50
-rwxr-xr-xkeyboards/amj40/rules.mk54
-rw-r--r--keyboards/amj60/rules.mk54
-rw-r--r--keyboards/amj96/rules.mk54
-rw-r--r--keyboards/amjkeyboard/amj66/rules.mk41
-rw-r--r--keyboards/amjpad/rules.mk54
-rw-r--r--keyboards/angel17/rules.mk15
-rw-r--r--keyboards/angel64/rules.mk51
-rw-r--r--keyboards/at101_blackheart/rules.mk49
-rw-r--r--keyboards/atomic/rules.mk52
-rw-r--r--keyboards/atreus/astar/rules.mk50
-rw-r--r--keyboards/atreus/teensy2/rules.mk50
-rw-r--r--keyboards/atreus62/rules.mk47
-rw-r--r--keyboards/baguette/rules.mk51
-rw-r--r--keyboards/bantam44/rules.mk54
-rwxr-xr-xkeyboards/bigswitch/rules.mk49
-rw-r--r--keyboards/blockey/rules.mk54
-rw-r--r--keyboards/bm16a/rules.mk51
-rwxr-xr-xkeyboards/bm16s/rules.mk50
-rw-r--r--keyboards/boardwalk/rules.mk50
-rw-r--r--keyboards/bpiphany/sixshooter/rules.mk49
-rw-r--r--keyboards/bthlabs/geekpad/rules.mk51
-rw-r--r--keyboards/business_card/alpha/rules.mk51
-rw-r--r--keyboards/business_card/beta/rules.mk51
-rw-r--r--keyboards/business_card/rules.mk51
-rw-r--r--keyboards/butterstick/keymaps/default/rules.mk0
-rw-r--r--keyboards/butterstick/rules.mk20
-rwxr-xr-xkeyboards/c39/rules.mk53
-rw-r--r--keyboards/catch22/rules.mk50
-rw-r--r--keyboards/chimera_ergo/rules.mk74
-rw-r--r--keyboards/chimera_ls/rules.mk73
-rw-r--r--keyboards/chimera_ortho/rules.mk64
-rw-r--r--keyboards/choco60/rules.mk51
-rw-r--r--keyboards/christmas_tree/keymaps/default/rules.mk0
-rw-r--r--keyboards/christmas_tree/rules.mk52
-rwxr-xr-xkeyboards/ckeys/handwire_101/rules.mk52
-rw-r--r--keyboards/ckeys/nakey/rules.mk54
-rw-r--r--keyboards/ckeys/obelus/rules.mk54
-rw-r--r--keyboards/claw44/rules.mk60
-rw-r--r--keyboards/clueboard/17/rules.mk54
-rw-r--r--keyboards/clueboard/66/rev1/rules.mk19
-rw-r--r--keyboards/clueboard/66/rev2/rules.mk18
-rw-r--r--keyboards/clueboard/66/rev3/rules.mk19
-rw-r--r--keyboards/clueboard/66_hotswap/prototype/rules.mk21
-rw-r--r--keyboards/clueboard/card/rules.mk16
-rw-r--r--keyboards/cocoa40/keymaps/default/rules.mk1
-rw-r--r--keyboards/cocoa40/rules.mk51
-rw-r--r--keyboards/comet46/rules.mk57
-rwxr-xr-xkeyboards/contra/rules.mk48
-rw-r--r--keyboards/converter/adb_usb/rules.mk59
-rw-r--r--keyboards/converter/hp_46010a/rules.mk47
-rw-r--r--keyboards/converter/ibm_5291/rules.mk47
-rw-r--r--keyboards/converter/ibm_terminal/rules.mk51
-rw-r--r--keyboards/converter/m0110_usb/rules.mk58
-rw-r--r--keyboards/converter/numeric_keypad_IIe/rules.mk47
-rw-r--r--keyboards/converter/palm_usb/rules.mk17
-rw-r--r--keyboards/converter/sun_usb/rules.mk17
-rw-r--r--keyboards/converter/usb_usb/rules.mk57
-rw-r--r--keyboards/converter/xt_usb/rules.mk48
-rwxr-xr-xkeyboards/copenhagen_click/click_pad_v1/rules.mk14
-rw-r--r--keyboards/coseyfannitutti/discipad/rules.mk7
-rw-r--r--keyboards/coseyfannitutti/mullet/rules.mk51
-rw-r--r--keyboards/coseyfannitutti/mulletpad/rules.mk51
-rw-r--r--keyboards/cospad/rules.mk51
-rwxr-xr-xkeyboards/crawlpad/rules.mk48
-rw-r--r--keyboards/crkbd/rules.mk60
-rw-r--r--keyboards/cu24/rules.mk54
-rw-r--r--keyboards/cu75/rules.mk51
-rw-r--r--keyboards/daisy/rules.mk53
-rw-r--r--keyboards/dc01/arrow/rules.mk59
-rw-r--r--keyboards/dc01/left/rules.mk59
-rw-r--r--keyboards/dc01/numpad/rules.mk59
-rw-r--r--keyboards/dc01/right/rules.mk59
-rw-r--r--keyboards/deltasplit75/rules.mk56
-rwxr-xr-xkeyboards/dichotomy/rules.mk66
-rw-r--r--keyboards/diverge3/rules.mk54
-rw-r--r--keyboards/divergetm2/keymaps/default/rules.mk0
-rw-r--r--keyboards/divergetm2/rules.mk57
-rw-r--r--keyboards/dk60/rules.mk16
-rw-r--r--keyboards/do60/rules.mk57
-rw-r--r--keyboards/doro67/multi/rules.mk6
-rw-r--r--keyboards/doro67/regular/rules.mk5
-rw-r--r--keyboards/doro67/rgb/rules.mk56
-rw-r--r--keyboards/dozen0/rules.mk51
-rw-r--r--keyboards/dp60/keymaps/via/rules.mk3
-rw-r--r--keyboards/dp60/rules.mk20
-rw-r--r--keyboards/duck/eagle_viper/v2/rules.mk54
-rw-r--r--keyboards/duck/jetfire/rules.mk54
-rw-r--r--keyboards/duck/lightsaver/rules.mk54
-rw-r--r--keyboards/duck/octagon/v1/rules.mk54
-rw-r--r--keyboards/duck/octagon/v2/rules.mk54
-rw-r--r--keyboards/dumbpad/rules.mk51
-rw-r--r--keyboards/dz60/keymaps/LEdiodes/rules.mk45
-rw-r--r--keyboards/dz60/rules.mk45
-rw-r--r--keyboards/eco/rules.mk47
-rw-r--r--keyboards/emptystring/NQG/rules.mk53
-rw-r--r--keyboards/ep/40/rules.mk51
-rw-r--r--keyboards/ep/96/rules.mk51
-rw-r--r--keyboards/ep/comsn/hs68/rules.mk51
-rw-r--r--keyboards/ep/comsn/mollydooker/rules.mk51
-rw-r--r--keyboards/ep/comsn/tf_longeboye/rules.mk51
-rw-r--r--keyboards/ergo42/rules.mk51
-rw-r--r--keyboards/ergodash/rules.mk23
-rw-r--r--keyboards/ergodone/rules.mk80
-rw-r--r--keyboards/ergodox_ez/rules.mk72
-rw-r--r--keyboards/ergoinu/rules.mk50
-rw-r--r--keyboards/ergotaco/keymaps/default/rules.mk6
-rw-r--r--keyboards/ergotaco/rules.mk20
-rw-r--r--keyboards/ergotravel/keymaps/default/rules.mk0
-rw-r--r--keyboards/ergotravel/rules.mk47
-rwxr-xr-xkeyboards/espectro/rules.mk51
-rw-r--r--keyboards/evil80/rules.mk52
-rw-r--r--keyboards/exclusive/e65/rules.mk7
-rw-r--r--keyboards/exclusive/e6_rgb/rules.mk54
-rw-r--r--keyboards/exclusive/e6v2/le/rules.mk54
-rw-r--r--keyboards/exclusive/e6v2/oe/rules.mk54
-rw-r--r--keyboards/exclusive/e7v1/rules.mk42
-rw-r--r--keyboards/fc660c/rules.mk53
-rw-r--r--keyboards/fc980c/rules.mk54
-rw-r--r--keyboards/felix/rules.mk40
-rw-r--r--keyboards/fleuron/rules.mk54
-rw-r--r--keyboards/fortitude60/rules.mk54
-rw-r--r--keyboards/four_banger/rules.mk50
-rw-r--r--keyboards/foxlab/leaf60/hotswap/rules.mk51
-rw-r--r--keyboards/foxlab/leaf60/universal/rules.mk51
-rwxr-xr-xkeyboards/fractal/rules.mk46
-rw-r--r--keyboards/freyr/rules.mk15
147 files changed, 1019 insertions, 6911 deletions
diff --git a/keyboards/abstract/ellipse/keymaps/default/rules.mk b/keyboards/abstract/ellipse/keymaps/default/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/abstract/ellipse/keymaps/default/rules.mk
+++ /dev/null
diff --git a/keyboards/abstract/ellipse/rev1/rules.mk b/keyboards/abstract/ellipse/rev1/rules.mk
index 880d40e49b..6c7f5fea32 100644
--- a/keyboards/abstract/ellipse/rev1/rules.mk
+++ b/keyboards/abstract/ellipse/rev1/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/acr60/rules.mk b/keyboards/acr60/rules.mk
index 9c4082da29..1e6d4bb7cd 100644
--- a/keyboards/acr60/rules.mk
+++ b/keyboards/acr60/rules.mk
@@ -1,45 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
@@ -53,4 +23,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes \ No newline at end of file
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/adkb96/rules.mk b/keyboards/adkb96/rules.mk
index 707fafd7ca..cb4ce2dd7b 100644
--- a/keyboards/adkb96/rules.mk
+++ b/keyboards/adkb96/rules.mk
@@ -1,58 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
- # Bootloader selection
- # Teensy halfkay
- # Pro Micro caterina
- # Atmel DFU atmel-dfu
- # LUFA DFU lufa-dfu
- # QMK DFU qmk-dfu
- # atmega32a bootloadHID
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
diff --git a/keyboards/aeboards/aegis/keymaps/via/rules.mk b/keyboards/aeboards/aegis/keymaps/via/rules.mk
index f072c67198..70258b9ead 100644
--- a/keyboards/aeboards/aegis/keymaps/via/rules.mk
+++ b/keyboards/aeboards/aegis/keymaps/via/rules.mk
@@ -1,6 +1,6 @@
# project specific files
SRC = keyboards/wilba_tech/wt_main.c
-
+
# MCU name
MCU = atmega32u4
@@ -65,4 +65,4 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes \ No newline at end of file
+DYNAMIC_KEYMAP_ENABLE = yes
diff --git a/keyboards/aeboards/aegis/rules.mk b/keyboards/aeboards/aegis/rules.mk
index f1c632289c..602da86786 100644
--- a/keyboards/aeboards/aegis/rules.mk
+++ b/keyboards/aeboards/aegis/rules.mk
@@ -1,50 +1,16 @@
-# project specific files
-SRC = keyboards/wilba_tech/wt_main.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
# Build Options
# change yes to no to disable
#
@@ -63,3 +29,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+
+# project specific files
+SRC = keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/aeboards/ext65/keymaps/via/rules.mk b/keyboards/aeboards/ext65/keymaps/via/rules.mk
index f072c67198..70258b9ead 100644
--- a/keyboards/aeboards/ext65/keymaps/via/rules.mk
+++ b/keyboards/aeboards/ext65/keymaps/via/rules.mk
@@ -1,6 +1,6 @@
# project specific files
SRC = keyboards/wilba_tech/wt_main.c
-
+
# MCU name
MCU = atmega32u4
@@ -65,4 +65,4 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes \ No newline at end of file
+DYNAMIC_KEYMAP_ENABLE = yes
diff --git a/keyboards/aeboards/ext65/rules.mk b/keyboards/aeboards/ext65/rules.mk
index f1c632289c..bac979ad0c 100644
--- a/keyboards/aeboards/ext65/rules.mk
+++ b/keyboards/aeboards/ext65/rules.mk
@@ -1,50 +1,16 @@
-# project specific files
-SRC = keyboards/wilba_tech/wt_main.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
# Build Options
# change yes to no to disable
#
@@ -63,3 +29,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+
+# project specific files
+SRC += keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/ai03/lunar/rules.mk b/keyboards/ai03/lunar/rules.mk
index 6bb6d9ae9a..dd3d71baa9 100644
--- a/keyboards/ai03/lunar/rules.mk
+++ b/keyboards/ai03/lunar/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/ai03/orbit/rules.mk b/keyboards/ai03/orbit/rules.mk
index e225ad037c..758a73cd2a 100644
--- a/keyboards/ai03/orbit/rules.mk
+++ b/keyboards/ai03/orbit/rules.mk
@@ -1,69 +1,16 @@
-SRC += split_util.c \
- split_flags.c \
- serial.c \
- transport.c \
- matrix.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
@@ -88,4 +35,8 @@ USE_I2C = no # I2C for split communication
CUSTOM_MATRIX = yes # For providing custom matrix.c (in this case, override regular matrix.c with split matrix.c)
# SPLIT_KEYBOARD = yes # Split keyboard flag disabled as manual edits had to be done to the split common files
-
+SRC += split_util.c \
+ split_flags.c \
+ serial.c \
+ transport.c \
+ matrix.c
diff --git a/keyboards/ai03/quasar/rules.mk b/keyboards/ai03/quasar/rules.mk
index afbd1de147..6b67847791 100644
--- a/keyboards/ai03/quasar/rules.mk
+++ b/keyboards/ai03/quasar/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/ai03/soyuz/rules.mk b/keyboards/ai03/soyuz/rules.mk
index 5df789e581..f092cb35be 100644
--- a/keyboards/ai03/soyuz/rules.mk
+++ b/keyboards/ai03/soyuz/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/akb/eb46/rules.mk b/keyboards/akb/eb46/rules.mk
index 195c9e5023..5360459cf7 100644
--- a/keyboards/akb/eb46/rules.mk
+++ b/keyboards/akb/eb46/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/akb/raine/rules.mk b/keyboards/akb/raine/rules.mk
index 195c9e5023..5360459cf7 100644
--- a/keyboards/akb/raine/rules.mk
+++ b/keyboards/akb/raine/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/al1/rules.mk b/keyboards/al1/rules.mk
index 6ae59c1496..175adfd5d7 100644
--- a/keyboards/al1/rules.mk
+++ b/keyboards/al1/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/alf/dc60/rules.mk b/keyboards/alf/dc60/rules.mk
index 0e8f52e2b6..8df6c4c7c5 100644
--- a/keyboards/alf/dc60/rules.mk
+++ b/keyboards/alf/dc60/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/alf/x11/rules.mk b/keyboards/alf/x11/rules.mk
index d19b7c1baa..3439ac47f3 100644
--- a/keyboards/alf/x11/rules.mk
+++ b/keyboards/alf/x11/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/alf/x2/rules.mk b/keyboards/alf/x2/rules.mk
index 9c4082da29..1e6d4bb7cd 100644
--- a/keyboards/alf/x2/rules.mk
+++ b/keyboards/alf/x2/rules.mk
@@ -1,45 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
@@ -53,4 +23,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes \ No newline at end of file
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/alpha/keymaps/vderm/alpha_vderm.hex b/keyboards/alpha/keymaps/vderm/alpha_vderm.hex
deleted file mode 100644
index 7515ad0305..0000000000
--- a/keyboards/alpha/keymaps/vderm/alpha_vderm.hex
+++ /dev/null
@@ -1,1422 +0,0 @@
-:100000000C949F020C94E6020C94E6020C94E60217
-:100010000C94E6020C94E6020C94E6020C94E602C0
-:100020000C94E6020C94E6020C94E0250C94B226A3
-:100030000C940D1D0C94E6020C94E6020C94E6025E
-:100040000C94E6020C94E6020C94E6020C94E60290
-:100050000C94E6020C94751D0C94E6020C94E602D6
-:100060000C94E6020C94E6020C94E6020C94E60270
-:100070000C94E6020C94E6020C94E6020C94E60260
-:100080000C94E6020C94E6020C94E6020C94E60250
-:100090000C94E6020C94E6020C94E6020C94E60240
-:1000A0000C94E6020C94E6020C94E602AE03B00354
-:1000B000BB03B203B403B603B803BA03BD03BF0363
-:1000C000C103CC03C303C503C703C903CB03CE03DA
-:1000D000181318134A134A138813A6130C150C157A
-:1000E000E8130C158B148B14FC140C150C1505154A
-:1000F00098149814981498149814981498149814A0
-:10010000981498149814981498149814981498148F
-:10011000A914B714BE14C514CF149D159D15AF15A1
-:10012000AF15A615AF15AF15AF159D159D15AB15E0
-:10013000AF15AF15AB151F2746273E2846273E288B
-:100140009227B5273E280C281B2807634236B79B09
-:10015000D8A71A39685618AEBAAB558C1D3CB7CC27
-:100160005763BD6DEDFD753EF6177231BF0000009F
-:10017000803F05A84CCDB2D44EB93836A9020C50F8
-:10018000B9918688083CA6AAAA2ABE000000803F32
-:1001900014001A000800150017001C0018000C00BD
-:1001A0001200130004001600070009000A000B00EB
-:1001B0000D000E000F0028001D611B64064119424E
-:1001C00000002C62000005781174107129007F0076
-:1001D000AA00A900AE004A004E004B004D000000EE
-:1001E0002B000000000000000000500051005200F1
-:1001F0004F002A00E000E2000100035100002C62E1
-:100200000000E700E600E4001E001F0020002100BF
-:1002100022002300240025002600270035000000CE
-:100220002D002E0031002F003000330034002A0052
-:10023000E000E2000351010000002C6200003600E3
-:10024000370038003A003B003C003D003E003F00D4
-:10025000400041004200430044004500000000000F
-:10026000000000000000000000004C00E000E20080
-:100270000100010000002C620000E700E600E4003D
-:1002800000047F3F1F643214643214783C1E1E1435
-:100290000A056801F000B40078005A000000000070
-:1002A0000001010101010101010102020202020239
-:1002B000020202030303030303030304040404040C
-:1002C00004050505050506060606060707070708CF
-:1002D0000808080909090A0A0A0A0B0B0B0C0C0C7E
-:1002E0000D0D0D0E0E0F0F0F101011111112121314
-:1002F000131414151516161717181819191A1A1B8E
-:100300001C1C1D1D1E1F1F202021222223242525E9
-:1003100026272728292A2B2B2C2D2E2F2F30313220
-:1003200033343536363738393A3B3C3D3E3F404131
-:10033000424344464748494A4B4C4D4F5051525313
-:10034000555657585A5B5C5E5F60626364666769C6
-:100350006A6C6D6E707173747678797B7C7E808147
-:10036000838486888A8B8D8F91929496989A9B9D90
-:100370009FA1A3A5A7A9ABADAFB1B3B5B7B9BBBD9D
-:10038000BFC1C4C6C8CACCCFD1D3D6D8DADCDFE16E
-:10039000E4E6E8EBEDF0F2F5F7FAFCFF04033000D9
-:1003A00000000C0361006C00700068006100000038
-:1003B0000C035000790072006F004C000000040331
-:1003C000090409026D00040100A0FA0904000001FB
-:1003D00003010100092111010001224000070581EC
-:1003E0000308000A090401000103010200092111A8
-:1003F000010001224D000705820308000A090402DA
-:10040000000103000000092111010001223600074C
-:1004100005830308000A0904030001030000000922
-:100420002111010001223900070584032000011277
-:1004300001100100000008EDFE60600100010203F0
-:100440000105010906A101050719E029E7150025A5
-:1004500001950875018102050819012905950575A1
-:100460000191029501750391010507190029F715FE
-:1004700000250195F875018102C005010980A101DF
-:1004800085021601002603001A81002A83007510D8
-:1004900095018100C0050C0901A101850316010029
-:1004A000269C021A01002A9C02751095018100C049
-:1004B00005010902A1010901A10005091901290588
-:1004C00015002501950575018102950175038101CE
-:1004D0000501093009311581257F950275088106CE
-:1004E00009381581257F950175088106050C0A38A4
-:1004F000021581257F950175088106C0C005010997
-:1005000006A101050719E029E715002501950875E1
-:1005100001810295017508810105081901290595D8
-:1005200005750191029501750391010507190029CF
-:10053000FF150026FF00950675088100C0001124F4
-:100540001FBECFEFDAE0DEBFCDBF04B603FE27C08B
-:100550008091620290916302A0916402B091650261
-:100560008730904BA740B04BD1F4109262021092AA
-:100570006302109264021092650214BE84B7877FF2
-:1005800084BF0FB6F894A89580916000886180932D
-:100590006000109260000FBEE0E0F8E3099511E002
-:1005A000A0E0B1E0E0E8F8E502C005900D92A234C9
-:1005B000B107D9F722E0A2E4B1E001C01D92A23652
-:1005C000B207E1F70E940B230C943E2C0C94000020
-:1005D0000895089581E0089581E008950C94EC0257
-:1005E0000C9461080C94630808950C94F4020C9424
-:1005F000F50208950E9489150E94F9022FEF84E305
-:100600009CE0215080409040E1F700C0000087E767
-:1006100097E790930108809300080C949B1DFF922C
-:100620000F931F93CF93DF938C01FC01C081D18185
-:1006300080919101811113C08281882349F0CE01FC
-:100640000E94E61AF82E682FCE010E948F1A04C06D
-:10065000CE010E94BA1AF82EBE018F2D04C0CE0121
-:100660000E94E61ABE010E94B305EC01B8010E9487
-:10067000EE02882309F46CC2B801CE010E94120870
-:10068000882309F465C2C93CFCE5DF0741F4F801A1
-:100690008281882309F45CC20E94290A59C2CA3C9B
-:1006A0008CE5D80708F013C1C13C9CE5D90761F47B
-:1006B000F8018281882309F44BC20E94B71B827221
-:1006C000F1F00E94490C44C2C23CECE5DE07D0F0D8
-:1006D000F8018281C53CFCE5DF0709F4CDC008F0D4
-:1006E000DDC0C33CECE5DE0709F4CCC008F0D0C0A7
-:1006F000882309F42DC20E94B71B827211F30E9455
-:100700003F0C26C2C531FCE5DF0708F07EC0C230D1
-:100710008CE5D80708F452C0F8018281882309F4D7
-:1007200059C00E94141C811102C00E94F31B0E9438
-:10073000311C90E09093540280935302FE01E350E9
-:10074000FC45E231F10530F4EA5AFF4F8091530243
-:100750000C94E32B80915302816027C0826025C0F6
-:10076000846023C0806121C080621FC080641DC07E
-:1007700080681BC08460886018C08E7F16C08D7F23
-:1007800014C08B7F12C08F7E10C08F7D0EC08F7BF8
-:100790000CC08F770AC08B7F877F07C087FB22271B
-:1007A00020F991E0922790FB87F980935302809182
-:1007B00053020E94351C0E948915CAC1C1159CE5CF
-:1007C000D90781F0C130DC45A9F081E08093470171
-:1007D00080934801C801DF91CF911F910F91FF9045
-:1007E0000C94EA02F8018281882309F4B1C10E94C5
-:1007F000FA02AEC1F8018281882309F4A9C180916F
-:100800000B02816080930B02A3C1C531FCE5DF07B9
-:1008100039F50E94B71B982FF801828120910D01B4
-:1008200030910E01882379F09A7A81E009F480E012
-:1008300080934201911102C069E201C065E3C901E0
-:100840000E94971C0AC080914201811102C069E296
-:1008500001C065E3C9010E94A21C0E94841B78C1EB
-:10086000C03CDC4509F0B1CFF8018281882309F44E
-:100870006FC10E94DA0C6CC1882309F469C10E941F
-:10088000880B66C1882309F463C10E94510B60C1C3
-:10089000882309F45DC10E94690B5AC1C73C9CE5DD
-:1008A000D90731F4882309F453C10E94BD0B50C10C
-:1008B000C83CDC4530F4882309F44AC10E94A30BEC
-:1008C00047C1882309F444C10E94D80B41C1C13DEE
-:1008D000FCE5DF0749F4F8018281882309F438C177
-:1008E00088E10E943C0C34C1C23D8CE5D80708F079
-:1008F00087C0F8018281CD3CFCE5DF07A1F48823A5
-:1009000009F426C10E941B0A663071058105910514
-:1009100040F00E941B0A683071058105910508F4BA
-:10092000EECE86E0DECFCE3C9CE5D90730F5CB3C61
-:10093000ECE5DE0729F4882309F40AC181E0D1CF70
-:10094000CC3CDC4530F4882309F402C10E943E0A05
-:10095000FFC0882309F4FCC00E941B0A62307105A5
-:100960008105910540F00E941B0A653071058105E3
-:10097000910508F4C4CE82E0B4CFCF3C9CE5D90702
-:10098000A1F4882309F4E4C00E941B0A6F307105AA
-:100990008105910540F00E941B0A643171058105B3
-:1009A000910508F4ACCE8FE09CCFC03DDC45A0F4AF
-:1009B000882309F4CDC00E941B0A693071058105A6
-:1009C000910540F00E941B0A6E307105810591056A
-:1009D00008F495CE89E085CF882309F4B9C00E9438
-:1009E0001B0A653171058105910540F00E941B0AC3
-:1009F000673171058105910508F481CE85E171CFDC
-:100A0000C53DFCE5DF0739F5F8018281882361F0F7
-:100A1000109248010E943F1D90934601809345012A
-:100A200080E20E94D51294C08091480181110FC0CC
-:100A300080914501909146010E944B1D883C910593
-:100A400030F487E20E94731187E20E946F1280E205
-:100A50000E94DC127DC0C63D8CE5D80708F043C07B
-:100A6000F8018281C33DFCE5DF0729F4882309F4FE
-:100A70006FC083E236CFC43DDC45A0F4882309F47F
-:100A800067C00E941B0A693171058105910540F01C
-:100A90000E941B0A623271058105910508F42FCE70
-:100AA00089E11FCF882351F0109247010E943F1D1A
-:100AB000909344018093430182E0B3CF809147013A
-:100AC00081110FC080914301909144010E944B1D00
-:100AD000883C910530F486E20E94731186E20E9400
-:100AE0006F1282E0B5CFC93DECE5DE0731F4F801C5
-:100AF0008281882369F180E009C0CA3DFCE5DF07F7
-:100B000041F4F8018281882319F182E00E94A72331
-:100B10001FC0C63DDC4509F058CEF8018281811125
-:100B200077CF80914801811192CF809145019091BA
-:100B300046010E944B1D883C910508F088CF80E259
-:100B40000E94DC1288E20E94731188E20E946F12F8
-:100B500080E0DF91CF911F910F91FF90089580E089
-:100B600090E0089508952EE1829FC0011124FC01B8
-:100B70002AE0729FE00DF11D1124E60FF11DEE0F2A
-:100B8000FF1FE057FE4F859194910895880F991F9C
-:100B9000FC01E058FD4F859194910895CF93DF9328
-:100BA0000E94B3050E947207EC018115904508F080
-:100BB00041C0C11580E4D80708F01CC1C83ED1056A
-:100BC00010F5C03ED10508F089C1C83AD10578F4C6
-:100BD000C53AD10508F09EC0C130D10509F47EC1E7
-:100BE00008F435C1C430D10508F078C130C1CD3B1F
-:100BF000D10508F49AC0C03CD10508F428C1CE0143
-:100C0000805C9109E9C0C11590E2D90758F4C1157B
-:100C100021E0D20708F062C1C03FD10508F417C136
-:100C2000D0655CC1C11580E3D80708F0D9C0CE01FA
-:100C30009F70D2C0C11595E5D90708F044C0C11511
-:100C400024E5D20708F0EDC0C11582E5D80710F5FC
-:100C5000C11591E5D90708F0D0C0CE0174E0969592
-:100C600087957A95E1F7282F23703C2F337081E028
-:100C700090E002C0880F991F3A95E2F79C68922B8A
-:100C8000CF70C695C69520E2C29FE0011124C82B03
-:100C9000D92B24C19E01237033278C2F86958695EE
-:100CA000C115D34508F0AEC0C1E0D0E002C0CC0F02
-:100CB000DD1F2A95E2F720E2829FC0011124C82B94
-:100CC000D92BDC680BC1C11529E5D20780F4C11509
-:100CD00088E5D80708F0AAC0C11596E5D90708F03D
-:100CE000B6C0CF71DD27DC2FCC27D062F7C0CE0194
-:100CF000C1152AE5D20708F49EC09056811590428E
-:100D000008F0A5C08D2F8F710E94EE07DD27D062FD
-:100D10008F719BC0C53AD10509F49CC0C63AD10574
-:100D200009F09BC0C2E8D0E4D9C0C83AD10509F4A3
-:100D300097C0C93AD10509F496C0CA3AD10509F459
-:100D400095C0CB3AD10509F494C0CC3AD10509F449
-:100D500093C0CB3BD10509F492C0CC3BD10509F43B
-:100D600091C0CD3AD10509F490C0C03BD10509F43A
-:100D70008FC0CE3AD10509F48EC0CF3AD10509F41F
-:100D80008DC0C13BD10509F48CC0C23BD10509F42B
-:100D90008BC0C33BD10509F48AC0C43BD10509F41B
-:100DA00089C0C53BD10509F488C0C63BD10509F40B
-:100DB00087C0C73BD10509F486C0C83BD10509F4FB
-:100DC00085C0C93BD10509F484C0CA3BD10509F4EB
-:100DD00083C0C0E0D4E482C00E94C605EC017EC09E
-:100DE000CE019927D3FF03C0EC01D86C77C0EC018A
-:100DF000D06C74C0DF70D06A71C0DC2FCC27C16F9B
-:100E0000D06A6CC0C1E0D0E002C0CC0FDD1F2A95D3
-:100E1000E2F720E2829FC0011124C82BD92BDA68A7
-:100E20005DC0DC2FCC27C46FD06A58C0DC2FCC2724
-:100E3000C06FD06A53C024E0969587952A95E1F754
-:100E40008F70CF70C06ED0E0D06AD82B47C0C0E0A2
-:100E5000D0E044C0C1E8D0E441C0C3E8D0E43EC023
-:100E6000C2EED4E43BC0C9EED4E438C0CAEED4E448
-:100E700035C0C5EBD4E432C0C6EBD4E42FC0C3EB1D
-:100E8000D4E42CC0C4EBD4E429C0C7EBD4E426C01E
-:100E9000CCECD4E423C0CDECD4E420C0C3E8D5E44A
-:100EA0001DC0CAE8D5E41AC0C2E9D5E417C0C4E938
-:100EB000D5E414C0C1E2D6E411C0C3E2D6E40EC04A
-:100EC000C4E2D6E40BC0C5E2D6E408C0C6E2D6E46C
-:100ED00005C0C7E2D6E402C0CAE2D6E4CE01DF9183
-:100EE000CF9108958238910549F1B0F4813391058D
-:100EF00009F459C048F48932910509F44FC08A3287
-:100F0000910509F455C008958533910509F441C050
-:100F10008933910599F00895833E910531F138F4B4
-:100F2000803E910591F0823E9105A9F00895863E9C
-:100F3000910501F1873E910539F108952091530201
-:100F400020FD3BC021FD39C008958091530280FFF0
-:100F500034C089E341C08091530282FF30C0809148
-:100F6000530284FD2EC083EE37C08091530282FD70
-:100F700026C0F5CF8091530283FF25C08091530294
-:100F800084FD1FC087EE28C08091530283FD1BC0E3
-:100F9000F5CF8091530285FD18C019C0809153028E
-:100FA00085FD15C012C08091530286FD12C013C08A
-:100FB0008091530286FD0FC00CC080EE0DC082EE02
-:100FC0000BC080E009C086EE07C089E205C085E35A
-:100FD00003C08AE201C081E390E00895909153023A
-:100FE00092FF0DC0282F2871283019F4877F846064
-:100FF00006C0282F2471243011F48B7F886093FF62
-:101000000DC0282F2871283119F4877E846106C00D
-:10101000282F2471243111F48B7E886194FD877E02
-:10102000089508950F931F93CF93FB0122812111FF
-:1010300002C0C1E041C08C01C0915601C11125C060
-:1010400086319C45B1F70E94110881E080935601DA
-:101050000E943F1D909355018093540110924901C5
-:1010600010924B0110924A0110924D0110924C01C6
-:1010700010924F0110924E011092510110925001A6
-:10108000109253011092520117C080915401909117
-:1010900055010E944B1D8C32914058F690914901A8
-:1010A000E92FF0E0EE0FFF1FE65BFE4F1183008398
-:1010B0009F5F90934901C0E08C2FCF911F910F91BA
-:1010C00008950C94E8020C94E902CF93DF93AAE20E
-:1010D000B1E04DE251E061E070E08D91E82FE295E2
-:1010E000EF70F0E021A18F70EB0102C0CC0FDD1F8B
-:1010F0008A95E2F7CE019C2F9095922391A392A11D
-:10110000892B82A34A175B0741F7A0E2B1E04AE2CC
-:1011100051E061E070E08D91E82FE295EF70F0E032
-:1011200021A18F70EB0102C0CC0FDD1F8A95E2F781
-:10113000CE019C2F9095922391A392A1892B82A3FB
-:101140004A175B0741F710925E0110925D01109201
-:101150005801109257011092600110925F01109295
-:101160005A0110925901109262011092610110927D
-:101170005C0110925B01DF91CF910C94F0022F92F1
-:101180003F924F925F926F927F928F929F92AF9217
-:10119000BF92CF92DF92EF92FF920F931F93CF9364
-:1011A000DF932AE2E22E21E0F22EC7E5D1E03DE511
-:1011B000832E31E0932E01E010E066246394BE019B
-:1011C000A880B98019821882D7018D917D01E82FFE
-:1011D000E295EF70F0E021A18F70A80102C0440FEA
-:1011E000551F8A95E2F7CA01242B21A322A1742E50
-:1011F0007094272122A350EA5A95F1F790E2292E04
-:1012000091E0392E20E030E0D1015D901D01452DA7
-:1012100042954F7050E0DA0190964C90C880D9808A
-:10122000552D5F70D80102C0AA0FBB1F5A95E2F777
-:10123000AD01442141F4A801022E02C0440F551F04
-:101240000A94E2F702C040E050E04C295D2959833E
-:1012500048832F5F3F4F2A303105B1F691A17922A3
-:1012600071A292A1892B82A32296FB018081918198
-:10127000A816B90641F0609263010E943F1D909349
-:101280006501809364018C169D0609F098CF8091CA
-:101290006301882311F180916401909165010E949E
-:1012A0004B1D0697D0F08091570190915801909373
-:1012B0005E0180935D018091590190915A01909354
-:1012C000600180935F0180915B0190915C0190933C
-:1012D000620180936101109263010E94F20281E039
-:1012E000DF91CF911F910F91FF90EF90DF90CF9002
-:1012F000BF90AF909F908F907F906F905F904F9036
-:101300003F902F900895E82FF0E0EE0FFF1FE35A73
-:10131000FE4F8081918108950895EF92FF920F937F
-:101320001F93CF93DF93E901662309F44BC0242F69
-:1013300030E0EFEFF0E0E61BF109B901E69F900124
-:10134000E79F300DF69F300D1124232F8B01031BD7
-:1013500011095CE3E52EF12CB7010E94BB2BFB01C8
-:10136000BC01069FC001079F900D169F900D112490
-:10137000B7010E94BB2BE230F105B1F040F4309789
-:1013800079F0319711F5832F242F461B21C0E430CB
-:10139000F105A1F068F03597C1F4842F861B18C0C1
-:1013A000832F262F230F14C0862F830FE42F03C013
-:1013B000E42FE61B842F432F2E2F0AC0842F462FA5
-:1013C000430F06C0842F242F03C080E020E040E0BC
-:1013D000E42FF0E0E456FD4F4491E22FF0E0E456B4
-:1013E000FD4F9491E82FF0E0E456FD4FE4914983DE
-:1013F0009883EA83DF91CF911F910F91FF90EF9037
-:10140000089588E090E00C94FE2BAB01BC0188E0CD
-:1014100090E00C941C2CE9E3F2E083E080831092CE
-:101420003A028FEF8283838314826081718182818B
-:1014300093810C94050A6091390260FF06C066959D
-:101440006F7370E080E090E0089560E070E0CB01A1
-:10145000089580913D0290E001968430910514F04A
-:1014600083E090E080933D026091390270913A02EE
-:1014700080913B0290913C020C94050A80913D02C0
-:1014800090E0019797FF02C080E090E084309105E2
-:1014900014F083E090E080933D02609139027091F6
-:1014A0003A0280913B0290913C020C94050A809193
-:1014B000390280FF06C065E070E08EE392E00C9494
-:1014C0001910EEE3F2E0118210821282339682E06C
-:1014D000ED34F807C1F7EFCF9091390290FF0CC0BF
-:1014E000EEE3F2E0818360834283339692E0ED3451
-:1014F000F907C1F70C94570A0895CF93DF9300D0F2
-:101500001F92CDB7DEB72091390220FF0AC09E019D
-:101510002F5F3F4F0E948D094B8169818A810E9414
-:101520006C0A0F900F900F90DF91CF9108955F920A
-:101530006F927F928F929F92AF92BF92CF92DF92E3
-:10154000EF92FF920F931F93CF93DF9300D01F92E0
-:10155000CDB7DEB78C01E62EF42E522E80913902E3
-:1015600080FF89C0982F9E77923061F49E012F5F93
-:101570003F4FC8010E948D094B8169818A810E9479
-:101580006C0A59C0E82FE695EF739EE39E0F9F7398
-:10159000943018F4F0903C024EC09AE39E0F9F7373
-:1015A000993068F4881F8827881F90913A02292F64
-:1015B000220F022F082B97FB112710F93CC087E25E
-:1015C0008E0F8F738A30B8F5F0E07997E0FD02C096
-:1015D00021E001C02FEFEE7FEE56FD4F85919491F3
-:1015E00065E070E00E94BB2B26034001279F900C12
-:1015F0001124580188E9A81A8EEFB80A8EE3C82E84
-:1016000082E0D82E98E6692E77247394C501B30141
-:101610000E94BB2B96014F2D6E2D0E948D09A80CA8
-:10162000B91C83E0C80ED11C8DE4C81682E0D80630
-:1016300069F70E94570A8091390200FB87F980936D
-:101640003902902F969580913A028078892B10FB71
-:1016500087F980933A02E0923B02F0923C025520D7
-:1016600051F06091390270913A0280913B02909161
-:101670003C020E94050A0F900F900F90DF91CF91CE
-:101680001F910F91FF90EF90DF90CF90BF90AF90A0
-:101690009F908F907F906F905F90089521E00C94C1
-:1016A000970AE9E3F2E02081221F2227221F3091CE
-:1016B0003A02432F440F842F822B37FB992790F94E
-:1016C000089668E671E00E94CF2B438162810C94FA
-:1016D0004E0B20913902221F2227221F30913A02FD
-:1016E000432F440F842F822B37FB992790F98830A2
-:1016F00091051CF4805A9E4F05C0089768E671E07A
-:101700000E94CF2B40913C0260913B020C944E0B07
-:1017100060913B02862F90E0883F910514F4685F4A
-:1017200001C06FEF80913902881F8827881F909130
-:101730003A02292F220F97FB992790F940913C02FA
-:10174000822B0C944E0B60913B02862F90E0089701
-:1017500014F0685001C060E080913902881F88272A
-:10176000881F90913A02292F220F97FB992790F911
-:1017700040913C02822B0C944E0B40913C02842FF2
-:1017800090E0883F910514F4485F01C04FEF8091CD
-:101790003902881F8827881F90913A02292F220F2B
-:1017A00097FB992790F960913B02822B0C944E0B8A
-:1017B00040913C02842F90E0089714F0485001C0FB
-:1017C00040E080913902881F8827881F90913A0253
-:1017D000292F220F97FB992790F960913B02822BCA
-:1017E0000C944E0B20E00C94970ACF939091390201
-:1017F00090FF40C09178811102C0926007C085328D
-:1018000010F0986403C08F73880F982B909339025F
-:10181000662351F06091390270913A0280913B0247
-:1018200090913C020E94050AC09139026C2F669586
-:101830006F7370E04BE050E082E091E00E94E92B92
-:10184000892B19F01092830103C081E080938301FA
-:10185000CC1FCC27CC1F90913A02892F880F97FB81
-:10186000992790F940913C0260913B028C2BCF91DB
-:101870000C94F20BCF91089561E00C94F50B8091DC
-:10188000390286958F738F5F853208F081E00C9462
-:101890003C0C8091390286958F73815009F484E263
-:1018A0000C943C0CE9E3F2E08081816080838695B2
-:1018B0008F730C943C0C60E00C94F50B80910B0240
-:1018C000816080930B020E94141C811104C00E944D
-:1018D000F31B0E940B0A0E94010A60933902709365
-:1018E0003A0280933B0290933C026E7761F40E942F
-:1018F0000B0A0E94010A6093390270933A028093A6
-:101900003B0290933C0281E08093830180913902F5
-:1019100080FF04C086958F730C945B0C08959091A2
-:10192000390290FF10C0253070F430E0F901EE0F5D
-:10193000FF1F2E0F3F1FF901E25CFD4F8183608383
-:1019400042830C94570A08951F93CF93DF9300D0DE
-:101950001F92CDB7DEB73091390230FF0CC0122F85
-:101960009E012F5F3F4F0E948D09212F4B8169817E
-:101970008A810E948F0C0F900F900F90DF91CF9172
-:101980001F910895E9E3F2E080818E7F808360817A
-:101990007181828193810E94050A109283012FEF49
-:1019A00080E792E0215080409040E1F700C00000C5
-:1019B0000C94570A8091390280FD0C94C20C0C944F
-:1019C000520CCF93C82F80918101909182010E9487
-:1019D0004B1DEC2FF0E0E257FD4FE491F0E08E1745
-:1019E0009F0708F443C00E943F1D9093820180939B
-:1019F00081016091800170E080E090E00E94BC294C
-:101A000020E030E04FE753E40E94DF282BED3FE079
-:101A100049E450E40E94E52A0E94522B0E94592971
-:101A20002BE43AE34EE25FE30E94722820EF3BEFA3
-:101A300048ED52E40E94E52A0E948B29462F8091AE
-:101A40003902881F8827881F90913A02292F220F78
-:101A500097FB992790F960913B02822B0E947D0AA7
-:101A60008091800190E0019680938001CF9108954C
-:101A7000CF93C82F80917E0190917F010E944B1DD2
-:101A8000EC2FF0E0E557FD4FE491F0E08E179F0753
-:101A9000E8F00E943F1D90937F0180937E0140916A
-:101AA0003C0260913B0280917C0190917D010E94FB
-:101AB0007D0A80917C0190917D01019668E671E03C
-:101AC0000E94BB2B90937D0180937C01CF91089560
-:101AD000CF92DF92FF920F931F93CF93DF93F82E55
-:101AE00080917A0190917B010E944B1DEF2DE6952C
-:101AF000F0E0E857FD4FE491F0E08E179F07C0F14A
-:101B00000E943F1D90937B0180937A010EE312E0C7
-:101B1000C0E0D0E088E6C82EDD24D394809178011F
-:101B2000909179018C0F9D1FB6010E94BB2B9801EB
-:101B300040913C0260913B020E948D09C85BDF4FDF
-:101B40000D5F1F4FC83681E0D80741F70E94570A42
-:101B50008091780190917901F0FE05C00196BE0157
-:101B60000E94BB2B01C0019790937901809378016B
-:101B7000DF91CF911F910F91FF90DF90CF9008954B
-:101B8000CF92DF92EF92FF920F931F93CF93DF9349
-:101B9000C82F80FF02C01FEF01C011E080917601C5
-:101BA000909177010E944B1DC695EC2FF0E0EB570A
-:101BB000FD4FE491F0E08E179F0708F45BC00E9490
-:101BC0003F1D90937701809376012EE3E22E22E071
-:101BD000F22EC0E0D0E0F70111821082128294E070
-:101BE000C92ED12C00E080917501800F87FD8B5F9D
-:101BF000082E000C990BC817D907E9F480913C0214
-:101C00008C9DA0018D9D500D11245595479555959E
-:101C1000479580913902881F8827881F90913A0242
-:101C2000592F550F97FB992790F9970160913B0227
-:101C3000852B0E948D09010FF1E0CF1AD10899F68A
-:101C4000219683E0E80EF11CC530D10521F60E94F3
-:101C5000570A80917501113031F4811102C084E07E
-:101C600007C0815005C090E00196BE010E94CF2BB5
-:101C700080937501DF91CF911F910F91FF90EF90AD
-:101C8000DF90CF9008950F931F93CF93DF93C82FCA
-:101C900080917301909174010E944B1DEC2FF0E034
-:101CA000EE57FD4FE491F0E08E179F0708F456C001
-:101CB0000E943F1D9093740180937301CEE3D2E0A4
-:101CC000FE01118210821282339682E0ED34F80711
-:101CD000C1F700E010E080917201082E000C990B12
-:101CE00008171907ECF080910101082E000C990BE0
-:101CF00080179107ACF080913902881F8827881FD0
-:101D000090913A02592F550F97FB992790F99E0110
-:101D100040913C0260913B02852B0E948D0903C0DB
-:101D2000198218821A820F5F1F4F23960530110502
-:101D300091F60E94570A8091000190917201980FCC
-:101D40009093720120910101280F20930101121636
-:101D500014F494301CF0819580930001DF91CF91B1
-:101D60001F910F910895EF92FF920F931F93CF93BE
-:101D7000DF9380917001909171010E944B1D883E0C
-:101D80009340D0F10E943F1D9093710180937001A8
-:101D9000C0916E01D0916F012196C170DD27D09363
-:101DA0006F01C0936E018EE3E82E82E0F82E10E002
-:101DB00008E7812F8695FE01E80FF11DCF018170A4
-:101DC0009927970140913C0260913B02FC010E9FD4
-:101DD000C0010F9F900D11240E948D091F5FF3E039
-:101DE000EF0EF11C153029F7DF91CF911F910F9164
-:101DF000FF90EF900C94570ADF91CF911F910F91B4
-:101E0000FF90EF900895CF93DF9300D01F92CDB74E
-:101E1000DEB780916C0190916D010E944B1DE0E84E
-:101E2000F2E02591349182179307C0F180916B0104
-:101E300081110CC09E012F5F3F4F4FEF6FEF80E08D
-:101E400090E00E948D098A8180936B010E943F1D62
-:101E500090936D0180936C0180916A01813051F003
-:101E600028F0823061F440916B010AC080916B01CF
-:101E700040E007C060916B0140E080E003C040E0BB
-:101E800080E060E00E946C0A80916A0190E0019617
-:101E900063E070E00E94CF2B80936A010F900F9057
-:101EA0000F90DF91CF910895CF93DF9380916801D8
-:101EB000909169010E944B1D843F914008F444C0F9
-:101EC0000E943F1D9093690180936801C0E0D0E0BB
-:101ED00020916601309167018091390290913A0218
-:101EE000C230D1051CF4232B79F002C0232B61F4FE
-:101EF000881F8827881F392F330F97FB992790F960
-:101F00002C2F40913C020AC0881F8827881F392F38
-:101F1000330F97FB992790F92C2F40E060913B02FB
-:101F2000832B0E94A40C2196C530D10589F60E940E
-:101F3000570A8091660190916701019681709927F7
-:101F40009093670180936601DF91CF91089580910E
-:101F500083018823D9F190913902892F86958F7357
-:101F60002EE3280F2F73243018F482500C94E10CC8
-:101F70002AE3280F2F73233018F486500C94380D61
-:101F800027E3280F2F73263018F489500C94680D1E
-:101F900021E3280F2F73263018F48F500C94C00DB6
-:101FA0002BE2280F2F73233018F485510C94430E25
-:101FB000892F8E77803311F40C94B30E863411F48C
-:101FC0000C94030F883411F40C94540F089521B32A
-:101FD000342F3095232331B3432B3FB7F894FC01C2
-:101FE000680F791FE617F70789F0819198E041BBE8
-:101FF000000000C087FF21BB880F000000C000C0A8
-:1020000000C021BB00C09A9591F7ECCF3FBF089567
-:1020100020B3242B20BB9B01220F331F620F731FA1
-:102020000E94E70F87EC90E00197F1F700C00000F5
-:10203000089540E10C9408109093890180938801E1
-:102040000895E0918801F0918901309721F0019085
-:10205000F081E02D099480E00895E0918801F091ED
-:102060008901309721F00280F381E02D09940895D1
-:10207000E0918801F0918901309721F00480F58189
-:10208000E02D099408952091860130918701281749
-:10209000390771F09093870180938601E091880160
-:1020A000F0918901309721F00680F781E02D0994A5
-:1020B000089520918401309185012817390771F026
-:1020C0009093850180938401E0918801F0918901CA
-:1020D000309721F00084F185E02D0994089508954A
-:1020E0000C946F1081E008950E94361D85B78068BA
-:1020F00085BF85B7806885BF0E9465080E94F81D6E
-:102100000C945E0C5F926F927F928F929F92AF922F
-:10211000BF92CF92DF92EF92FF920F931F93CF93D4
-:10212000DF93CDB7DEB72A970FB6F894DEBF0FBEA8
-:10213000CDBF0E94BF080E947210811111C08FEFA5
-:1021400089838A831B820E943F1D8160782F9D8333
-:102150008C8349815A816B818D810E943F1156C0C9
-:102160009BE8692E91E0792E00E010E088248394AA
-:10217000912C502E802F0E9483096C01F301A190B5
-:10218000B1903F01A826B926A114B10431F40F5F24
-:102190001F4F0330110569F7D2CF80910B0281FDEB
-:1021A0000E948C0980E090E07401082E02C0EE0CC1
-:1021B000FF1C0A94E2F795012E213F21232B09F100
-:1021C0008E835F82CE20DF2081E0CD2809F480E07D
-:1021D00088870E943F1D8160782F9A8789874E816A
-:1021E0005F8168858A850E943F11000F111FF801E9
-:1021F000E557FE4F80819181E826F926F182E08241
-:1022000005C001968A30910579F6C1CF0E949B20C6
-:102210000E94211090918A018917D9F00E94211003
-:1022200080938A012A960FB6F894DEBF0FBECDBF09
-:10223000DF91CF911F910F91FF90EF90DF90CF90A2
-:10224000BF90AF909F908F907F906F905F900C9415
-:10225000F7022A960FB6F894DEBF0FBECDBFDF910E
-:10226000CF911F910F91FF90EF90DF90CF90BF9093
-:10227000AF909F908F907F906F905F900895CF93D5
-:10228000DF93CDB7DEB72B970FB6F894DEBF0FBE46
-:10229000CDBF4F83588769877A878B87DE01119678
-:1022A00086E0FD0111928A95E9F785E0FE013796F7
-:1022B00001900D928A95E1F749815A816B817C8169
-:1022C0008D819E810E9456182B960FB6F894DEBF22
-:1022D0000FBECDBFDF91CF910895FC018081918128
-:1022E0000E94251B0895882309F4F8C08238C1F4A0
-:1022F0000E94211081FDF2C069E380910D0190914F
-:102300000E010E94971C0E94841B2FEF81EE94E027
-:10231000215080409040E1F700C0000069E319C0FF
-:102320008338F9F40E94211080FDD8C063E58091C4
-:102330000D0190910E010E94971C0E94841B2FEFAB
-:1023400081EE94E0215080409040E1F700C0000011
-:1023500063E580910D0190910E010E94A21C0C94E6
-:10236000841B8438C1F40E94211082FDB7C067E449
-:1023700080910D0190910E010E94971C0E94841B78
-:102380002FEF81EE94E0215080409040E1F700C0B3
-:10239000000067E4DECF9CEF980F913A40F4682F7D
-:1023A00080910D0190910E010E94971CD8CF90E270
-:1023B000980F983050F4877091E001C0990F8A957A
-:1023C000EAF7892F0E94BA1BCACF9BE5980F93307A
-:1023D00070F4853A29F0863A31F083E890E005C040
-:1023E00081E890E002C082E890E00C94431098E508
-:1023F000980F953108F06EC0883A61F1893A69F119
-:102400008A3A71F18B3A79F18C3A81F18B3B89F1FF
-:102410008C3B91F18D3A99F1803BA1F18E3AA9F173
-:102420008F3AB1F1813BB9F1823BC1F1833BC9F1F4
-:10243000843BD1F1853BD9F1863BE1F1873BE9F162
-:10244000883BF1F1893BF9F18A3B09F43FC080E018
-:1024500090E03EC082EE90E03BC089EE90E038C054
-:102460008AEE90E035C085EB90E032C086EB90E0DC
-:102470002FC083EB90E02CC084EB90E029C087EB69
-:1024800090E026C08CEC90E023C08DEC90E020C062
-:1024900083E891E01DC08AE891E01AC082E991E0EA
-:1024A00017C084E991E014C081E292E011C083E298
-:1024B00092E00EC084E292E00BC085E292E008C098
-:1024C00086E292E005C087E292E002C08AE292E0F2
-:1024D0000C945910803F10F00C94A31F089588238A
-:1024E00009F462C0823879F40E94211081FF5CC037
-:1024F00069E380910D0190910E010E94971C0E944A
-:10250000841B69E310C08338B1F40E94211080FF5E
-:102510004BC063E580910D0190910E010E94971CC4
-:102520000E94841B63E580910D0190910E010E9431
-:10253000A21C0C94841B843879F40E94211082FF21
-:1025400033C067E480910D0190910E010E94971CA9
-:102550000E94841B67E4E7CF9CEF980F913A10F438
-:10256000682FE1CF90E2980F983050F4877091E097
-:1025700001C0990F8A95EAF7892F0E94C01BD9CF15
-:102580009BE5980F933020F480E090E00C9443108A
-:1025900098E5980F953120F480E090E00C94591064
-:1025A000803F10F00C940B200895882321F00E94A6
-:1025B000BA1B0C94841B0895882321F00E94C01B31
-:1025C0000C94841B08958F929F92AF92BF92DF92DA
-:1025D000EF92FF920F931F93CF93DF937C01D62F3F
-:1025E000C72FFC01058102950F70128111110E9405
-:1025F000D71B0E947D1B882379F0112369F080E2AC
-:102600008D0F883048F082E00E94661B0E947D1B7F
-:1026100091E0D82ED92601C0D12CBC2EB2948FE0E7
-:10262000B8228B2D90E0FC01E859FF4F0C94E32B6E
-:102630008C2F807FCF70882311F0C295C07F11232B
-:1026400099F0CC2309F4C3C180E28D0F883010F0DB
-:10265000D11104C08C2F0E94BA1B03C08C2F0E9482
-:10266000CA1B0E94841BB3C18D2F0E946F12CC2302
-:1026700009F4D2C180E28D0F883010F0D11104C06E
-:102680008C2F0E94C01B03C08C2F0E94D01B0E9465
-:10269000841BC2C18C2F807FCF70803211F0C29515
-:1026A000C07FDD2319F0D130C9F022C0112371F0B1
-:1026B000002341F0013031F40E94F01B8C2B0E946A
-:1026C000EA1BAAC10E94F01B8C2B3AC1002319F00F
-:1026D000013009F4A1C10E94ED1B18C0112321F0A3
-:1026E000063008F099C10EC0053008F095C10EC043
-:1026F000112351F0002331F0F701858180FF67C17C
-:102700008F7085838C2F1CC1011172C18C2F1EC14B
-:102710008C2F86958695837019F0813061F07CC18D
-:10272000112321F08D2F9C2F937002C080E090E048
-:102730000E9443107EC1112321F08D2F9C2F937096
-:1027400002C080E090E00E94591073C11123F9F09B
-:10275000D53F51F0D63F71F0D43FA9F480914D029E
-:1027600090914E0281600BC080914D0290914E027B
-:10277000826005C080914D0290914E0284609093DA
-:102780004E0280934D028D2F0E94A31F1EC0D53F85
-:1027900051F0D63F71F0D43FA9F480914D02909151
-:1027A0004E028E7F0BC080914D0290914E028D7F24
-:1027B00005C080914D0290914E028B7F90934E0206
-:1027C00080934D028D2F0E940B200E94902031C1DA
-:1027D0008C2F837009F04CC0111127C12D2F229529
-:1027E00026952770220F220F6D2F6F70862F90E095
-:1027F000A0E0B0E04C015D01022E04C0880C991CE1
-:10280000AA1CBB1C0A94D2F7D4FF12C08FE090E040
-:10281000A0E0B0E004C0880F991FAA1FBB1F2A9533
-:10282000D2F7BC01CD01609570958095909503C05D
-:1028300060E070E0CB01C695C695C370C23051F020
-:1028400080F4682979298A299B29C13071F00E9476
-:10285000A519EBC0682979298A299B290E94B719F3
-:10286000E4C00E94A519C501B4010E949319DDC0FE
-:10287000112319F08C2F817001C08695882309F4EB
-:10288000D4C02D2F229526952770220F220F6D2F51
-:102890006F70862F90E0A0E0B0E04C015D01022E49
-:1028A00004C0880C991CAA1CBB1C0A94D2F7D4FF44
-:1028B00012C08FE090E0A0E0B0E004C0880F991F44
-:1028C000AA1FBB1F2A95D2F7BC01CD016095709558
-:1028D0008095909503C060E070E0CB01C695C695E9
-:1028E000C370C23051F080F4682979298A299B2964
-:1028F000C13071F00E946A1A98C0682979298A2922
-:102900009B290E947C1A91C00E946A1AC501B401D9
-:102910000E94581A8AC08D2F90E0FC01E05EF109F8
-:10292000E531F10508F04FC0E858FF4F0C94E32B58
-:10293000DF708C2F8F71112331F00E94F1198D2FD0
-:102940000E94D51269C00E94121A8D2F0E94DC12BB
-:1029500063C0112341F0053008F05EC08C2F8F71E9
-:102960000E94371A59C0063008F056C0F7CF11231D
-:1029700039F08C2F8F710E94F1194EC01123C9F3C9
-:102980008C2F8F710E94121A47C0112329F08C2FAF
-:102990008F710E94DC1940C00E94D7193DC01123DD
-:1029A00049F0CF718C2F0E94F11963E08C2F0E94A7
-:1029B0005D1B32C081E00E94661B023068F182E03C
-:1029C0000E94661B29C0112331F0002391F28D2F44
-:1029D0000E94731121C0002399F2D93349F4FFEF0B
-:1029E00027EE83E0F15020408040E1F700C0000076
-:1029F0008D2F0E946F1210C04C2F4F706D2FC7018A
-:102A00000E94AF050E94041914C04C2F4F706D2F07
-:102A1000C7010E94B2050DC098E0B91631F0B91691
-:102A200040F086EF8B0D823020F40E9421100E942E
-:102A3000F702DD20E1F00E94591B80FD18C0F7016C
-:102A400012820E94531B0E94F119C7010E94431574
-:102A50000E94531BDF91CF911F910F91FF90EF9038
-:102A6000DF90BF90AF909F908F900C94121ADF91DF
-:102A7000CF911F910F91FF90EF90DF90BF90AF909B
-:102A80009F908F9008950F931F93CF93DF93EC0146
-:102A9000988189812B813C81232B31F08F3F31F448
-:102AA00081E09F3F19F403C081E001C080E080FD18
-:102AB00013C0CE010E940F03882371F068817981D1
-:102AC0008A810E94301B8C010E948E1A0E948119FB
-:102AD000B801CE010E94E312DF91CF911F910F91B7
-:102AE00008950E94D71B0E94E71B80910D019091D1
-:102AF0000E010E94AD1C0E94841B0E9432210E9484
-:102B0000902080E090E00E94431080E090E00C94E0
-:102B100059100E94C71B0C9471150E94251BE92FA8
-:102B2000E295EF704E2F50E0FA013297EE30F1054A
-:102B3000B0F4E357FF4F0C94E32B803F91F018F46F
-:102B4000803E68F40EC0843F51F40BC0803E48F0D4
-:102B5000813F29F406C093FB882780F9089580E01F
-:102B6000089581E00895CF93DF9300D000D01F92A5
-:102B7000CDB7DEB70F900F900F900F900F90DF91B1
-:102B8000CF910895CF93DF9300D000D000D0CDB780
-:102B9000DEB726960FB6F894DEBF0FBECDBFDF912D
-:102BA000CF9108951F93CF93DF93C091920116E0C8
-:102BB00080919301C81799F0D0E01C9FF0011D9FF0
-:102BC000F00D1124EC56FE4F4081518162817381DA
-:102BD000848195810E94C2152196C770E9CFDF914B
-:102BE000CF911F9108954091C4015091C50160910A
-:102BF000C6017091C7018091C8019091C9010C94E0
-:102C0000C215CF938091C90182958F7009F05FC082
-:102C10008091C601882309F45AC080919201B09135
-:102C200093017091C401A091C5014091C7015091D9
-:102C3000C80191E07F3F09F090E0692FC6E08B1753
-:102C400009F445C04115510521F0AF3F21F020E0C6
-:102C500003C021E001C0262F90E020FD35C0C89FB1
-:102C6000F001C99FF00D1124EC56FE4F21812A136B
-:102C70002BC02081271328C02281211125C0238148
-:102C800034812417350710F421503109241B350BEA
-:102C9000283C3105C8F42091C9012F702061209390
-:102CA000C90126E0289FF001299FF00D1124E75665
-:102CB000FE4F80818F708061808384EC91E00E9460
-:102CC0004315CF910C94D21501968770B8CFCF9150
-:102CD0000895AF92BF92CF92DF92EF92FF920F933F
-:102CE0001F93CF93DF93CDB7DEB761970FB6F894FC
-:102CF000DEBF0FBECDBF8C0185E0F801DE011D9661
-:102D000001900D928A95E1F7D8014C9111965C9152
-:102D100011971296EC903091C4016091C501809199
-:102D2000C7019091C801009731F06F3F31F421E065
-:102D30003F3F19F403C021E001C020E0B22FB17081
-:102D4000BB2E20FD60C1F801C380D480A090C601D5
-:102D5000AA2009F4EEC02091C901C816D90628F0AE
-:102D6000D601A81BB90BCD0104C0809590958C0DA0
-:102D70009D1DFF24F394883C910580F0F12C207F69
-:102D800009F09CC07C2DD98AC88A6E2D89890E9441
-:102D9000B31584EC91E00E9443152DC1822F807FF2
-:102DA00009F054C0561314C0431312C0FE2CE11096
-:102DB0000FC02F7020612093C9010E94F31584EC8D
-:102DC00091E00E9443158091C901F80185835CC19F
-:102DD000CD2831F05F3F31F481E04F3F19F403C05B
-:102DE00081E001C080E080FD03C081E08E2502C04B
-:102DF00080E090E0F82FF170FF2E80FF1CC08091E2
-:102E000092012091930136E0821709F41AC190E0F3
-:102E1000389FF001399FF00D1124EC56FE4F61816F
-:102E2000561306C06081461303C06281E61203C0D8
-:102E300001968770E9CFFE2CEE2009F425C1809120
-:102E4000C90181608093C901F12C1EC1561309C0CC
-:102E5000431307C0E11005C08091C901F8018583C3
-:102E6000A4C04D875E878D859E850E948D15882321
-:102E700079F1EE2069F12091C901822F82958F703E
-:102E800090E0029774F08091C4019091C5019887F9
-:102E90008F831986DB86CA862C87CE0107960E940F
-:102EA000431586E0F801A4ECB1E001900D928A95FB
-:102EB000E1F70E9401160E94F3150DC0561771F03C
-:102EC0004D875E878D859E850E948D1581111AC064
-:102ED000C8010E944315FF24F394D6C04313F0CFDA
-:102EE000E110EECF8091C901F8018583C8010E94ED
-:102EF000431586E0E4ECF1E0DF011D928A95E9F7E5
-:102F0000FA2CC2C0EE2021F32091C901822F8295B4
-:102F10008F7090E002972CF28091C4019091C501CE
-:102F20009A8389831B82DD82CC822E83CE01019617
-:102F3000B6CFC816D90628F0F601E81BF90BCF0169
-:102F400004C0809590958C0D9D1D883C910548F09E
-:102F5000F12C7C2DD98AC88A6E2D89890E94B315DF
-:102F60004AC0FE2CEE2009F4B3CF561333C04313EE
-:102F700031C02091C90120FD24C0822F82958F701D
-:102F8000482F50E041155105E1F0D80115962C93DA
-:102F900015974F30510549F08F5F982F9295907F8C
-:102FA000822F8F70892B15968C93C8010E94431530
-:102FB00086E0F801A4ECB1E001900D928A95E1F76A
-:102FC0003DC086E0F801A4ECB1E001900D928A9535
-:102FD000E1F75AC04D875E878D859E850E948D15CD
-:102FE00081115FCF8091C90181608093C901C801BF
-:102FF0000E94431549C0E4ECF1E086E0DF011D9238
-:103000008A95E9F71BC0EE2009F462CF4D875E87F1
-:103010008D859E850E948D15F82E882309F458CF42
-:1030200086E0F801A4ECB1E001900D928A95E1F7F9
-:1030300084EC91E00E946D110E9401160E94F3152C
-:1030400023C04D875E878D859E850E94251B292F75
-:1030500022952F70223028F49F7039F0811105C01D
-:103060000BC0243028F49F7049F4805E883020F033
-:10307000C8010E944315BF2CFB2C06C0D801159631
-:103080009C91907F91F7F8CF8F2D61960FB6F894B1
-:10309000DEBF0FBECDBFDF91CF911F910F91FF908B
-:1030A000EF90DF90CF90BF90AF9008951F93CF9394
-:1030B000DF93CDB7DEB72C970FB6F894DEBF0FBE07
-:1030C000CDBF4F83588769877A878B879C87CE01CE
-:1030D00007960E9469168823D1F09F8188852A85EA
-:1030E0003B85232B31F08F3F31F481E09F3F19F472
-:1030F00003C081E001C080E080FD47C04F8158855A
-:1031000069857A858B859C850E94C2153EC086E0C4
-:10311000FE013796DE01119601900D928A95E1F736
-:10312000FF81E8856A857B856115710531F0EF3F88
-:1031300031F481E0FF3F19F403C081E001C080E079
-:1031400080FD23C02091930130E0C9010196877072
-:1031500099274091920150E084179507F1F1F98386
-:10316000EA837D836C8396E0929FD001939FB00D9C
-:103170001124AC56BE4FFE01319601900D929A95E6
-:10318000E1F7809393010E94D21516E0809192019D
-:1031900090919301891771F1189FC00111248C56E9
-:1031A0009E4F0E946916882329F1E09192011E9F8B
-:1031B000F0011124EC56FE4F4081518162817381F0
-:1031C000848195810E94C2158091920190E00196C0
-:1031D0008770992780939201D9CF0E948915109208
-:1031E000930110929201E4ECF1E086E0DF011D9280
-:1031F0008A95E9F72C960FB6F894DEBF0FBECDBFC7
-:10320000DF91CF911F910895EF92FF920F931F933B
-:10321000CF93DF938C01892B09F46CC0F12CEE2441
-:10322000E394E8012196F8018491843740F48430D6
-:1032300008F051C0813081F0823019F15BC08537D0
-:1032400009F444C0A8F19CE7980F903708F052C0E9
-:103250008F770E946F1241C00E5F1F4FFE01849155
-:1032600090E2980F983050F48770FE2D01C0FF0F48
-:103270008A95EAF78F2F0E94DA1B14C00E947311FF
-:103280002DC00E5F1F4FFE01849190E2980F983081
-:1032900060F48770FE2D01C0FF0F8A95EAF78F2F2B
-:1032A0000E94E01B0E94841B19C00E946F1216C06E
-:1032B0000E5F1F4FFE01C491CC2381F08FE99FE088
-:1032C0000197F1F700C00000C150F6CF0E5F1F4F0D
-:1032D000FE01F49003C00E9473118E018F2D88238C
-:1032E00009F49FCFEFE9FFE03197F1F700C000004C
-:1032F0008150F5CFDF91CF911F910F91FF90EF900B
-:103300000895089508950C9482190E94831960937A
-:10331000E2017093E3018093E4019093E5010C9442
-:1033200071150C9485190F931F930091E201109170
-:10333000E3012091E4013091E501602B712B822B98
-:10334000932B1F910F910C9485190F931F9300914C
-:10335000E2011091E3012091E4013091E501602345
-:103360007123822393231F910F910C9485190F933E
-:103370001F930091E2011091E3012091E40130914B
-:10338000E50160277127822793271F910F910C94E5
-:1033900085190C9482190E94C9196093DE017093FB
-:1033A000DF018093E0019093E1010C94711560E0DE
-:1033B00070E0CB010C94CB190F931F9341E050E0C8
-:1033C00060E070E08A019B0104C0000F111F221F02
-:1033D000331F8A95D2F7C901B8011F910F910C9440
-:1033E000CB190F931F9341E050E060E070E004C000
-:1033F000440F551F661F771F8A95D2F78091DE0113
-:103400009091DF01A091E001B091E1018A019B015F
-:10341000082B192B2A2B3B2BC901B8011F910F91A7
-:103420000C94CB190F931F9341E050E060E070E0E3
-:1034300004C0440F551F661F771F8A95D2F7409529
-:103440005095609570958091DE019091DF01A0917B
-:10345000E001B091E1018A019B01082319232A238D
-:103460003B23C901B8011F910F910C94CB190F9305
-:103470001F9341E050E060E070E004C0440F551F2E
-:10348000661F771F8A95D2F78091DE019091DF0148
-:10349000A091E001B091E1018A019B010827192761
-:1034A0002A273B27C901B8011F910F910C94CB1912
-:1034B0000F931F930091DE011091DF012091E00135
-:1034C0003091E101602B712B822B932B1F910F9177
-:1034D0000C94CB190F931F930091DE011091DF0123
-:1034E0002091E0013091E101602371238223932335
-:1034F0001F910F910C94CB190F931F930091DE0134
-:103500001091DF012091E0013091E10160277127E6
-:10351000822793271F910F910C94CB1908952AE0CD
-:10352000929F800D1124E82FE695E695E695877029
-:1035300051E001C0550F8A95EAF785E0E89FF00158
-:103540001124E653FE4F20E030E070E04081CB01D3
-:10355000022E02C0969587950A94E2F781708195B4
-:1035600084278523842781932F5F3F4F25303105A2
-:1035700069F708952AE0929F800D1124682F6695BF
-:1035800066956695982F977085E0689FB001112425
-:1035900040E050E080E0FB01E40FF51FE653FE4FF2
-:1035A000208130E0092E02C0369527950A94E2F773
-:1035B00021703327042E01C0220F0A94EAF7822BD0
-:1035C0004F5F5F4F4530510531F70895CF92DF923D
-:1035D000EF92FF920F931F93CF93DF938C01C090D4
-:1035E000DE01D090DF01E090E001F090E1018091F8
-:1035F000E2019091E301A091E401B091E501C82AB4
-:10360000D92AEA2AFB2ACFE1D0E0D701C6010C2E45
-:1036100004C0B695A795979587950A94D2F780FD33
-:1036200004C0219790F780E007C0B8018C2F0E945A
-:10363000CE050197B1F38C2FDF91CF911F910F91A0
-:10364000FF90EF90DF90CF900895CF93DF93EC0140
-:103650000E94E61ABE010E94CE05DF91CF91089527
-:103660001F93CF93DF93EB0190919101992321F068
-:10367000CB010E94251B13C0882349F0CB010E9477
-:10368000E61A182F682FCE010E948F1A04C0CB01B2
-:103690000E94BA1A182FBE01812F0E94CE05DF9119
-:1036A000CF911F9108958091E60185958595859527
-:1036B00008958091E6018770089598E0899F9001B0
-:1036C0001124262B2093E6010C94F1192091E60198
-:1036D000809582238093E601982F977069F430E0FB
-:1036E000482F082E000C550B2417350729F0859517
-:1036F000859585950C94121A08959091E60197701E
-:1037000081E009F480E00895E0910D01F0910E014F
-:1037100080910A028083E0910D01F0910E01908169
-:1037200080910902892B8083E0910D01F0910E01B7
-:10373000908180910802892B80838091E701882302
-:1037400081F0E0910D01F0910E019081892B808331
-:1037500080910D0190910E010E943A1C81111092EE
-:10376000E70180910D0190910E010C942D10809134
-:103770000A02089590910A02892B80930A02089503
-:10378000809590910A02892380930A0208951092ED
-:103790000A02089590910902892B809309020895E5
-:1037A00080959091090289238093090208951092CF
-:1037B0000902089590910802892B809308020895C8
-:1037C00080959091080289238093080208951092B1
-:1037D000080208958093E70108951092E701089583
-:1037E0008091E70108956DEE7EEF80E090E00E9409
-:1037F000282C60E082E090E00E940A2C60E083E0E8
-:1038000090E00E940A2C60E084E090E00E940A2C84
-:1038100060E085E090E00E940A2C40E050E0BA01B0
-:1038200088E090E00C941C2C80E090E00E94042C36
-:1038300021E08D3E9E4F09F020E0822F089582E026
-:1038400090E00C94F62B682F82E090E00C940A2C08
-:1038500083E090E00C94F62B682F83E090E00C94CA
-:103860000A2C84E090E00C94F62B682F84E090E022
-:103870000C940A2CFC0131969C01205E3F4F80E0A5
-:10388000919191118F5FE217F307D1F708959C0191
-:10389000FC0132969FEF80E04191461789F09F3FEF
-:1038A00019F4411101C0982F8F5F8E31A9F79F3F06
-:1038B00039F0F901E90FF11D97FDFA95628308953A
-:1038C00008959C01225E3F4FFC014281461301C0D6
-:1038D0001282019682179307B9F70895262F26952D
-:1038E000269526952F3169F0FC01E20FF11D6770D6
-:1038F00021E030E001C0220F6A95EAF78181282B90
-:1039000021830895262F2695269526952F3171F02F
-:10391000FC01E20FF11D677021E030E001C0220FD1
-:103920006A95EAF7209581812823218308952091C3
-:103930001F01222329F02091530227FD0C946E1CB5
-:103940000C94471C20911F01222329F0209153023F
-:1039500027FD0C94821C0C94611CFC01319680960E
-:103960001192E817F907E1F7089508950C94B51C32
-:103970000C94B51CCF930E94B81C0E94BF080E94F3
-:10398000B61CC0E08C2F0E948309892B29F4CF5FDD
-:10399000C330C1F780E001C081E0CF9108950C945D
-:1039A000B51C0C94CF1C0E94D11C8091590284300C
-:1039B00049F110920C0220E488E190E00FB6F894EF
-:1039C000A895809360000FBE2093600080E00E9465
-:1039D000F7020E94D11C83B7817F846083BF83B7C5
-:1039E000816083BF7894889583B78E7F83BF0FB63D
-:1039F000F894A8958091600088618093600010928F
-:103A000060000FBE08950C94B51C0E9489150E9499
-:103A100021100E94F7020C94031D1F920F920FB603
-:103A20000F9211248F939F93AF93BF9380910C02B9
-:103A3000811113C080914F0290915002A0915102C8
-:103A4000B09152024196A11DB11D80934F029093F7
-:103A50005002A0935102B0935202BF91AF919F9137
-:103A60008F910F900FBE0F901F90189582E084BD2C
-:103A700093E095BD9AEF97BD80936E0008952FB7A0
-:103A8000F89480914F0290915002A0915102B09110
-:103A900052022FBF0895CF92DF92EF92FF920F93C1
-:103AA0001F932FB7F89440914F02509150026091AC
-:103AB0005102709152022FBF6A017B01EE24FF2454
-:103AC0008C0120E030E0C016D106E206F30610F4C7
-:103AD000415051099A01281B390BC9011F910F91BF
-:103AE000FF90EF90DF90CF90089578941F920F92FF
-:103AF0000FB60F9211248F939F93AF93BF93809132
-:103B00004F0290915002A0915102B0915202019641
-:103B1000A11DB11D80934F0290935002A0935102BA
-:103B2000B0935202BF91AF919F918F910F900FBEB2
-:103B30000F901F90189587E797E79093010880935F
-:103B400000089AE088E10FB6F894A8958093600089
-:103B50000FBE90936000FFCFAF92BF92CF92DF92E3
-:103B6000EF92FF920F931F93CF93C0E0CC24C394A6
-:103B7000D12CE82EF12C8C2F0E9483095C0100E0EF
-:103B800010E0C601002E02C0880F991F0A94E2F7C8
-:103B90008A219B21892B31F40F5F1F4F0A301105B9
-:103BA00081F70AC0602F7C2F80E00E94B305E816E1
-:103BB000F90691F781E004C0CF5FC330E1F680E001
-:103BC000CF911F910F91FF90EF90DF90CF90BF901A
-:103BD000AF900895CF93C82F8CE20E94AC1D88232C
-:103BE00021F08C2FCF910C94AC1D80E0CF910895E3
-:103BF000CF930E94141C811102C00E94F31BC5E6E2
-:103C0000C15049F00E94BF088FE39CE90197F1F78A
-:103C100000C00000F5CF89E20E94EA1D81110FC1AA
-:103C20008AE20E94EA1D81110E94F31B85E00E9436
-:103C3000EA1D81110E949B1D0E941F1C80930B0294
-:103C400087E00E94EA1D8823A9F18BE10E94EA1D0A
-:103C5000882351F080910B0281FB222720F991E00B
-:103C6000922790FB81F90EC08EE00E94EA1D882306
-:103C700061F080910B0282FB222720F991E09227CC
-:103C800090FB82F980930B0215C080E10E94EA1D2F
-:103C900090910B02882341F093FB222720F981E0C9
-:103CA000822780FB93F904C0892F809580FB90F9CF
-:103CB00090930B0280910B020E94231C0E94311CE6
-:103CC00090E0909354028093530280EE0E94EA1D8C
-:103CD000882341F080915302982F909590FB80F9B2
-:103CE0008093530289E30E94EA1D882359F0809152
-:103CF000530281FB222720F991E0922790FB81F962
-:103D00008093530282EE0E94EA1D882359F080912D
-:103D1000530282FB222720F991E0922790FB82F93F
-:103D20008093530286EE0E94EA1D882359F0809109
-:103D3000530283FB222720F991E0922790FB83F91D
-:103D40008093530283EE0E94EA1D882359F08091EC
-:103D5000530284FB222720F991E0922790FB84F9FB
-:103D60008093530285E30E94EA1D882359F08091D5
-:103D7000530285FB222720F991E0922790FB85F9D9
-:103D80008093530281E30E94EA1D882359F08091B9
-:103D9000530286FB222720F991E0922790FB86F9B7
-:103DA0008093530281E10E94EA1D882359F080919B
-:103DB000530287FB222720F991E0922790FB87F995
-:103DC00080935302809153020E94351C87E20E9427
-:103DD000EA1DC82F8EE10E94EA1D8111C2608FE1A9
-:103DE0000E94EA1D8111C46080E20E94EA1D8111D7
-:103DF000C86081E20E94EA1D8111C06182E20E94D6
-:103E0000EA1D8111C06283E20E94EA1D8111C06433
-:103E100084E20E94EA1D882311F0C06802C0CC230E
-:103E200029F08C2F0E942C1C6C2F03C00E94281C90
-:103E3000682F70E080E090E0CF910C949119CF91C1
-:103E4000089580910F0280FF0BC06091120185E000
-:103E5000689FB001112475956795759567952BC07E
-:103E600081FF09C06091120185E0689FB0011124B3
-:103E70007595679520C082FF07C06091120185E0AB
-:103E8000689FB001112417C0909110029923D1F0BE
-:103E900060911101961788F72091120185E0289F03
-:103EA00090011124929FA001939F500D112470E066
-:103EB000CA010E94CF2B6038710540F4611571056D
-:103EC00019F406C065E070E0862F08958FE7089525
-:103ED00081E0089580910F0280FF08C06091100179
-:103EE00070E0759567957595679521C081FF06C04F
-:103EF0006091100170E07595679519C082FF04C04C
-:103F00006091100170E010C090911002992399F017
-:103F100060910F019617A0F780911001899FC00151
-:103F2000112470E00E94CF2B6038710540F46115B8
-:103F3000710519F406C061E070E0862F08958FE7DF
-:103F4000089581E00895803F21F40E94211F81950A
-:103F500004C0813F29F40E94211F80931302089519
-:103F6000823F21F40E94211F819504C0833F29F4E0
-:103F70000E94211F809312020895893F19F40E9424
-:103F80006A1F05C08A3F31F40E946A1F81958093A1
-:103F9000140208958B3F21F40E946A1F819504C08A
-:103FA0008C3F29F40E946A1F809315020895843F74
-:103FB00021F480911102816017C0853F21F4809126
-:103FC0001102826011C0863F21F480911102846049
-:103FD0000BC0873F21F480911102886005C0883FA3
-:103FE00031F48091110280618093110208958D3F18
-:103FF00021F480910F0281600BC08E3F21F48091EB
-:104000000F02826005C08F3F29F480910F02846007
-:1040100080930F020895803F39F48091130287FF47
-:104020006CC01092130269C0813F29F48091130281
-:104030001816BCF362C090911202823F29F497FFD8
-:104040005CC01092120259C0833F19F41916CCF3C8
-:1040500054C0893F41F48091140218160CF04DC0F1
-:10406000109214024AC08A3F29F48091140287FFFB
-:1040700044C0F6CF8B3F39F48091150287FF3DC0D5
-:10408000109215023AC08C3F29F48091150218163F
-:10409000BCF333C0843F21F4809111028E7F17C09E
-:1040A000853F21F4809111028D7F11C0863F21F45C
-:1040B000809111028B7F0BC0873F21F48091110208
-:1040C000877F05C0883F31F4809111028F7E8093F5
-:1040D000110213C08D3F21F480910F028E7F0BC01F
-:1040E0008E3F21F480910F028D7F05C08F3F29F410
-:1040F00080910F028B7F80930F02809112028111B9
-:104100000EC08091130281110AC0809114028111A6
-:1041100006C080911502811102C01092100208950C
-:1041200081E192E00E9438100E943F1D90930E02A0
-:1041300080930D0208951F93CF93DF9380910D021A
-:1041400090910E020E944B1DAC0190911002992398
-:1041500021F02091130130E006C0209114018AE083
-:10416000289F900111244217530708F477C08091CB
-:104170001202C0911302D091140210911502811104
-:1041800007C0C11167C0D11165C0111163C066C0FD
-:104190009F3F19F09F5F90931002181624F40E941D
-:1041A000211F809312028091120287FF05C00E9496
-:1041B000211F8195809312021C1624F40E94211F56
-:1041C000809313028091130287FF05C00E94211F74
-:1041D000819580931302309112023323C1F0209114
-:1041E00013022223A1F045EB3403C0011124892FCF
-:1041F000911101C081E08093120235EB2303C001CD
-:104200001124892F911101C081E0809313021D16A2
-:1042100024F40E946A1F809314028091140287FF85
-:1042200005C00E946A1F819580931402111624F420
-:104230000E946A1F809315028091150287FF05C0B6
-:104240000E946A1F819580931502DF91CF911F9183
-:104250000C9490209F3F09F09DCFAECFDF91CF917E
-:104260001F910895E1E1F2E085E0DF011D928A955A
-:10427000E9F71092100210920F0208958091360211
-:1042800008950F931F93CF93DF9300D01F92CDB764
-:10429000DEB78C010E94B723823011F0843019F50B
-:1042A00083E089831B830A838093E9008FEF9091D9
-:1042B000E800815095FD06C095ED9A95F1F7000054
-:1042C0008111F5CF8091E80085FF0DC040E050E0FE
-:1042D00063E070E0CE0101960E94D4238091E80053
-:1042E0008E778093E8000F900F900F90DF91CF9121
-:1042F0001F910F910895CF93DF9300D01F92CDB7F8
-:10430000DEB720915902243031F522E0298380580C
-:1043100091099B838A8383E08093E9008FEF9091DA
-:10432000E800815095FD06C095ED9A95F1F70000E3
-:104330008111F5CF8091E80085FF0DC040E050E08D
-:1043400063E070E0CE0101960E94D4238091E800E2
-:104350008E778093E8000F900F900F90DF91CF91B0
-:104360000895CF93DF93EC010E94B723823011F0C0
-:104370008430F9F482E08093E9008FEF9091E800B7
-:10438000815095FD06C095ED9A95F1F700008111D9
-:10439000F5CF8091E80085FF0CC040E050E065E07B
-:1043A00070E0CE010E94D4238091E8008E77809344
-:1043B000E800DF91CF910895CF93DF93EC010E9445
-:1043C000B723823019F0843009F047C080911F0173
-:1043D0008823E1F08091530287FF18C084E0809326
-:1043E000E9008FEF9091E800815095FD06C095E1BE
-:1043F0009A95F1F700008111F5CF8091E80085FFD3
-:104400002CC040E050E060E270E017C081E0809393
-:10441000E9008FEF9091E800815095FD06C095ED81
-:104420009A95F1F700008111F5CF8091E80085FFA2
-:1044300014C040E050E068E070E0CE010E94D42358
-:104440008091E8008E778093E80080E2FE01A6E18B
-:10445000B2E001900D928A95E1F7DF91CF91089536
-:1044600080915802811109C00E9465250E94C225D1
-:104470008091E20084608093E200089510925802D7
-:104480000895089508950C94051D42E061EC81E0C3
-:104490000E94DE2442E061EC82E00E94DE2442E0E1
-:1044A00061EC83E00E94DE2442E261EC84E00C9443
-:1044B000DE2480915B02833009F455C030F48130F2
-:1044C00071F0823009F48EC008958A3009F47AC000
-:1044D0008B3009F460C0893009F09CC020C0809105
-:1044E0005A02813A09F096C08091E800877F809354
-:1044F000E80080915E0290915F02892B21F460E2D6
-:1045000086E192E003C060E080E090E070E00E940D
-:104510001F248091E8008B778093E80008958091B4
-:104520005A02813209F076C080915E0290915F025A
-:10453000009719F0039709F06DC08091E800877F1C
-:104540008093E8008091E80082FD05C080915902C7
-:104550008111F8CF5FC08091F10080933602809185
-:10456000E8008B7753C080915A02813A09F052C01B
-:1045700080915E0290915F02892B09F04BC080917F
-:10458000E800877F8093E8008091E80080FFFCCFFF
-:1045900080911F0136C080915A028132D9F58091F5
-:1045A0005E0290915F02892BA9F58091E800877FD8
-:1045B0008093E8000E94132580915C0280931F0184
-:1045C0000C94891580915A02813221F58091E8007E
-:1045D000877F8093E8000E94132580915D0280937D
-:1045E0003702089580915A02813AA1F48091E8003F
-:1045F000877F8093E8008091E80080FFFCCF809166
-:1046000037028093F1008091E8008E778093E80074
-:104610000C941325089584B7877F84BF0FB6F89450
-:10462000A89580916000886180936000109260007E
-:104630000FBE80E880936100109261000E947010AC
-:104640000E9465250E94C2258091E20084608093CB
-:10465000E20078940E9457280E94741085E191E04E
-:104660000E941C1080915902853069F40E94D31C6D
-:10467000809157028823B1F30E94BA1C882391F3DA
-:104680000E94BE23EFCF0E9482100E94A70FEACFA4
-:104690000C944A23292F332723303105C9F060F4C5
-:1046A0002130310581F02230310509F047C08DE617
-:1046B00090E022EC33E046C02132310511F1223284
-:1046C000310561F13BC082E190E02FE234E03AC075
-:1046D00099278130910561F040F08230910559F0C1
-:1046E000039761F5ECE9F3E008C0EEEBF3E005C0F9
-:1046F000E0EBF3E002C0E2EAF3E0849190E09F0196
-:1047000021C064307105D0F4660F771FFB01E75CB0
-:10471000FE4F2081318189E090E014C06430710542
-:1047200068F4FB01EE0FFF1FEF5CFE4F208131812B
-:10473000FB01E35DFE4F808190E004C080E090E0EB
-:1047400020E030E0FA013183208308950895CF936B
-:10475000C82F0E94A623C0933802CF91089580915C
-:104760005902843011F081E0089582E0089580912B
-:104770003802811102C00C94AF23089580E189BDF5
-:1047800082E189BD09B400FEFDCF8091D8008F7D04
-:104790008093D8008091E00082608093E000809157
-:1047A000E00081FDFCCF0895CF92DF92EF92FF925F
-:1047B0000F931F93CF93DF93EC018B017A010E943B
-:1047C0003225811133C0E114F10439F0F701808101
-:1047D0009181081B190BC80FD91FC12CD12C0115B1
-:1047E000110519F18091E80085FD16C08091E8005F
-:1047F0008E778093E800E114F10449F0F70180819D
-:104800009181C80ED91ED182C08285E00FC00E945E
-:104810003225882321F30AC089918093F100015049
-:104820001109FFEFCF1ADF0ADACF80E0DF91CF91D5
-:104830001F910F91FF90EF90DF90CF9008952091FE
-:104840006002309161022617370748F06115710543
-:1048500039F42091E8002E772093E80001C0B901D7
-:10486000FC0120E06115710579F1809159028823DE
-:10487000F1F18530F1F18091E80083FD3CC0809139
-:10488000E80082FD2EC08091E80080FFEBCF2091F0
-:10489000F3008091F20090E0922B6115710551F0C8
-:1048A0008830910538F421912093F100615071090D
-:1048B0000196F3CF21E0089709F020E08091E8000D
-:1048C0008E778093E800CECF2111CFCF0AC08091A0
-:1048D0005902882361F0853061F08091E80083FD02
-:1048E0000AC08091E80082FFF2CF80E0089582E064
-:1048F000089583E0089581E0089520916002309149
-:1049000061022617370748F06115710539F42091C7
-:10491000E8002E772093E80001C0B901FC0120E0F7
-:104920006115710591F180915902882309F440C005
-:10493000853009F43FC08091E80083FD3DC080913F
-:10494000E80082FD2FC08091E80080FFE9CF209130
-:10495000F3008091F20090E0922B6115710559F0FF
-:104960008830910540F424912093F10031966150F4
-:1049700071090196F2CF21E0089709F020E08091BB
-:10498000E8008E778093E800CBCF2111CCCF0AC00E
-:1049900080915902882361F0853061F08091E800B0
-:1049A00083FD0AC08091E80082FFF2CF80E0089585
-:1049B00082E0089583E0089581E00895982F97306C
-:1049C00068F59093E900981739F07091EC00209108
-:1049D000ED005091F00003C0242F762F50E021FD10
-:1049E00002C09F5FECCF3091EB003E7F3093EB0035
-:1049F0003091ED003D7F3093ED003091EB00316060
-:104A00003093EB007093EC002093ED005093F00096
-:104A10002091EE0027FDE5CF80E008958F70809310
-:104A2000E90081E0089580915A0287FF11C08091CA
-:104A3000E80082FD05C0809159028111F8CF11C0B4
-:104A40008091E8008B770BC080915902882349F050
-:104A50008091E80080FFF8CF8091E8008E77809306
-:104A6000E80008952091E4003091E50095E640913A
-:104A7000EC00842F817040FF23C08091E80080FD0E
-:104A80001DC080915902882399F0853099F080915A
-:104A9000EB0085FD11C04091E4005091E500241722
-:104AA000350729F3915011F09A01E1CF84E0089580
-:104AB00082E0089583E0089581E0089580E00895FC
-:104AC0004091E80042FFDDCF08950E94D3250E9467
-:104AD000DB25E0EEF0E0808181608083E8EDF0E0AE
-:104AE00080818F77808319BCA7EDB0E08C918E7F99
-:104AF0008C9380818F7E80831092580208950F934B
-:104B00001F93CF93DF930E94D3250E94DB25C8ED2E
-:104B1000D0E088818F7788838881806888838881C6
-:104B20008F7D888319BC1092590210925502109201
-:104B300057021092560200EE10E0F80180818B7F40
-:104B4000808388818160888342E060E080E00E9409
-:104B5000DE24E1EEF0E080818E7F8083E2EEF0E003
-:104B6000808181608083808188608083F80180817A
-:104B70008E7F8083888180618883DF91CF911F91B0
-:104B80000F910895E8EDF0E080818F7E8083E7ED5E
-:104B9000F0E080818160808384E082BF81E0809347
-:104BA00058020C947F25E8EDF0E080818E7F8083B1
-:104BB0001092E20008951092DA001092E100089538
-:104BC0001F920F920FB60F9211242F933F934F9382
-:104BD0005F936F937F938F939F93AF93BF93EF9365
-:104BE000FF938091E10082FF0BC08091E20082FF81
-:104BF00007C08091E1008B7F8093E1000E945628DE
-:104C00008091DA0080FF1FC08091D80080FF1BC018
-:104C10008091DA008E7F8093DA008091D90080FF46
-:104C20000DC080E189BD82E189BD09B400FEFDCFE0
-:104C300081E0809359020E94302205C019BC109275
-:104C400059020E943E228091E10080FF19C08091AC
-:104C5000E20080FF15C08091E2008E7F8093E20029
-:104C60008091E20080618093E2008091D8008062B0
-:104C70008093D80019BC85E0809359020E9442229B
-:104C80008091E10084FF30C08091E20084FF2CC05D
-:104C900080E189BD82E189BD09B400FEFDCF80912C
-:104CA000D8008F7D8093D8008091E1008F7E809323
-:104CB000E1008091E2008F7E8093E2008091E2002B
-:104CC00081608093E20080915502882311F084E096
-:104CD00007C08091E30087FD02C081E001C083E04E
-:104CE000809359020E9443228091E10083FF29C0F2
-:104CF0008091E20083FF25C08091E100877F80934F
-:104D0000E10082E080935902109255028091E10007
-:104D10008E7F8093E1008091E2008E7F8093E2009D
-:104D20008091E20080618093E20042E060E080E0F8
-:104D30000E94DE248091F00088608093F0000E9441
-:104D40004122FF91EF91BF91AF919F918F917F9100
-:104D50006F915F914F913F912F910F900FBE0F90E8
-:104D60001F9018951F920F920FB60F9211242F9338
-:104D70003F934F935F936F937F938F939F93AF93E3
-:104D8000BF93CF93DF93EF93FF93C091E900CF7070
-:104D90008091EC00D82FD17080FDD0E81092E9000E
-:104DA0008091F000877F8093F00078940E94F6262F
-:104DB0001092E9008091F00088608093F000CD2B84
-:104DC000CF70C093E900FF91EF91DF91CF91BF9138
-:104DD000AF919F918F917F916F915F914F913F9193
-:104DE0002F910F900FBE0F901F9018951F93CF9388
-:104DF000DF93CDB7DEB7AA970FB6F894DEBF0FBE2C
-:104E0000CDBFEAE5F2E08091F100819322E0E23645
-:104E1000F207C9F70E9459228091E80083FF2EC152
-:104E200080915A0290915B02492F50E04A3051051F
-:104E300008F024C1FA01E556FF4F0C94E32B8038AB
-:104E400021F0823809F01AC108C080915602909171
-:104E50005702992389F082600FC080915E028F70A3
-:104E6000873008F00BC18093E9008091EB0085FB4F
-:104E7000882780F91092E9009091E800977F90933D
-:104E8000E8008093F1001092F100D1C0282F2D7F0F
-:104E900009F0F4C0882319F0823061F0EFC08091EE
-:104EA0005C02813009F0EAC0933009F080E0809321
-:104EB00057022EC080915C0281112AC080915E024F
-:104EC0008F702FEF280F263008F0D8C08093E900AC
-:104ED0002091EB0020FF1CC0933021F48091EB0067
-:104EE000806214C09091EB0090619093EB0021E000
-:104EF00030E0A90102C0440F551F8A95E2F74093A4
-:104F0000EA001092EA008091EB0088608093EB0049
-:104F10001092E9008091E800877F8093E8000E946A
-:104F20001325ACC08111AAC010915C021F7780913B
-:104F3000E3008078812B8093E3008091E800877FF5
-:104F40008093E8000E9413258091E80080FFFCCF49
-:104F50008091E30080688093E300111102C082E039
-:104F600001C083E08093590289C08058823008F0E4
-:104F700085C080915C0290915D028C3D53E0950765
-:104F800079F583E08A838AE289834FB7F894DE015A
-:104F9000139620E03EE051E2E32FF0E050935700FB
-:104FA000E49120FF03C0E295EF703F5FEF708E2F1A
-:104FB00090E0EA3010F0C79601C0C0968D939D93A3
-:104FC0002F5F243149F74FBF8091E800877F80939E
-:104FD000E8006AE270E0CE0101960E941F2416C02C
-:104FE00060915E0270915F02AE014F5F5F4F0E9461
-:104FF0004823BC01892B09F441C09091E800977FB8
-:105000009093E80089819A810E947D248091E80034
-:105010008B778093E80032C0803881F58091E8007A
-:10502000877F8093E800809155028093F100809102
-:10503000E8008E7772CF811121C080915C0290913F
-:105040005D0299270297D4F48091E800877F8093CE
-:10505000E80080915C02809355020E9413258091A4
-:105060005502811106C08091E30087FD02C081E0F6
-:1050700001C084E0809359020E9445228091E8009B
-:1050800083FF0AC08091E800877F8093E8008091C9
-:10509000EB0080628093EB00AA960FB6F894DEBF17
-:1050A0000FBECDBFDF91CF911F9108950895CF938B
-:1050B000809159028823A1F0C091E900CF709091AE
-:1050C000EC00892F817090FD80E8C82B1092E900D8
-:1050D0008091E80083FD0E94F626CF70C093E9001E
-:1050E000CF9108955058BB27AA270E948A280C9474
-:1050F000352A0E94272A38F00E942E2A20F039F4FF
-:105100009F3F19F426F40C94FD290EF4E095E7FB7B
-:105110000C94F729E92F0E94462A58F3BA17620720
-:1051200073078407950720F079F4A6F50C94682A94
-:105130000EF4E0950B2EBA2FA02D0B01B9019001B2
-:105140000C01CA01A0011124FF27591B99F0593FF6
-:1051500050F4503E68F11A16F040A22F232F342F3E
-:105160004427585FF3CF469537952795A795F0408C
-:105170005395C9F77EF41F16BA0B620B730B840BA1
-:10518000BAF09150A1F0FF0FBB1F661F771F881F59
-:10519000C2F70EC0BA0F621F731F841F48F48795B1
-:1051A00077956795B795F7959E3F08F0B0CF9395A3
-:1051B000880F08F09927EE0F9795879508950E941C
-:1051C000F3280C94352A0E942E2A58F00E94272A90
-:1051D00040F029F45F3F29F00C94F72951110C9409
-:1051E000692A0C94FD290E94462A68F39923B1F399
-:1051F000552391F3951B550BBB27AA2762177307FD
-:10520000840738F09F5F5F4F220F331F441FAA1F90
-:10521000A9F335D00E2E3AF0E0E832D0915050404C
-:10522000E695001CCAF72BD0FE2F29D0660F771FFA
-:10523000881FBB1F261737074807AB07B0E809F0E0
-:10524000BB0B802DBF01FF2793585F4F3AF09E3F65
-:10525000510578F00C94F7290C94692A5F3FE4F328
-:10526000983ED4F3869577956795B795F7959F5FA8
-:10527000C9F7880F911D9695879597F90895E1E0F4
-:10528000660F771F881FBB1F621773078407BA0753
-:1052900020F0621B730B840BBA0BEE1F88F7E095AE
-:1052A000089529F416F00C94F7290C94682A0C94AC
-:1052B000FD290E944E2AA8F39638A0F707F80F920E
-:1052C000E8942BE33AEA48EB5FE70E94FB2A0F924F
-:1052D0000F920F924DB75EB70F920E94B12AEAE487
-:1052E000F1E00E94002A4F915F91EF91FF91E595C7
-:1052F000EE1FFF1F49F0FE57E0684427EE0F441FE2
-:10530000FA95E1F74195550B0E947B2A0F9007FE15
-:105310000C946F2A08950E944E2A88F09F5798F0A7
-:10532000B92F9927B751B0F0E1F0660F771F881FAA
-:10533000991F1AF0BA95C9F714C0B13091F00E94C4
-:10534000682AB1E008950C94682A672F782F88277F
-:10535000B85F39F0B93FCCF3869577956795B395EB
-:10536000D9F73EF490958095709561957F4F8F4F5A
-:105370009F4F0895E89409C097FB3EF4909580955F
-:10538000709561957F4F8F4F9F4F9923A9F0F92F0B
-:1053900096E9BB279395F695879577956795B79589
-:1053A000F111F8CFFAF4BB0F11F460FF1BC06F5F6F
-:1053B0007F4F8F4F9F4F16C0882311F096E911C081
-:1053C000772321F09EE8872F762F05C0662371F0A2
-:1053D00096E8862F70E060E02AF09A95660F771FB6
-:1053E000881FDAF7880F9695879597F9089597F9AA
-:1053F0009F6780E870E060E008959FEF80EC08957B
-:10540000DF93CF931F930F93FF92EF92DF927B0175
-:105410008C01689406C0DA2EEF010E94F82AFE0182
-:10542000E894A5912591359145915591A6F3EF0109
-:105430000E948A28FE019701A801DA9469F7DF909B
-:10544000EF90FF900F911F91CF91DF91089500246D
-:105450000A941616170618060906089500240A94D9
-:1054600012161306140605060895092E0394000C5F
-:1054700011F4882352F0BB0F40F4BF2B11F460FFEE
-:1054800004C06F5F7F4F8F4F9F4F089557FD905817
-:10549000440F551F59F05F3F71F04795880F97FBF8
-:1054A000991F61F09F3F79F08795089512161306B2
-:1054B0001406551FF2CF4695F1DF08C016161706E1
-:1054C0001806991FF1CF8695710561050894089516
-:1054D000E894BB2766277727CB0197F908959B01AE
-:1054E000AC0160E070E080E89FE30C94DF280C944E
-:1054F000F7290C945A2B0E944E2AD8F39923C9F30A
-:10550000940F511DA3F39150504094F059F088230B
-:1055100032F0660F771F881F91505040C1F79E3FB1
-:1055200051052CF7880F911D9695879597F9089549
-:105530005F3FACF0983E9CF0BB27869577956795CA
-:10554000B79508F4B1609395C1F7BB0F58F711F404
-:1055500060FFE8CF6F5F7F4F8F4F9F4FE3CF0C947B
-:10556000692AFA01DC01AA0FBB1F9B01AC01BF57DE
-:1055700028F4222733274427507820C0B75190F4CD
-:10558000AB2F0024469537952795011CA395D2F3A0
-:10559000002071F0220F331F441FB395DAF30ED0B1
-:1055A0000C94722861307105A0E88A07B94630F47E
-:1055B0009B01AC016627772788279078309621F0E9
-:1055C000208331834283538308950E94F82A0C94E8
-:1055D000352A0E94272A38F00E942E2A20F095238F
-:1055E00011F00C94F7290C94FD2911240C94692ACC
-:1055F0000E94462A70F3959FC1F3950F50E0551F06
-:10560000629FF001729FBB27F00DB11D639FAA2717
-:10561000F00DB11DAA1F649F6627B00DA11D661F66
-:10562000829F2227B00DA11D621F739FB00DA11D87
-:10563000621F839FA00D611D221F749F3327A00D41
-:10564000611D231F849F600D211D822F762F6A2FDD
-:1056500011249F5750409AF0F1F088234AF0EE0F42
-:10566000FF1FBB1F661F771F881F91505040A9F76F
-:105670009E3F510580F00C94F7290C94692A5F3FF6
-:10568000E4F3983ED4F3869577956795B795F795AB
-:10569000E7959F5FC1F7FE2B880F911D9695879523
-:1056A00097F908959F930E946A2B0F9007FCEE5F75
-:1056B0000C94932B9F3F31F0915020F48795779570
-:1056C0006795B795880F911D9695879597F90895D9
-:1056D0000C94FD290E944E2AD8F3E894E0E0BB2701
-:1056E0009F57F0F02AED3FE049EC06C0EE0FBB0FEC
-:1056F000661F771F881F28F0B23A62077307840776
-:1057000028F0B25A620B730B840BE3959A9572F7EB
-:10571000803830F49A95BB0F661F771F881FD2F729
-:1057200090480C945C2BEF93E0FF07C0A2EA2AEDAF
-:105730003FE049EC5FEB0E948A280E94352A0F90D7
-:10574000039401FC9058E2E7F1E00C94A72B9F939F
-:105750008F937F936F93FF93EF939B01AC010E9414
-:10576000E52AEF91FF910E94002A2F913F914F91DE
-:105770005F910C94E52AAA1BBB1B51E107C0AA1F2D
-:10578000BB1FA617B70710F0A61BB70B881F991FE2
-:105790005A95A9F780959095BC01CD01089597FB86
-:1057A000072E16F4009407D077FD09D00E94BB2B7A
-:1057B00007FC05D03EF4909581959F4F0895709514
-:1057C00061957F4F0895EE0FFF1F0590F491E02D36
-:1057D0000994FC014150504030F001900616D1F779
-:1057E0003197CF010895882799270895F999FECF19
-:1057F00092BD81BDF89A992780B50895A6E1B0E0E1
-:1058000044E050E00C94302CA8E1B0E042E050E0DD
-:105810000C94302C262FF999FECF92BD81BDF89AB9
-:10582000019700B4021639F01FBA20BD0FB6F894E4
-:10583000FA9AF99A0FBE08950396272F0E940B2C0F
-:105840000E940A2C252F0E940B2C242F0C940B2C29
-:105850000196272F0E940B2C0C940A2CDC01CB0103
-:10586000FC01F999FECF06C0F2BDE1BDF89A319670
-:1058700000B40D9241505040B8F70895F894FFCF0E
-:10588000010201191A1B1C1D1E1F202122E80128DC
-:1058900008140A321E3E21DC21B1217B2141210165
-:1058A00097C66636323331F7F6F5943435404D36C7
-:1058B00039FD04B0047A044104D403ED0306041F47
-:0258C0000400E2
-:00000001FF
diff --git a/keyboards/alpha/rules.mk b/keyboards/alpha/rules.mk
index 61ea958d7e..13a720d8c1 100755
--- a/keyboards/alpha/rules.mk
+++ b/keyboards/alpha/rules.mk
@@ -1,46 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
# Build Options
# comment out to disable the options.
#
diff --git a/keyboards/alu84/rules.mk b/keyboards/alu84/rules.mk
index 14d3e70898..680b13dc07 100755
--- a/keyboards/alu84/rules.mk
+++ b/keyboards/alu84/rules.mk
@@ -1,45 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
@@ -53,4 +23,4 @@ SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
AUDIO_ENABLE ?= no
-RGBLIGHT_ENABLE ?= yes \ No newline at end of file
+RGBLIGHT_ENABLE ?= yes
diff --git a/keyboards/amj40/rules.mk b/keyboards/amj40/rules.mk
index b9f70de0f1..423e66aeef 100755
--- a/keyboards/amj40/rules.mk
+++ b/keyboards/amj40/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
diff --git a/keyboards/amj60/rules.mk b/keyboards/amj60/rules.mk
index 0e9f17d260..bccdd66811 100644
--- a/keyboards/amj60/rules.mk
+++ b/keyboards/amj60/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
diff --git a/keyboards/amj96/rules.mk b/keyboards/amj96/rules.mk
index a90f0e75a8..52f610d7d5 100644
--- a/keyboards/amj96/rules.mk
+++ b/keyboards/amj96/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/amjkeyboard/amj66/rules.mk b/keyboards/amjkeyboard/amj66/rules.mk
index 80734a9904..4102c0eb28 100644
--- a/keyboards/amjkeyboard/amj66/rules.mk
+++ b/keyboards/amjkeyboard/amj66/rules.mk
@@ -1,53 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/amjpad/rules.mk b/keyboards/amjpad/rules.mk
index 853bbf956f..fe28924852 100644
--- a/keyboards/amjpad/rules.mk
+++ b/keyboards/amjpad/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
diff --git a/keyboards/angel17/rules.mk b/keyboards/angel17/rules.mk
index dd54bd525f..ca2563a6e2 100644
--- a/keyboards/angel17/rules.mk
+++ b/keyboards/angel17/rules.mk
@@ -1,27 +1,16 @@
# MCU name
MCU = atmega32u4
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/angel64/rules.mk b/keyboards/angel64/rules.mk
index 06169e8df9..4242ac2eee 100644
--- a/keyboards/angel64/rules.mk
+++ b/keyboards/angel64/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/at101_blackheart/rules.mk b/keyboards/at101_blackheart/rules.mk
index fadff6f23b..d8cfbd289f 100644
--- a/keyboards/at101_blackheart/rules.mk
+++ b/keyboards/at101_blackheart/rules.mk
@@ -1,49 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = halfkay
-# Boot Section Size in *bytes*
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# comment out to disable the options.
#
@@ -56,4 +23,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no \ No newline at end of file
+RGBLIGHT_ENABLE = no
diff --git a/keyboards/atomic/rules.mk b/keyboards/atomic/rules.mk
index 2f9e2e7132..8ccbcb11b4 100644
--- a/keyboards/atomic/rules.mk
+++ b/keyboards/atomic/rules.mk
@@ -1,49 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/atreus/astar/rules.mk b/keyboards/atreus/astar/rules.mk
index dc6f196237..e6fef51727 100644
--- a/keyboards/atreus/astar/rules.mk
+++ b/keyboards/atreus/astar/rules.mk
@@ -1,58 +1,12 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
diff --git a/keyboards/atreus/teensy2/rules.mk b/keyboards/atreus/teensy2/rules.mk
index 3fb7c7e5a7..ae398e2588 100644
--- a/keyboards/atreus/teensy2/rules.mk
+++ b/keyboards/atreus/teensy2/rules.mk
@@ -1,58 +1,12 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = halfkay
-
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
diff --git a/keyboards/atreus62/rules.mk b/keyboards/atreus62/rules.mk
index c9edfce0af..323976c2c2 100644
--- a/keyboards/atreus62/rules.mk
+++ b/keyboards/atreus62/rules.mk
@@ -1,47 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
diff --git a/keyboards/baguette/rules.mk b/keyboards/baguette/rules.mk
index de88b9798b..351322b859 100644
--- a/keyboards/baguette/rules.mk
+++ b/keyboards/baguette/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/bantam44/rules.mk b/keyboards/bantam44/rules.mk
index cebe7f4640..a15b451f31 100644
--- a/keyboards/bantam44/rules.mk
+++ b/keyboards/bantam44/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = halfkay
# Build Options
# comment out to disable the options.
diff --git a/keyboards/bigswitch/rules.mk b/keyboards/bigswitch/rules.mk
index e4e72f09a2..14cc0c85b3 100755
--- a/keyboards/bigswitch/rules.mk
+++ b/keyboards/bigswitch/rules.mk
@@ -1,49 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# comment out to disable the options.
#
diff --git a/keyboards/blockey/rules.mk b/keyboards/blockey/rules.mk
index cea24f8327..83bc96c11f 100644
--- a/keyboards/blockey/rules.mk
+++ b/keyboards/blockey/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# change yes to no to disable
diff --git a/keyboards/bm16a/rules.mk b/keyboards/bm16a/rules.mk
index 013dac3c90..50f0ff1211 100644
--- a/keyboards/bm16a/rules.mk
+++ b/keyboards/bm16a/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/bm16s/rules.mk b/keyboards/bm16s/rules.mk
index f4f1dfd639..23573664db 100755
--- a/keyboards/bm16s/rules.mk
+++ b/keyboards/bm16s/rules.mk
@@ -1,60 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
# Build Options
# comment out to disable the options.
#
@@ -69,4 +25,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
-LAYOUTS = ortho_4x4 \ No newline at end of file
+LAYOUTS = ortho_4x4
diff --git a/keyboards/boardwalk/rules.mk b/keyboards/boardwalk/rules.mk
index 0a02497bc3..215dfe34ee 100644
--- a/keyboards/boardwalk/rules.mk
+++ b/keyboards/boardwalk/rules.mk
@@ -1,48 +1,14 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# QMK Build Options
diff --git a/keyboards/bpiphany/sixshooter/rules.mk b/keyboards/bpiphany/sixshooter/rules.mk
index 5bf8d21650..ad76051eb2 100644
--- a/keyboards/bpiphany/sixshooter/rules.mk
+++ b/keyboards/bpiphany/sixshooter/rules.mk
@@ -1,49 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = halfkay
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/bthlabs/geekpad/rules.mk b/keyboards/bthlabs/geekpad/rules.mk
index f51259b291..e05730c69e 100644
--- a/keyboards/bthlabs/geekpad/rules.mk
+++ b/keyboards/bthlabs/geekpad/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/business_card/alpha/rules.mk b/keyboards/business_card/alpha/rules.mk
index 8bb38a5142..e03f942e9d 100644
--- a/keyboards/business_card/alpha/rules.mk
+++ b/keyboards/business_card/alpha/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/business_card/beta/rules.mk b/keyboards/business_card/beta/rules.mk
index 8bb38a5142..e03f942e9d 100644
--- a/keyboards/business_card/beta/rules.mk
+++ b/keyboards/business_card/beta/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/business_card/rules.mk b/keyboards/business_card/rules.mk
index d0b8a2367a..7e37685de6 100644
--- a/keyboards/business_card/rules.mk
+++ b/keyboards/business_card/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/butterstick/keymaps/default/rules.mk b/keyboards/butterstick/keymaps/default/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/butterstick/keymaps/default/rules.mk
+++ /dev/null
diff --git a/keyboards/butterstick/rules.mk b/keyboards/butterstick/rules.mk
index 68b117bf59..764e7d6aa2 100644
--- a/keyboards/butterstick/rules.mk
+++ b/keyboards/butterstick/rules.mk
@@ -1,15 +1,16 @@
# MCU name
MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT -DONLYQWERTY -DDEBUG_MATRIX
-SRC += sten.c
-EXTRAFLAGS += -flto
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
+
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = yes # Console for debug(+400)
@@ -17,3 +18,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # USB Nkey Rollover
STENO_ENABLE = yes # Needed for chording
+OPT_DEFS += -DONLYQWERTY -DDEBUG_MATRIX
+SRC += sten.c
+EXTRAFLAGS += -flto
diff --git a/keyboards/c39/rules.mk b/keyboards/c39/rules.mk
index 8fcb089817..c7a902045a 100755
--- a/keyboards/c39/rules.mk
+++ b/keyboards/c39/rules.mk
@@ -1,50 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# change yes to no to disable
diff --git a/keyboards/catch22/rules.mk b/keyboards/catch22/rules.mk
index 2b76e465cf..227117b766 100644
--- a/keyboards/catch22/rules.mk
+++ b/keyboards/catch22/rules.mk
@@ -1,49 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-#OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# comment out to disable the options.
#
@@ -57,4 +24,3 @@ NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https:/
BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled
AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
RGBLIGHT_ENABLE = yes # This can be enabled if a ws2812 strip is connected to the expansion port.
-
diff --git a/keyboards/chimera_ergo/rules.mk b/keyboards/chimera_ergo/rules.mk
index 0903e5e386..0e26588e37 100644
--- a/keyboards/chimera_ergo/rules.mk
+++ b/keyboards/chimera_ergo/rules.mk
@@ -1,66 +1,16 @@
-
-OPT_DEFS += -DCHIMERA_ERGO_PROMICRO
-CHIMERA_ERGO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-
-# # project specific files
-SRC = matrix.c
-
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# comment out to disable the options.
#
@@ -78,4 +28,12 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
UNICODE_ENABLE = YES # Unicode
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
+
+OPT_DEFS += -DCHIMERA_ERGO_PROMICRO
+CHIMERA_ERGO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
+ avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
+
+# # project specific files
+SRC = matrix.c
+
USB = /dev/ttyACM0
diff --git a/keyboards/chimera_ls/rules.mk b/keyboards/chimera_ls/rules.mk
index bc3e4a865e..5060b9ebfc 100644
--- a/keyboards/chimera_ls/rules.mk
+++ b/keyboards/chimera_ls/rules.mk
@@ -1,66 +1,16 @@
-
-OPT_DEFS += -DCHIMERA_LS_PROMICRO
-CHIMERA_LS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-
-# # project specific files
-SRC = matrix.c
-
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# comment out to disable the options.
#
@@ -80,4 +30,11 @@ UNICODE_ENABLE = YES # Unicode
USB = /dev/ttyACM0
+OPT_DEFS += -DCHIMERA_LS_PROMICRO
+CHIMERA_LS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
+ avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
+
+# project specific files
+SRC = matrix.c
+
LAYOUTS = ortho_4x12
diff --git a/keyboards/chimera_ortho/rules.mk b/keyboards/chimera_ortho/rules.mk
index c4ff50dd2f..549f311496 100644
--- a/keyboards/chimera_ortho/rules.mk
+++ b/keyboards/chimera_ortho/rules.mk
@@ -1,57 +1,16 @@
-
-OPT_DEFS += -DCHIMERA_ORTHO_PROMICRO
-CHIMERA_ORTHO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-
-# # project specific files
-SRC = matrix.c
-
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# comment out to disable the options.
#
@@ -70,3 +29,10 @@ UNICODE_ENABLE = YES # Unicode
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
USB = /dev/ttyACM0
+
+OPT_DEFS += -DCHIMERA_ORTHO_PROMICRO
+CHIMERA_ORTHO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
+ avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
+
+# project specific files
+SRC = matrix.c
diff --git a/keyboards/choco60/rules.mk b/keyboards/choco60/rules.mk
index 343469db2b..65b98b73b6 100644
--- a/keyboards/choco60/rules.mk
+++ b/keyboards/choco60/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/christmas_tree/keymaps/default/rules.mk b/keyboards/christmas_tree/keymaps/default/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/christmas_tree/keymaps/default/rules.mk
+++ /dev/null
diff --git a/keyboards/christmas_tree/rules.mk b/keyboards/christmas_tree/rules.mk
index ec73e527b5..7e5269baf0 100644
--- a/keyboards/christmas_tree/rules.mk
+++ b/keyboards/christmas_tree/rules.mk
@@ -1,49 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/ckeys/handwire_101/rules.mk b/keyboards/ckeys/handwire_101/rules.mk
index cf904d93c3..07b0c57b44 100755
--- a/keyboards/ckeys/handwire_101/rules.mk
+++ b/keyboards/ckeys/handwire_101/rules.mk
@@ -1,52 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/ckeys/nakey/rules.mk b/keyboards/ckeys/nakey/rules.mk
index 4ba89cee4d..afd508247f 100644
--- a/keyboards/ckeys/nakey/rules.mk
+++ b/keyboards/ckeys/nakey/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = halfkay
# Build Options
# change yes to no to disable
diff --git a/keyboards/ckeys/obelus/rules.mk b/keyboards/ckeys/obelus/rules.mk
index 7b556b23c0..0c55043003 100644
--- a/keyboards/ckeys/obelus/rules.mk
+++ b/keyboards/ckeys/obelus/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/claw44/rules.mk b/keyboards/claw44/rules.mk
index c27f399ffd..b2c3b436e9 100644
--- a/keyboards/claw44/rules.mk
+++ b/keyboards/claw44/rules.mk
@@ -1,54 +1,16 @@
-SRC += i2c.c
-SRC += serial.c
-SRC += ssd1306.c
-
-# if firmware size over limit, try this option
-# CFLAGS += -flto
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
@@ -69,5 +31,11 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
+SRC += i2c.c
+SRC += serial.c
+SRC += ssd1306.c
+
+# if firmware size over limit, try this option
+# CFLAGS += -flto
DEFAULT_FOLDER = claw44/rev1
diff --git a/keyboards/clueboard/17/rules.mk b/keyboards/clueboard/17/rules.mk
index 591d40f030..68274a8b23 100644
--- a/keyboards/clueboard/17/rules.mk
+++ b/keyboards/clueboard/17/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
diff --git a/keyboards/clueboard/66/rev1/rules.mk b/keyboards/clueboard/66/rev1/rules.mk
index 96d4125ac4..39fd55921f 100644
--- a/keyboards/clueboard/66/rev1/rules.mk
+++ b/keyboards/clueboard/66/rev1/rules.mk
@@ -1,10 +1,15 @@
-LAYOUTS = 66_ansi 66_iso
+# MCU name
MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
@@ -21,3 +26,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+
+LAYOUTS = 66_ansi 66_iso
diff --git a/keyboards/clueboard/66/rev2/rules.mk b/keyboards/clueboard/66/rev2/rules.mk
index 4987ac1378..ec623ec63f 100644
--- a/keyboards/clueboard/66/rev2/rules.mk
+++ b/keyboards/clueboard/66/rev2/rules.mk
@@ -1,11 +1,15 @@
-LAYOUTS = 66_ansi 66_iso
+# MCU name
MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
BACKLIGHT_ENABLE = yes
@@ -20,3 +24,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+
+LAYOUTS = 66_ansi 66_iso
diff --git a/keyboards/clueboard/66/rev3/rules.mk b/keyboards/clueboard/66/rev3/rules.mk
index 8c1836351f..ca7817af18 100644
--- a/keyboards/clueboard/66/rev3/rules.mk
+++ b/keyboards/clueboard/66/rev3/rules.mk
@@ -1,10 +1,15 @@
-LAYOUTS = 66_ansi 66_iso
+# MCU name
MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
@@ -21,3 +26,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+
+LAYOUTS = 66_ansi 66_iso
diff --git a/keyboards/clueboard/66_hotswap/prototype/rules.mk b/keyboards/clueboard/66_hotswap/prototype/rules.mk
index 887592b373..0a2a734cf5 100644
--- a/keyboards/clueboard/66_hotswap/prototype/rules.mk
+++ b/keyboards/clueboard/66_hotswap/prototype/rules.mk
@@ -1,11 +1,15 @@
-EXTRAFLAGS += -flto
-LAYOUTS = 66_ansi
+# MCU name
MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
@@ -22,3 +26,6 @@ RGBLIGHT_ENABLE = yes
MIDI_ENABLE = no
UNICODE_ENABLE = no
BLUETOOTH_ENABLE = no
+
+EXTRAFLAGS += -flto
+LAYOUTS = 66_ansi
diff --git a/keyboards/clueboard/card/rules.mk b/keyboards/clueboard/card/rules.mk
index 46d6f91130..2162b25de1 100644
--- a/keyboards/clueboard/card/rules.mk
+++ b/keyboards/clueboard/card/rules.mk
@@ -1,9 +1,15 @@
+# MCU name
MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
diff --git a/keyboards/cocoa40/keymaps/default/rules.mk b/keyboards/cocoa40/keymaps/default/rules.mk
deleted file mode 100644
index 8b13789179..0000000000
--- a/keyboards/cocoa40/keymaps/default/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/keyboards/cocoa40/rules.mk b/keyboards/cocoa40/rules.mk
index f7e529a4b2..ad0ffbf0fe 100644
--- a/keyboards/cocoa40/rules.mk
+++ b/keyboards/cocoa40/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/comet46/rules.mk b/keyboards/comet46/rules.mk
index fc00e205bf..d38f16734f 100644
--- a/keyboards/comet46/rules.mk
+++ b/keyboards/comet46/rules.mk
@@ -1,50 +1,15 @@
-# # project specific files
-SRC += matrix.c \
- i2c.c \
- ssd1306.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-# BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# comment out to disable the options.
@@ -64,3 +29,7 @@ UNICODE_ENABLE = YES # Unicode
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
USB = /dev/ttyACM0
+# project specific files
+SRC += matrix.c \
+ i2c.c \
+ ssd1306.c
diff --git a/keyboards/contra/rules.mk b/keyboards/contra/rules.mk
index 3a97834cff..0aded0f29a 100755
--- a/keyboards/contra/rules.mk
+++ b/keyboards/contra/rules.mk
@@ -1,45 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# change yes to no to disable
diff --git a/keyboards/converter/adb_usb/rules.mk b/keyboards/converter/adb_usb/rules.mk
index 7901898c7c..66ca765266 100644
--- a/keyboards/converter/adb_usb/rules.mk
+++ b/keyboards/converter/adb_usb/rules.mk
@@ -1,59 +1,16 @@
# MCU name
-# atmega32u4 Teensy2.0
-# atemga32u4 TMK Converter rev.1
-# atemga32u2 TMK Converter rev.2
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-#
-F_CPU = 16000000
-# F_CPU = 8000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096 for TMK Converter rev.1/rev.2
-# LUFA bootloader 4096
-# USBaspLoader 2048
-
# Build Options
# comment out to disable the options.
#
diff --git a/keyboards/converter/hp_46010a/rules.mk b/keyboards/converter/hp_46010a/rules.mk
index 797258caf7..b23aaadeca 100644
--- a/keyboards/converter/hp_46010a/rules.mk
+++ b/keyboards/converter/hp_46010a/rules.mk
@@ -1,45 +1,14 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = halfkay
# Build Options
diff --git a/keyboards/converter/ibm_5291/rules.mk b/keyboards/converter/ibm_5291/rules.mk
index 457dad1661..edb456a7d8 100644
--- a/keyboards/converter/ibm_5291/rules.mk
+++ b/keyboards/converter/ibm_5291/rules.mk
@@ -1,45 +1,14 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = halfkay
# Build Options
diff --git a/keyboards/converter/ibm_terminal/rules.mk b/keyboards/converter/ibm_terminal/rules.mk
index a48038ccde..36913ef331 100644
--- a/keyboards/converter/ibm_terminal/rules.mk
+++ b/keyboards/converter/ibm_terminal/rules.mk
@@ -1,48 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/converter/m0110_usb/rules.mk b/keyboards/converter/m0110_usb/rules.mk
index bffee05fde..36c3dfa3fd 100644
--- a/keyboards/converter/m0110_usb/rules.mk
+++ b/keyboards/converter/m0110_usb/rules.mk
@@ -1,59 +1,19 @@
# MCU name
-# atmega32u4 Teensy2.0
-# atemga32u4 TMK Converter rev.1
-# atemga32u2 TMK Converter rev.2
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-#
-#F_CPU = 16000000
+# Processor frequency
F_CPU = 8000000
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096 for TMK Converter rev.1/rev.2
-# LUFA bootloader 4096
-# USBaspLoader 2048
-
# Build Options
# comment out to disable the options.
#
diff --git a/keyboards/converter/numeric_keypad_IIe/rules.mk b/keyboards/converter/numeric_keypad_IIe/rules.mk
index f61a7d4501..03c1bc8f86 100644
--- a/keyboards/converter/numeric_keypad_IIe/rules.mk
+++ b/keyboards/converter/numeric_keypad_IIe/rules.mk
@@ -1,59 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/converter/palm_usb/rules.mk b/keyboards/converter/palm_usb/rules.mk
index 7374fd955f..2cd2c47e59 100644
--- a/keyboards/converter/palm_usb/rules.mk
+++ b/keyboards/converter/palm_usb/rules.mk
@@ -1,11 +1,14 @@
-MCU = atmega32u4 # Teensy 2.0
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+# MCU name
+MCU = atmega32u4
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
# Build Options
diff --git a/keyboards/converter/sun_usb/rules.mk b/keyboards/converter/sun_usb/rules.mk
index db6b5c7ee4..60beb4d9b0 100644
--- a/keyboards/converter/sun_usb/rules.mk
+++ b/keyboards/converter/sun_usb/rules.mk
@@ -1,11 +1,14 @@
-MCU = atmega32u4 # Teensy 2.0
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+# MCU name
+MCU = atmega32u4
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = lufa-dfu
# Build Options
diff --git a/keyboards/converter/usb_usb/rules.mk b/keyboards/converter/usb_usb/rules.mk
index dfe89ee7d9..b4f37d3ad8 100644
--- a/keyboards/converter/usb_usb/rules.mk
+++ b/keyboards/converter/usb_usb/rules.mk
@@ -1,55 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-
-# Since there are different hardware variations of these adapters and since these
-# have different CPU clocks, the clock speed should be set in the rules.mk file of the
-# respective hardware variantion (i.e. subproject). For example, in /pro_micro/rules.mk
-# this is set to 8000000.
-# The value here is only a fallback and is ignored if it is defined in the subproject.
-F_CPU ?= 16000000
-
-DEFAULT_FOLDER = converter/usb_usb/hasu
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# comment out to disable the options.
#
@@ -65,3 +26,5 @@ USB_HID_ENABLE = yes
CUSTOM_MATRIX = yes
SRC = custom_matrix.cpp
+
+DEFAULT_FOLDER = converter/usb_usb/hasu
diff --git a/keyboards/converter/xt_usb/rules.mk b/keyboards/converter/xt_usb/rules.mk
index 1f96251830..05b70519c7 100644
--- a/keyboards/converter/xt_usb/rules.mk
+++ b/keyboards/converter/xt_usb/rules.mk
@@ -1,45 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader
-# This indicates which bootloader is present on the board.
-# BOOTLOADER = caterina # Pro Micro
-BOOTLOADER = halfkay # Teensy
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = halfkay
# Build Options
# comment out to disable the options.
diff --git a/keyboards/copenhagen_click/click_pad_v1/rules.mk b/keyboards/copenhagen_click/click_pad_v1/rules.mk
index 381604ac5b..dd7a086de8 100755
--- a/keyboards/copenhagen_click/click_pad_v1/rules.mk
+++ b/keyboards/copenhagen_click/click_pad_v1/rules.mk
@@ -7,20 +7,10 @@ MCU = atmega32u4
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/coseyfannitutti/discipad/rules.mk b/keyboards/coseyfannitutti/discipad/rules.mk
index 64f6188542..a9d06d608c 100644
--- a/keyboards/coseyfannitutti/discipad/rules.mk
+++ b/keyboards/coseyfannitutti/discipad/rules.mk
@@ -2,6 +2,13 @@
MCU = atmega328p
# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = USBasp
# Flash program via avrdude, but default command is not suitable.
diff --git a/keyboards/coseyfannitutti/mullet/rules.mk b/keyboards/coseyfannitutti/mullet/rules.mk
index fa02fe6fce..f390cfbe09 100644
--- a/keyboards/coseyfannitutti/mullet/rules.mk
+++ b/keyboards/coseyfannitutti/mullet/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/coseyfannitutti/mulletpad/rules.mk b/keyboards/coseyfannitutti/mulletpad/rules.mk
index b3a473ef4b..282a4a3650 100644
--- a/keyboards/coseyfannitutti/mulletpad/rules.mk
+++ b/keyboards/coseyfannitutti/mulletpad/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/cospad/rules.mk b/keyboards/cospad/rules.mk
index 61c7a5182c..075320a22f 100644
--- a/keyboards/cospad/rules.mk
+++ b/keyboards/cospad/rules.mk
@@ -1,63 +1,16 @@
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# comment out to disable the options.
#
diff --git a/keyboards/crawlpad/rules.mk b/keyboards/crawlpad/rules.mk
index 2dda38e201..00931610a1 100755
--- a/keyboards/crawlpad/rules.mk
+++ b/keyboards/crawlpad/rules.mk
@@ -1,45 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
diff --git a/keyboards/crkbd/rules.mk b/keyboards/crkbd/rules.mk
index 950000a7ec..67674518d9 100644
--- a/keyboards/crkbd/rules.mk
+++ b/keyboards/crkbd/rules.mk
@@ -1,54 +1,16 @@
-QUANTUM_LIB_SRC += i2c.c \
- serial.c
-SRC += ssd1306.c
-
-# if firmware size over limit, try this option
-# CFLAGS += -flto
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
@@ -70,5 +32,11 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
+QUANTUM_LIB_SRC += i2c.c \
+ serial.c
+SRC += ssd1306.c
+
+# if firmware size over limit, try this option
+# CFLAGS += -flto
DEFAULT_FOLDER = crkbd/rev1
diff --git a/keyboards/cu24/rules.mk b/keyboards/cu24/rules.mk
index 01d74ac473..fdfba55b13 100644
--- a/keyboards/cu24/rules.mk
+++ b/keyboards/cu24/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/cu75/rules.mk b/keyboards/cu75/rules.mk
index a84343f056..697d8d18f2 100644
--- a/keyboards/cu75/rules.mk
+++ b/keyboards/cu75/rules.mk
@@ -1,41 +1,14 @@
+# MCU name
MCU = atmega32u4
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-SRC = ../lfkeyboards/TWIlib.c ../lfkeyboards/issi.c ../lfkeyboards/lighting.c \ No newline at end of file
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
+
+SRC = ../lfkeyboards/TWIlib.c ../lfkeyboards/issi.c ../lfkeyboards/lighting.c
diff --git a/keyboards/daisy/rules.mk b/keyboards/daisy/rules.mk
index 5a7cc564c2..d2b0d7d167 100644
--- a/keyboards/daisy/rules.mk
+++ b/keyboards/daisy/rules.mk
@@ -1,50 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4996
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# QMK Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/dc01/arrow/rules.mk b/keyboards/dc01/arrow/rules.mk
index 8426df1bd4..56a9cfc49c 100644
--- a/keyboards/dc01/arrow/rules.mk
+++ b/keyboards/dc01/arrow/rules.mk
@@ -1,54 +1,15 @@
-SRC += matrix.c \
- i2c_slave.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
@@ -71,3 +32,5 @@ FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
CUSTOM_MATRIX = yes # Use custom matrix
+SRC += matrix.c \
+ i2c_slave.c
diff --git a/keyboards/dc01/left/rules.mk b/keyboards/dc01/left/rules.mk
index 8a0d061953..9e34a0a808 100644
--- a/keyboards/dc01/left/rules.mk
+++ b/keyboards/dc01/left/rules.mk
@@ -1,54 +1,15 @@
-SRC += matrix.c \
- i2c_master.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
@@ -70,3 +31,5 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
CUSTOM_MATRIX = yes # Use custom matrix
+SRC += matrix.c \
+ i2c_master.c
diff --git a/keyboards/dc01/numpad/rules.mk b/keyboards/dc01/numpad/rules.mk
index 420534f8ca..674ef1d026 100644
--- a/keyboards/dc01/numpad/rules.mk
+++ b/keyboards/dc01/numpad/rules.mk
@@ -1,54 +1,15 @@
-SRC += matrix.c \
- i2c_slave.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
@@ -71,6 +32,8 @@ FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
CUSTOM_MATRIX = yes # Use custom matrix
+SRC += matrix.c \
+ i2c_slave.c
# Community layouts supported
LAYOUTS = numpad_5x4 ortho_5x4
diff --git a/keyboards/dc01/right/rules.mk b/keyboards/dc01/right/rules.mk
index 8426df1bd4..56a9cfc49c 100644
--- a/keyboards/dc01/right/rules.mk
+++ b/keyboards/dc01/right/rules.mk
@@ -1,54 +1,15 @@
-SRC += matrix.c \
- i2c_slave.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
@@ -71,3 +32,5 @@ FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
CUSTOM_MATRIX = yes # Use custom matrix
+SRC += matrix.c \
+ i2c_slave.c
diff --git a/keyboards/deltasplit75/rules.mk b/keyboards/deltasplit75/rules.mk
index eadea18929..a976360bf1 100644
--- a/keyboards/deltasplit75/rules.mk
+++ b/keyboards/deltasplit75/rules.mk
@@ -1,52 +1,16 @@
-SRC += matrix.c \
- i2c.c \
- split_util.c \
- serial.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
@@ -69,5 +33,9 @@ USE_I2C = yes
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
+SRC += matrix.c \
+ i2c.c \
+ split_util.c \
+ serial.c
DEFAULT_FOLDER = deltasplit75/v2
diff --git a/keyboards/dichotomy/rules.mk b/keyboards/dichotomy/rules.mk
index 1cced06478..9ab4d56922 100755
--- a/keyboards/dichotomy/rules.mk
+++ b/keyboards/dichotomy/rules.mk
@@ -1,56 +1,15 @@
-
-OPT_DEFS += -DDICHOTOMY_PROMICRO
-DICHOTOMY_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-
-# # project specific files
-SRC = matrix.c
-
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
- # This definition is optional, and if your keyboard supports multiple bootloaders of
- # different sizes, comment this out, and the correct address will be loaded
- # automatically (+60). See bootloader.mk for all options.
- BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# comment out to disable the options.
@@ -72,5 +31,12 @@ UNICODE_ENABLE = YES # Unicode
USB = /dev/ttyACM0
+OPT_DEFS += -DDICHOTOMY_PROMICRO
+DICHOTOMY_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
+ avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
+
+# # project specific files
+SRC = matrix.c
+
#upload: build
# $(DICHOTOMY_UPLOAD_COMMAND)
diff --git a/keyboards/diverge3/rules.mk b/keyboards/diverge3/rules.mk
index 3888ee9370..42ab5224af 100644
--- a/keyboards/diverge3/rules.mk
+++ b/keyboards/diverge3/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# change yes to no to disable
diff --git a/keyboards/divergetm2/keymaps/default/rules.mk b/keyboards/divergetm2/keymaps/default/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/divergetm2/keymaps/default/rules.mk
+++ /dev/null
diff --git a/keyboards/divergetm2/rules.mk b/keyboards/divergetm2/rules.mk
index f330bd7902..9a461edec9 100644
--- a/keyboards/divergetm2/rules.mk
+++ b/keyboards/divergetm2/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# change yes to no to disable
@@ -67,6 +31,3 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPLIT_KEYBOARD = yes
-
-# must specify this to enable soft-reset
-BOOTLOADER = caterina
diff --git a/keyboards/dk60/rules.mk b/keyboards/dk60/rules.mk
index c85ed9b0a6..17ee5d9618 100644
--- a/keyboards/dk60/rules.mk
+++ b/keyboards/dk60/rules.mk
@@ -1,9 +1,15 @@
+# MCU name
MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
diff --git a/keyboards/do60/rules.mk b/keyboards/do60/rules.mk
index 7370a6262e..bd74db7f82 100644
--- a/keyboards/do60/rules.mk
+++ b/keyboards/do60/rules.mk
@@ -1,52 +1,15 @@
# MCU name
MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-# LUFA specific
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
AUDIO_ENABLE = no # Audio output on port C6
@@ -63,4 +26,4 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
UNICODE_ENABLE = no # Unicode
-LAYOUTS = 60_ansi 60_hhkb 60_ansi_split_bs_rshift \ No newline at end of file
+LAYOUTS = 60_ansi 60_hhkb 60_ansi_split_bs_rshift
diff --git a/keyboards/doro67/multi/rules.mk b/keyboards/doro67/multi/rules.mk
index ef3def96da..d719b7043f 100644
--- a/keyboards/doro67/multi/rules.mk
+++ b/keyboards/doro67/multi/rules.mk
@@ -6,10 +6,10 @@ MCU = atmega32u4
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
# Build Options
# change yes to no to disable
#
@@ -31,4 +31,4 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
-LAYOUTS = 65_ansi_blocker \ No newline at end of file
+LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/doro67/regular/rules.mk b/keyboards/doro67/regular/rules.mk
index f844f8f956..d88f6fcfe6 100644
--- a/keyboards/doro67/regular/rules.mk
+++ b/keyboards/doro67/regular/rules.mk
@@ -7,7 +7,8 @@ MCU = atmega32u4
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
@@ -31,4 +32,4 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
-LAYOUTS = 65_ansi_blocker \ No newline at end of file
+LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/doro67/rgb/rules.mk b/keyboards/doro67/rgb/rules.mk
index df77b4311b..769edfb45d 100644
--- a/keyboards/doro67/rgb/rules.mk
+++ b/keyboards/doro67/rgb/rules.mk
@@ -1,65 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-RGB_MATRIX_ENABLE = WS2812
-
-
# Build Options
# change yes to no to disable
#
@@ -80,5 +31,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
+RGB_MATRIX_ENABLE = WS2812
-LAYOUTS = 65_ansi_blocker \ No newline at end of file
+LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/dozen0/rules.mk b/keyboards/dozen0/rules.mk
index bc370be039..7218e1e1bf 100644
--- a/keyboards/dozen0/rules.mk
+++ b/keyboards/dozen0/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/dp60/keymaps/via/rules.mk b/keyboards/dp60/keymaps/via/rules.mk
index d532fc4559..27d6223bae 100644
--- a/keyboards/dp60/keymaps/via/rules.mk
+++ b/keyboards/dp60/keymaps/via/rules.mk
@@ -11,7 +11,6 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
# LUFA bootloader 4096
# USBaspLoader 2048
BOOTLOADER = atmel-dfu
-#OPT_DEFS += -DBOOTLOADER_SIZE=4096
# Do not put the microcontroller into power saving mode
# when we get USB suspend event. We want it to keep updating
@@ -45,4 +44,4 @@ DYNAMIC_KEYMAP_ENABLE = yes
CUSTOM_MATRIX = yes
SRC += matrix.c keyboards/wilba_tech/wt_main.c
-#keyboards/stm60/webusb.c \ No newline at end of file
+#keyboards/stm60/webusb.c
diff --git a/keyboards/dp60/rules.mk b/keyboards/dp60/rules.mk
index 1404ab7b32..0f998746fb 100644
--- a/keyboards/dp60/rules.mk
+++ b/keyboards/dp60/rules.mk
@@ -1,17 +1,15 @@
# MCU name
MCU = atmega32u4
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-#OPT_DEFS += -DBOOTLOADER_SIZE=4096
# Do not put the microcontroller into power saving mode
# when we get USB suspend event. We want it to keep updating
@@ -42,4 +40,4 @@ RGB_MATRIX_ENABLE = yes # Use RGB matrix
LAYOUTS = 60_ansi 60_hhkb 60_iso 60_ansi_split_bs_rshift
CUSTOM_MATRIX = yes
-SRC += matrix.c \ No newline at end of file
+SRC += matrix.c
diff --git a/keyboards/duck/eagle_viper/v2/rules.mk b/keyboards/duck/eagle_viper/v2/rules.mk
index 1abd7d9413..9b3ffa8ac5 100644
--- a/keyboards/duck/eagle_viper/v2/rules.mk
+++ b/keyboards/duck/eagle_viper/v2/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-#OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/duck/jetfire/rules.mk b/keyboards/duck/jetfire/rules.mk
index dceddc7c7d..04d4f45695 100644
--- a/keyboards/duck/jetfire/rules.mk
+++ b/keyboards/duck/jetfire/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/duck/lightsaver/rules.mk b/keyboards/duck/lightsaver/rules.mk
index bc7b901b49..b6cb462ebb 100644
--- a/keyboards/duck/lightsaver/rules.mk
+++ b/keyboards/duck/lightsaver/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-#OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/duck/octagon/v1/rules.mk b/keyboards/duck/octagon/v1/rules.mk
index 889b93ed45..7027fb1276 100644
--- a/keyboards/duck/octagon/v1/rules.mk
+++ b/keyboards/duck/octagon/v1/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-#OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/duck/octagon/v2/rules.mk b/keyboards/duck/octagon/v2/rules.mk
index c403247074..cd4d2c2fec 100644
--- a/keyboards/duck/octagon/v2/rules.mk
+++ b/keyboards/duck/octagon/v2/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-#OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/dumbpad/rules.mk b/keyboards/dumbpad/rules.mk
index 5d585c65be..a5df407da4 100644
--- a/keyboards/dumbpad/rules.mk
+++ b/keyboards/dumbpad/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/dz60/keymaps/LEdiodes/rules.mk b/keyboards/dz60/keymaps/LEdiodes/rules.mk
index 08adc989df..38b067eb0f 100644
--- a/keyboards/dz60/keymaps/LEdiodes/rules.mk
+++ b/keyboards/dz60/keymaps/LEdiodes/rules.mk
@@ -1,46 +1,3 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# comment out to disable the options.
#
@@ -55,4 +12,4 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
AUTO_SHIFT_ENABLE = yes # If the time depressed is greater than or equal to the AUTO_SHIFT_TIMEOUT, then a shifted version of the key is emitted. If the time is less than the AUTO_SHIFT_TIMEOUT time, then the normal state is emitted
-TAP_DANCE_ENABLE = yes \ No newline at end of file
+TAP_DANCE_ENABLE = yes
diff --git a/keyboards/dz60/rules.mk b/keyboards/dz60/rules.mk
index 33beea728c..d2faa99897 100644
--- a/keyboards/dz60/rules.mk
+++ b/keyboards/dz60/rules.mk
@@ -1,42 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-BOOTLOADER=atmel-dfu
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
diff --git a/keyboards/eco/rules.mk b/keyboards/eco/rules.mk
index e2cebaf97d..4fe5ec1b92 100644
--- a/keyboards/eco/rules.mk
+++ b/keyboards/eco/rules.mk
@@ -1,47 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
diff --git a/keyboards/emptystring/NQG/rules.mk b/keyboards/emptystring/NQG/rules.mk
index 9a46bb8544..8ebed340ad 100644
--- a/keyboards/emptystring/NQG/rules.mk
+++ b/keyboards/emptystring/NQG/rules.mk
@@ -1,50 +1,15 @@
# MCU name
-
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/ep/40/rules.mk b/keyboards/ep/40/rules.mk
index 9ddf9717e9..7e69544cf4 100644
--- a/keyboards/ep/40/rules.mk
+++ b/keyboards/ep/40/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/ep/96/rules.mk b/keyboards/ep/96/rules.mk
index 9ddf9717e9..7e69544cf4 100644
--- a/keyboards/ep/96/rules.mk
+++ b/keyboards/ep/96/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/ep/comsn/hs68/rules.mk b/keyboards/ep/comsn/hs68/rules.mk
index b7d3b9b528..2aa5671557 100644
--- a/keyboards/ep/comsn/hs68/rules.mk
+++ b/keyboards/ep/comsn/hs68/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/ep/comsn/mollydooker/rules.mk b/keyboards/ep/comsn/mollydooker/rules.mk
index db4f2edc0b..4ef5023dfb 100644
--- a/keyboards/ep/comsn/mollydooker/rules.mk
+++ b/keyboards/ep/comsn/mollydooker/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/ep/comsn/tf_longeboye/rules.mk b/keyboards/ep/comsn/tf_longeboye/rules.mk
index 195c9e5023..5360459cf7 100644
--- a/keyboards/ep/comsn/tf_longeboye/rules.mk
+++ b/keyboards/ep/comsn/tf_longeboye/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/ergo42/rules.mk b/keyboards/ergo42/rules.mk
index d8544d9ba0..a02e3ca74e 100644
--- a/keyboards/ergo42/rules.mk
+++ b/keyboards/ergo42/rules.mk
@@ -1,58 +1,16 @@
-SRC += matrix.c \
- i2c.c \
- split_util.c \
- serial.c \
- ssd1306.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
@@ -75,6 +33,11 @@ USE_I2C = yes
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
+SRC += matrix.c \
+ i2c.c \
+ split_util.c \
+ serial.c \
+ ssd1306.c
LAYOUTS = ortho_4x14
diff --git a/keyboards/ergodash/rules.mk b/keyboards/ergodash/rules.mk
index 8be059d969..d57e4ce13a 100644
--- a/keyboards/ergodash/rules.mk
+++ b/keyboards/ergodash/rules.mk
@@ -1,21 +1,14 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-F_CPU = 16000000
-
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
# Build Options
diff --git a/keyboards/ergodone/rules.mk b/keyboards/ergodone/rules.mk
index 6acfaf92e9..4c2fcf1595 100644
--- a/keyboards/ergodone/rules.mk
+++ b/keyboards/ergodone/rules.mk
@@ -1,71 +1,15 @@
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make = Make software.
-#
-# make clean = Clean out built project files.
-#
-# That's pretty much all you need. To compile, always go make clean,
-# followed by make.
-#
-# For advanced users only:
-# make teensy = Download the hex file to the device, using teensy_loader_cli.
-# (must have teensy_loader_cli installed).
-#
-#----------------------------------------------------------------------------
-
-# # project specific files
-SRC = \
- twimaster.c \
- matrix.c \
- expander.c \
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# comment out to disable the options.
@@ -92,4 +36,10 @@ SWAP_HANDS_ENABLE = no # Disable Onehand
RGBLIGHT_ENABLE = no
MIDI_ENABLE = no
+# project specific files
+SRC = \
+ twimaster.c \
+ matrix.c \
+ expander.c \
+
LAYOUTS = ergodox
diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk
index 2882072a62..dbc35f6836 100644
--- a/keyboards/ergodox_ez/rules.mk
+++ b/keyboards/ergodox_ez/rules.mk
@@ -1,68 +1,16 @@
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make = Make software.
-#
-# make clean = Clean out built project files.
-#
-# That's pretty much all you need. To compile, always go make clean,
-# followed by make.
-#
-# For advanced users only:
-# make teensy = Download the hex file to the device, using teensy_loader_cli.
-# (must have teensy_loader_cli installed).
-#
-#----------------------------------------------------------------------------
-
-# # project specific files
-SRC += matrix.c
-QUANTUM_LIB_SRC += i2c_master.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = halfkay
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# If you have Left LEDs (see
# https://geekhack.org/index.php?topic=22780.msg873819#msg873819 for
# details), include the following define:
@@ -86,4 +34,8 @@ RGBLIGHT_ENABLE = yes
RGB_MATRIX_ENABLE = no # enable later
DEBOUNCE_TYPE = eager_pr
+# project specific files
+SRC += matrix.c
+QUANTUM_LIB_SRC += i2c_master.c
+
LAYOUTS = ergodox
diff --git a/keyboards/ergoinu/rules.mk b/keyboards/ergoinu/rules.mk
index 1797d03ccb..5c600bcd2e 100644
--- a/keyboards/ergoinu/rules.mk
+++ b/keyboards/ergoinu/rules.mk
@@ -1,49 +1,16 @@
-SRC += matrix.c serial.c split_util.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
@@ -66,6 +33,7 @@ USE_I2C = no # i2c is not supported
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
+SRC += matrix.c serial.c split_util.c
DEFAULT_FOLDER = ergoinu
diff --git a/keyboards/ergotaco/keymaps/default/rules.mk b/keyboards/ergotaco/keymaps/default/rules.mk
index e394fbf1e6..870d047dc9 100644
--- a/keyboards/ergotaco/keymaps/default/rules.mk
+++ b/keyboards/ergotaco/keymaps/default/rules.mk
@@ -1,9 +1,3 @@
-#----------------------------------------------------------------------------
-# make ergotaco:default:dfu
-# Make sure you have dfu-programmer installed!
-#----------------------------------------------------------------------------
-# Firmware options
-
#Debug options
VERBOSE = yes
DEBUG_MATRIX_SCAN_RATE = no
diff --git a/keyboards/ergotaco/rules.mk b/keyboards/ergotaco/rules.mk
index 0af3e34740..cd8ebc58f0 100644
--- a/keyboards/ergotaco/rules.mk
+++ b/keyboards/ergotaco/rules.mk
@@ -1,15 +1,15 @@
-#----------------------------------------------------------------------------
-# make ergotaco:default:dfu
-# Make sure you have dfu-programmer installed!
-# Do not edit this file! Make a copy of keymaps/default and modify that!
-#----------------------------------------------------------------------------
-
-# Hardware info
+# MCU name
MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-F_USB = $(F_CPU)
CUSTOM_MATRIX = yes
EXTRAKEY_ENABLE = yes
diff --git a/keyboards/ergotravel/keymaps/default/rules.mk b/keyboards/ergotravel/keymaps/default/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/ergotravel/keymaps/default/rules.mk
+++ /dev/null
diff --git a/keyboards/ergotravel/rules.mk b/keyboards/ergotravel/rules.mk
index c88a7fa14f..be7c8d990f 100644
--- a/keyboards/ergotravel/rules.mk
+++ b/keyboards/ergotravel/rules.mk
@@ -1,47 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
diff --git a/keyboards/espectro/rules.mk b/keyboards/espectro/rules.mk
index 2c28fe8504..2d1c1eed09 100755
--- a/keyboards/espectro/rules.mk
+++ b/keyboards/espectro/rules.mk
@@ -1,51 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-
-
# Build Options
# comment out to disable the options.
#
diff --git a/keyboards/evil80/rules.mk b/keyboards/evil80/rules.mk
index d86594f98f..683f892460 100644
--- a/keyboards/evil80/rules.mk
+++ b/keyboards/evil80/rules.mk
@@ -1,49 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/exclusive/e65/rules.mk b/keyboards/exclusive/e65/rules.mk
index 33c015cda5..0b994a279b 100644
--- a/keyboards/exclusive/e65/rules.mk
+++ b/keyboards/exclusive/e65/rules.mk
@@ -2,6 +2,13 @@
MCU = atmega32u4
# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
diff --git a/keyboards/exclusive/e6_rgb/rules.mk b/keyboards/exclusive/e6_rgb/rules.mk
index 9e4e0f58f5..4695f64760 100644
--- a/keyboards/exclusive/e6_rgb/rules.mk
+++ b/keyboards/exclusive/e6_rgb/rules.mk
@@ -1,53 +1,15 @@
# MCU name
MCU = atmega32u4
-# project specific files
-#SRC =
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-#OPT_DEFS += -DBOOTLOADER_SIZE=4096
# Do not put the microcontroller into power saving mode
# when we get USB suspend event. We want it to keep updating
diff --git a/keyboards/exclusive/e6v2/le/rules.mk b/keyboards/exclusive/e6v2/le/rules.mk
index ffad52dbc5..e6cad94033 100644
--- a/keyboards/exclusive/e6v2/le/rules.mk
+++ b/keyboards/exclusive/e6v2/le/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/exclusive/e6v2/oe/rules.mk b/keyboards/exclusive/e6v2/oe/rules.mk
index ffad52dbc5..e6cad94033 100644
--- a/keyboards/exclusive/e6v2/oe/rules.mk
+++ b/keyboards/exclusive/e6v2/oe/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/exclusive/e7v1/rules.mk b/keyboards/exclusive/e7v1/rules.mk
index f903df7de5..335e228bba 100644
--- a/keyboards/exclusive/e7v1/rules.mk
+++ b/keyboards/exclusive/e7v1/rules.mk
@@ -1,42 +1,14 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
diff --git a/keyboards/fc660c/rules.mk b/keyboards/fc660c/rules.mk
index c947947f80..18613a5917 100644
--- a/keyboards/fc660c/rules.mk
+++ b/keyboards/fc660c/rules.mk
@@ -1,50 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
diff --git a/keyboards/fc980c/rules.mk b/keyboards/fc980c/rules.mk
index 261bb41c8f..596b96f1f4 100644
--- a/keyboards/fc980c/rules.mk
+++ b/keyboards/fc980c/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
diff --git a/keyboards/felix/rules.mk b/keyboards/felix/rules.mk
index b33785b64a..7371e3b1a0 100644
--- a/keyboards/felix/rules.mk
+++ b/keyboards/felix/rules.mk
@@ -1,52 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/fleuron/rules.mk b/keyboards/fleuron/rules.mk
index 8e0b084c45..5695e68856 100644
--- a/keyboards/fleuron/rules.mk
+++ b/keyboards/fleuron/rules.mk
@@ -1,51 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/fortitude60/rules.mk b/keyboards/fortitude60/rules.mk
index 5ea1cc5a50..1fdbfb0163 100644
--- a/keyboards/fortitude60/rules.mk
+++ b/keyboards/fortitude60/rules.mk
@@ -1,51 +1,16 @@
-SRC += matrix.c \
- split_util.c \
- serial.c
-
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
@@ -67,5 +32,8 @@ USE_SERIAL = yes # Serial support only on fortitude60
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
+SRC += matrix.c \
+ split_util.c \
+ serial.c
DEFAULT_FOLDER = fortitude60/rev1
diff --git a/keyboards/four_banger/rules.mk b/keyboards/four_banger/rules.mk
index 212e74059e..d37439a0f7 100644
--- a/keyboards/four_banger/rules.mk
+++ b/keyboards/four_banger/rules.mk
@@ -1,45 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
@@ -53,4 +23,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes \ No newline at end of file
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/foxlab/leaf60/hotswap/rules.mk b/keyboards/foxlab/leaf60/hotswap/rules.mk
index 75ee00a1a9..6c1ec4525c 100644
--- a/keyboards/foxlab/leaf60/hotswap/rules.mk
+++ b/keyboards/foxlab/leaf60/hotswap/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/foxlab/leaf60/universal/rules.mk b/keyboards/foxlab/leaf60/universal/rules.mk
index a865410333..1fcd0aa22d 100644
--- a/keyboards/foxlab/leaf60/universal/rules.mk
+++ b/keyboards/foxlab/leaf60/universal/rules.mk
@@ -1,63 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/fractal/rules.mk b/keyboards/fractal/rules.mk
index 0de2a7d39f..4894f1f4d8 100755
--- a/keyboards/fractal/rules.mk
+++ b/keyboards/fractal/rules.mk
@@ -1,46 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/freyr/rules.mk b/keyboards/freyr/rules.mk
index d017c9195f..1a00e299fa 100644
--- a/keyboards/freyr/rules.mk
+++ b/keyboards/freyr/rules.mk
@@ -1,27 +1,16 @@
# MCU name
MCU = atmega32u4
-
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
-# atmega32a bootloadHID
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
# Build Options
# change yes to no to disable
#