1 #----------------------------------------------------------------------------
4 # make = Make software.
6 # make clean = Clean out built project files.
8 # That's pretty much all you need. To compile, always go make clean,
11 # For advanced users only:
12 # make teensy = Download the hex file to the device, using teensy_loader_cli.
13 # (must have teensy_loader_cli installed).
15 #----------------------------------------------------------------------------
17 # Target file name (without extension).
21 # Directory common source filess exist
23 TMK_DIR = ../../tmk_core
25 # Directory keyboard dependent files exist
28 # # project specific files
34 SRC := keymaps/$(KEYMAP)/keymap.c $(SRC)
36 SRC := keymaps/default/keymap.c $(SRC)
44 # Processor frequency.
45 # This will define a symbol, F_CPU, in all source code files equal to the
46 # processor frequency in Hz. You can then use this symbol in your source code to
47 # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
48 # automatically to create a 32-bit value in your source code.
50 # This will be an integer division of F_USB below, as it is sourced by
51 # F_USB after it has run through any CPU prescalers. Note that this value
52 # does not *change* the processor frequency - it should merely be updated to
53 # reflect the processor speed set externally so that the code can use accurate
61 # Target architecture (see library "Board Types" documentation).
64 # Input clock frequency.
65 # This will define a symbol, F_USB, in all source code files equal to the
66 # input clock frequency (before any prescaling is performed) in Hz. This value may
67 # differ from F_CPU if prescaling is used on the latter, and is required as the
68 # raw input clock is fed directly to the PLL sections of the AVR for high speed
69 # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
70 # at the end, this will be done automatically to create a 32-bit value in your
73 # If no clock division is performed on the input clock inside the AVR (via the
74 # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
77 # Interrupt driven control endpoint task(+60)
78 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
81 # Boot Section Size in *bytes*
83 # Teensy++ halfKay 1024
84 # Atmel DFU loader 4096
85 # LUFA bootloader 4096
87 OPT_DEFS += -DBOOTLOADER_SIZE=512
91 # comment out to disable the options.
93 BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
94 MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
95 EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
96 # CONSOLE_ENABLE = yes # Console for debug(+400)
97 COMMAND_ENABLE = yes # Commands for debug and configuration
98 CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ
99 SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
100 NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
101 # MIDI_ENABLE = yes # MIDI controls
102 # UNICODE_ENABLE = yes # Unicode
104 # If you want to have your own config_user.h, you can just put it in
105 # your keymap directory. Anything you set there will take precedence
106 # over the global config.h.
107 ifneq ("$(wildcard keymaps/$(KEYMAP)/config_user.h)","")
108 CONFIG_USER_H = keymaps/$(KEYMAP)/config_user.h
113 ifeq ("$(wildcard keymaps/$(KEYMAP).c)","")
114 ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
115 include keymaps/$(KEYMAP)/makefile.mk
121 # Optimize size but this may cause error "relocation truncated to fit"
122 #EXTRALDFLAGS = -Wl,--relax
125 VPATH += $(TARGET_DIR)
129 include $(TOP_DIR)/quantum/quantum.mk