1 #----------------------------------------------------------------------------
4 # make all = Make software.
6 # make clean = Clean out built project files.
8 # make coff = Convert ELF to AVR COFF.
10 # make extcoff = Convert ELF to AVR Extended COFF.
12 # make program = Download the hex file to the device.
13 # Please customize your programmer settings(PROGRAM_CMD)
15 # make teensy = Download the hex file to the device, using teensy_loader_cli.
16 # (must have teensy_loader_cli installed).
18 # make dfu = Download the hex file to the device, using dfu-programmer (must
19 # have dfu-programmer installed).
21 # make flip = Download the hex file to the device, using Atmel FLIP (must
22 # have Atmel FLIP installed).
24 # make dfu-ee = Download the eeprom file to the device, using dfu-programmer
25 # (must have dfu-programmer installed).
27 # make flip-ee = Download the eeprom file to the device, using Atmel FLIP
28 # (must have Atmel FLIP installed).
30 # make debug = Start either simulavr or avarice as specified for debugging,
31 # with avr-gdb or avr-insight as the front end for debugging.
33 # make filename.s = Just compile filename.c into the assembler code only.
35 # make filename.i = Create a preprocessed source file for use in submitting
36 # bug reports to the GCC project.
38 # To rebuild project do "make clean" then "make all".
39 #----------------------------------------------------------------------------
41 # Target file name (without extension).
44 # Directory common source filess exist
47 # Directory keyboard dependent files exist
50 # project specific files
60 # MCU name, you MUST set this to match the board you are using
61 # type "make clean" after changing this, so all files will be rebuilt
66 # Processor frequency.
67 # Normally the first thing your program should do is set the clock prescaler,
68 # so your program will run at the correct speed. You should also set this
69 # variable to same clock speed. The _delay_ms() macro uses this, and many
70 # examples use this variable to calculate timings. Do not add a "UL" here.
77 # Target architecture (see library "Board Types" documentation).
80 # Input clock frequency.
81 # This will define a symbol, F_USB, in all source code files equal to the
82 # input clock frequency (before any prescaling is performed) in Hz. This value may
83 # differ from F_CPU if prescaling is used on the latter, and is required as the
84 # raw input clock is fed directly to the PLL sections of the AVR for high speed
85 # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
86 # at the end, this will be done automatically to create a 32-bit value in your
89 # If no clock division is performed on the input clock inside the AVR (via the
90 # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
93 # Interrupt driven control endpoint task
94 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
96 # Boot Section Size in *bytes*
98 # Atmel DFU loader 4096
99 # LUFA bootloader 4096
100 OPT_DEFS += -DBOOTLOADER_SIZE=4096 -DFLASH_SIZE_BYTES=0x8000
104 # comment out to disable the options.
106 BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
107 MOUSEKEY_ENABLE = yes # Mouse keys(+5000)
108 EXTRAKEY_ENABLE = yes # Audio control and System control(+600)
109 CONSOLE_ENABLE = yes # Console for debug
110 COMMAND_ENABLE = yes # Commands for debug and configuration
111 SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
112 #NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
113 #PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
114 INVERT_NUMLOCK = yes # invert state of NumLock led
118 VPATH += $(TARGET_DIR)
121 include $(TOP_DIR)/protocol/lufa.mk
122 include $(TOP_DIR)/common.mk
123 include $(TOP_DIR)/rules.mk
125 dvorak: OPT_DEFS += -DKEYMAP_DVORAK
128 colemak: OPT_DEFS += -DKEYMAP_COLEMAK
131 workman: OPT_DEFS += -DKEYMAP_WORKMAN
134 cub: OPT_DEFS += -DKEYMAP_CUB