]> git.donarmstrong.com Git - tmk_firmware.git/blob - converter/terminal_usb/Makefile
Merge branch 'rhaberkorn-serial-mouse'
[tmk_firmware.git] / converter / terminal_usb / Makefile
1 # Target file name (without extension).
2 TARGET = terminal_lufa
3
4 # Directory common source filess exist
5 TOP_DIR = ../..
6
7 # Directory keyboard dependent files exist
8 TARGET_DIR = .
9
10 # keyboard dependent files
11 SRC =   keymap.c \
12         matrix.c \
13         led.c
14
15 CONFIG_H = config.h
16
17
18 # MCU name, you MUST set this to match the board you are using
19 # type "make clean" after changing this, so all files will be rebuilt
20 #MCU = at90usb162       # Teensy 1.0
21 MCU = atmega32u4       # Teensy 2.0
22 #MCU = at90usb646       # Teensy++ 1.0
23 #MCU = at90usb1286      # Teensy++ 2.0
24
25
26 # Processor frequency.
27 #   Normally the first thing your program should do is set the clock prescaler,
28 #   so your program will run at the correct speed.  You should also set this
29 #   variable to same clock speed.  The _delay_ms() macro uses this, and many
30 #   examples use this variable to calculate timings.  Do not add a "UL" here.
31 F_CPU = 16000000
32
33
34 #
35 # LUFA specific
36 #
37 # Target architecture (see library "Board Types" documentation).
38 ARCH = AVR8
39
40 # Input clock frequency.
41 #     This will define a symbol, F_USB, in all source code files equal to the
42 #     input clock frequency (before any prescaling is performed) in Hz. This value may
43 #     differ from F_CPU if prescaling is used on the latter, and is required as the
44 #     raw input clock is fed directly to the PLL sections of the AVR for high speed
45 #     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
46 #     at the end, this will be done automatically to create a 32-bit value in your
47 #     source code.
48 #
49 #     If no clock division is performed on the input clock inside the AVR (via the
50 #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
51 F_USB = $(F_CPU)
52
53 # Interrupt driven control endpoint task
54 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
55
56
57 # Boot Section Size in bytes
58 #   Teensy halfKay   512
59 #   Atmel DFU loader 4096
60 #   LUFA bootloader  4096
61 OPT_DEFS += -DBOOTLOADER_SIZE=4096
62
63
64 # Build Options
65 #   comment out to disable the options.
66 #
67 #BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
68 #MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
69 #EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
70 CONSOLE_ENABLE = yes    # Console for debug(+400)
71 COMMAND_ENABLE = yes    # Commands for debug and configuration
72 #SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
73 #NKRO_ENABLE = yes      # USB Nkey Rollover - not yet supported in LUFA
74
75
76 #
77 # PS/2 protocol implementations
78 #       USART is recommended if it is available, others are for reference purpose.
79 #       INT implementation will drop simultaneous key strokes.
80 #
81 PS2_USE_USART = yes     # uses hardware USART engine for PS/2 signal receive(recomened)
82 #PS2_USE_INT = yes      # uses external interrupt for falling edge of PS/2 clock pin
83 #PS2_USE_BUSYWAIT = yes # uses primitive reference code
84
85 ifdef PS2_USE_USART
86     SRC += protocol/ps2_usart.c
87     OPT_DEFS += -DPS2_USE_USART
88 endif
89
90 ifdef PS2_USE_INT
91     SRC += protocol/ps2.c
92     OPT_DEFS += -DPS2_USE_INT
93 endif
94
95 ifdef PS2_USE_BUSYWAIT
96     SRC += protocol/ps2.c
97     OPT_DEFS += -DPS2_USE_BUSYWAIT
98 endif
99
100
101 #---------------- Programming Options --------------------------
102 PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
103
104
105 # Search Path
106 VPATH += $(TARGET_DIR)
107 VPATH += $(TOP_DIR)
108
109
110 include $(TOP_DIR)/protocol/lufa.mk
111 include $(TOP_DIR)/protocol.mk
112 include $(TOP_DIR)/common.mk
113 include $(TOP_DIR)/rules.mk