3f0289e6 |
1 | # Target file name (without extension). |
1610250c |
2 | TARGET ?= m0110_usb |
3f0289e6 |
3 | |
4 | # Directory common source filess exist |
9b17e276 |
5 | TMK_DIR ?= ../../tmk_core |
3f0289e6 |
6 | |
7 | # Directory keyboard dependent files exist |
9b17e276 |
8 | TARGET_DIR ?= . |
3f0289e6 |
9 | |
10 | # keyboard dependent files |
9b17e276 |
11 | SRC ?= matrix.c \ |
3f0289e6 |
12 | led.c \ |
13 | m0110.c |
14 | |
9b17e276 |
15 | # |
16 | # Keymap file |
17 | # |
18 | ifdef UNIMAP_ENABLE |
19 | KEYMAP_FILE = unimap |
20 | else |
21 | ifdef ACTIONMAP_ENABLE |
22 | KEYMAP_FILE = actionmap |
23 | else |
24 | KEYMAP_FILE = keymap |
25 | endif |
26 | endif |
9c8d0f6c |
27 | ifdef KEYMAP |
9b17e276 |
28 | SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC) |
60103a12 |
29 | else |
9b17e276 |
30 | SRC := $(KEYMAP_FILE).c $(SRC) |
60103a12 |
31 | endif |
32 | |
9b17e276 |
33 | CONFIG_H ?= config.h |
3f0289e6 |
34 | |
35 | |
36 | # MCU name, you MUST set this to match the board you are using |
37 | # type "make clean" after changing this, so all files will be rebuilt |
9b17e276 |
38 | MCU ?= atmega32u2 |
3f0289e6 |
39 | |
40 | |
41 | # Processor frequency. |
42 | # Normally the first thing your program should do is set the clock prescaler, |
43 | # so your program will run at the correct speed. You should also set this |
44 | # variable to same clock speed. The _delay_ms() macro uses this, and many |
45 | # examples use this variable to calculate timings. Do not add a "UL" here. |
9b17e276 |
46 | F_CPU ?= 16000000 |
3f0289e6 |
47 | |
48 | |
60103a12 |
49 | # |
50 | # LUFA specific |
51 | # |
52 | # Target architecture (see library "Board Types" documentation). |
9b17e276 |
53 | ARCH ?= AVR8 |
60103a12 |
54 | |
55 | # Input clock frequency. |
56 | # This will define a symbol, F_USB, in all source code files equal to the |
57 | # input clock frequency (before any prescaling is performed) in Hz. This value may |
58 | # differ from F_CPU if prescaling is used on the latter, and is required as the |
59 | # raw input clock is fed directly to the PLL sections of the AVR for high speed |
60 | # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' |
61 | # at the end, this will be done automatically to create a 32-bit value in your |
62 | # source code. |
63 | # |
64 | # If no clock division is performed on the input clock inside the AVR (via the |
65 | # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. |
9b17e276 |
66 | F_USB ?= $(F_CPU) |
60103a12 |
67 | |
68 | # Interrupt driven control endpoint task |
69 | OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT |
70 | |
71 | |
2b33ecad |
72 | # Boot Section Size in bytes |
73 | # Teensy halfKay 512 |
74 | # Atmel DFU loader 4096 |
75 | # LUFA bootloader 4096 |
76 | OPT_DEFS += -DBOOTLOADER_SIZE=4096 |
77 | |
78 | |
3f0289e6 |
79 | # Build Options |
80 | # *Comment out* to disable the options. |
81 | # |
9b17e276 |
82 | #BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) |
83 | MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) |
84 | EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) |
85 | CONSOLE_ENABLE ?= yes # Console for debug(+400) |
86 | COMMAND_ENABLE ?= yes # Commands for debug and configuration |
87 | #SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend |
8b509aa1 |
88 | #NKRO_ENABLE ?= yes # USB Nkey Rollover |
9b17e276 |
89 | #KEYMAP_SECTION_ENABLE ?= yes # fixed address keymap for keymap editor |
3f0289e6 |
90 | |
91 | |
92 | |
93 | #---------------- Programming Options -------------------------- |
9b17e276 |
94 | PROGRAM_CMD ?= teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex |
3f0289e6 |
95 | |
96 | |
2769f09d |
97 | # Search Path |
98 | VPATH += $(TARGET_DIR) |
b4e2d325 |
99 | VPATH += $(TMK_DIR) |
2769f09d |
100 | |
3f0289e6 |
101 | |
b4e2d325 |
102 | include $(TMK_DIR)/protocol/lufa.mk |
103 | include $(TMK_DIR)/protocol.mk |
104 | include $(TMK_DIR)/common.mk |
105 | include $(TMK_DIR)/rules.mk |