From ef8439bddb2d7fe5fd95faf2b6bebd8235acf160 Mon Sep 17 00:00:00 2001
From: tmk <nobody@nowhere>
Date: Mon, 11 Mar 2013 15:28:14 +0900
Subject: [PATCH] Add build option BOOTMAGIC_ENABLE

---
 common.mk                   | 8 ++++++--
 common/command.c            | 4 ++++
 common/keyboard.c           | 6 +++---
 keyboard/gh60/Makefile.lufa | 4 ++--
 keyboard/gh60/Makefile.pjrc | 9 ++++-----
 5 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/common.mk b/common.mk
index 2735f5becf..f9faf2f95b 100644
--- a/common.mk
+++ b/common.mk
@@ -10,12 +10,16 @@ SRC +=	$(COMMON_DIR)/host.c \
 	$(COMMON_DIR)/print.c \
 	$(COMMON_DIR)/debug.c \
 	$(COMMON_DIR)/bootloader.c \
-	$(COMMON_DIR)/bootmagic.c \
-	$(COMMON_DIR)/eeconfig.c \
 	$(COMMON_DIR)/util.c
 
 
 # Option modules
+ifdef BOOTMAGIC_ENABLE
+    SRC += $(COMMON_DIR)/bootmagic.c
+    SRC += $(COMMON_DIR)/eeconfig.c
+    OPT_DEFS += -DBOOTMAGIC_ENABLE
+endif
+
 ifdef MOUSEKEY_ENABLE
     SRC += $(COMMON_DIR)/mousekey.c
     OPT_DEFS += -DMOUSEKEY_ENABLE
diff --git a/common/command.c b/common/command.c
index d7ba3f232a..372ca291e2 100644
--- a/common/command.c
+++ b/common/command.c
@@ -123,6 +123,7 @@ static void command_common_help(void)
     print("Paus:	jump to bootloader\n");
 }
 
+#ifdef BOOTMAGIC_ENABLE
 static void print_eeprom_config(void)
 {
     uint8_t eebyte;
@@ -145,15 +146,18 @@ static void print_eeprom_config(void)
     print("keyconf.swap_grave_esc: "); print_hex8(kc.swap_grave_esc); print("\n");
     print("keyconf.swap_backslash_backspace: "); print_hex8(kc.swap_backslash_backspace); print("\n");
 }
+#endif
 
 static bool command_common(uint8_t code)
 {
     static host_driver_t *host_driver = 0;
     switch (code) {
+#ifdef BOOTMAGIC_ENABLE
         case KC_E:
             print("eeprom config\n");
             print_eeprom_config();
             break;
+#endif
         case KC_CAPSLOCK:
             if (host_get_driver()) {
                 host_driver = host_get_driver();
diff --git a/common/keyboard.c b/common/keyboard.c
index 1acb79861d..401fdb4e17 100644
--- a/common/keyboard.c
+++ b/common/keyboard.c
@@ -29,10 +29,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "util.h"
 #include "sendchar.h"
 #include "bootmagic.h"
-#ifdef MOUSEKEY_ENABLE
-#include "mousekey.h"
-#endif
 #include "eeconfig.h"
+#include "mousekey.h"
 
 
 #ifdef MATRIX_HAS_GHOST
@@ -64,6 +62,7 @@ void keyboard_init(void)
     ps2_mouse_init();
 #endif
 
+#ifdef BOOTMAGIC_ENABLE
     bootmagic();
 
     if (eeconfig_is_enabled()) {
@@ -77,6 +76,7 @@ void keyboard_init(void)
     } else {
         eeconfig_init();
     }
+#endif
 }
 
 /*
diff --git a/keyboard/gh60/Makefile.lufa b/keyboard/gh60/Makefile.lufa
index b885b7dfa1..a5ff609a77 100644
--- a/keyboard/gh60/Makefile.lufa
+++ b/keyboard/gh60/Makefile.lufa
@@ -47,8 +47,7 @@ TOP_DIR = ../..
 # Directory keyboard dependent files exist
 TARGET_DIR = .
 
-
-# List C source files here. (C dependencies are automatically generated.)
+# project specific files
 SRC +=	keymap.c \
 	matrix.c \
 	led.c
@@ -100,6 +99,7 @@ F_USB = $(F_CPU)
 # Build Options
 #   comment out to disable the options.
 #
+BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
 MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
 EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
 CONSOLE_ENABLE = yes	# Console for debug(+400)
diff --git a/keyboard/gh60/Makefile.pjrc b/keyboard/gh60/Makefile.pjrc
index 2538c0c6bb..f03ca9416d 100644
--- a/keyboard/gh60/Makefile.pjrc
+++ b/keyboard/gh60/Makefile.pjrc
@@ -47,7 +47,7 @@ TOP_DIR = ../..
 # Directory keyboard dependent files exist
 TARGET_DIR = .
 
-# keyboard dependent files
+# project specific files
 SRC =	keymap.c \
 	matrix.c \
 	led.c
@@ -57,10 +57,8 @@ CONFIG_H = config.h
 
 # MCU name, you MUST set this to match the board you are using
 # type "make clean" after changing this, so all files will be rebuilt
-#MCU = at90usb162       # Teensy 1.0
-MCU = atmega32u4       # Teensy 2.0
-#MCU = at90usb646       # Teensy++ 1.0
-#MCU = at90usb1286      # Teensy++ 2.0
+MCU = atmega32u4
+#MCU = at90usb1286
 
 
 # Processor frequency.
@@ -79,6 +77,7 @@ OPT_DEFS += -DBOOT_SIZE=4096
 # Build Options
 #   comment out to disable the options.
 #
+BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
 MOUSEKEY_ENABLE = yes	# Mouse keys(+5000)
 EXTRAKEY_ENABLE = yes	# Audio control and System control(+600)
 NKRO_ENABLE = yes	# USB Nkey Rollover(+500)