-#
-# Makefile for PJRC Teensy
-#
-
-
# Target file name (without extension).
-TARGET = ps2_usb_pjrc
+TARGET = ps2_usb
# Directory common source filess exist
TOP_DIR = ../..
# Directory keyboard dependent files exist
TARGET_DIR = .
-# keyboard dependent files
-SRC = main.c \
- keymap.c \
- matrix.c \
- led.c \
- ps2.c
-
-CONFIG_H = config_pjrc.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
EXTRAKEY_ENABLE = yes # Audio control and System control
NKRO_ENABLE = yes # USB Nkey Rollover
+PS2_USE_USART = yes # uses hardware USART engine for PS/2 signal receive(recomened)
+#PS2_USE_INT = yes # uses external interrupt for falling edge of PS/2 clock pin
+#PS2_USE_BUSYWAIT = yes # uses primitive reference code
+
+
+# keyboard dependent files
+SRC = keymap.c \
+ matrix.c \
+ led.c
+
+
+ifdef PS2_USE_USART
+ SRC += protocol/ps2_usart.c
+ OPT_DEFS += -DPS2_USE_USART
+endif
+ifdef PS2_USE_INT
+ SRC += protocol/ps2.c
+ OPT_DEFS += -DPS2_USE_INT
+endif
+ifdef PS2_USE_BUSYWAIT
+ SRC += protocol/ps2.c
+ OPT_DEFS += -DPS2_USE_BUSYWAIT
+endif
+
+
+#CONFIG_H = config_pjrc_usart.h
+CONFIG_H = config.h
#---------------- Programming Options --------------------------
PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
+# Search Path
+VPATH += $(TARGET_DIR)
+VPATH += $(TOP_DIR)
+
include $(TOP_DIR)/protocol/pjrc.mk
include $(TOP_DIR)/protocol.mk