fixed makefile for working with configurator
[tmk_keyboard.git] / keyboard / caravan / Makefile
CommitLineData
921f3300
ES
1#----------------------------------------------------------------------------
2# On command line:
3#
4# make all = Make software.
5#
6# make clean = Clean out built project files.
7#
8# make coff = Convert ELF to AVR COFF.
9#
10# make extcoff = Convert ELF to AVR Extended COFF.
11#
12# make program = Download the hex file to the device.
13# Please customize your programmer settings(PROGRAM_CMD)
14#
15# make teensy = Download the hex file to the device, using teensy_loader_cli.
16# (must have teensy_loader_cli installed).
17#
18# make dfu = Download the hex file to the device, using dfu-programmer (must
19# have dfu-programmer installed).
20#
21# make flip = Download the hex file to the device, using Atmel FLIP (must
22# have Atmel FLIP installed).
23#
24# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
25# (must have dfu-programmer installed).
26#
27# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
28# (must have Atmel FLIP installed).
29#
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.
32#
33# make filename.s = Just compile filename.c into the assembler code only.
34#
35# make filename.i = Create a preprocessed source file for use in submitting
36# bug reports to the GCC project.
37#
38# To rebuild project do "make clean" then "make all".
39#----------------------------------------------------------------------------
40
41# Target file name (without extension).
bb35587f
ES
42ifdef TARGETFILE
43 TARGET = $(TARGETFILE)
44else
45 TARGET = caravan_lufa
46endif
921f3300
ES
47
48# Directory common source filess exist
49TMK_DIR = ../../tmk_core
50
51# Directory keyboard dependent files exist
52TARGET_DIR = .
53
54# project specific files
7df0552b
ES
55SRC = matrix.c \
56 backlight.c \
921f3300
ES
57 led.c
58
59ifdef KEYMAP
60 SRC := keymap_$(KEYMAP).c $(SRC)
61else
62 SRC := keymap_caravan.c $(SRC)
63endif
64
65CONFIG_H = config.h
66
67
68# MCU name
69#MCU = at90usb1287
70MCU = atmega32u4
71
72# Processor frequency.
73# This will define a symbol, F_CPU, in all source code files equal to the
74# processor frequency in Hz. You can then use this symbol in your source code to
75# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
76# automatically to create a 32-bit value in your source code.
77#
78# This will be an integer division of F_USB below, as it is sourced by
79# F_USB after it has run through any CPU prescalers. Note that this value
80# does not *change* the processor frequency - it should merely be updated to
81# reflect the processor speed set externally so that the code can use accurate
82# software delays.
83F_CPU = 16000000
84
85
86#
87# LUFA specific
88#
89# Target architecture (see library "Board Types" documentation).
90ARCH = AVR8
91
92# Input clock frequency.
93# This will define a symbol, F_USB, in all source code files equal to the
94# input clock frequency (before any prescaling is performed) in Hz. This value may
95# differ from F_CPU if prescaling is used on the latter, and is required as the
96# raw input clock is fed directly to the PLL sections of the AVR for high speed
97# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
98# at the end, this will be done automatically to create a 32-bit value in your
99# source code.
100#
101# If no clock division is performed on the input clock inside the AVR (via the
102# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
103F_USB = $(F_CPU)
104
105# Interrupt driven control endpoint task(+60)
106OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
107
108
109# Boot Section Size in *bytes*
110# Teensy halfKay 512
111# Teensy++ halfKay 1024
112# Atmel DFU loader 4096
113# LUFA bootloader 4096
114# USBaspLoader 2048
115OPT_DEFS += -DBOOTLOADER_SIZE=4096
116
117
118# Build Options
119# comment out to disable the options.
120#
121BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
122MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
123EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
124CONSOLE_ENABLE = yes # Console for debug(+400)
125COMMAND_ENABLE = yes # Commands for debug and configuration
126#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
127NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
7df0552b 128BACKLIGHT_ENABLE = yes
921f3300
ES
129
130
131# Optimize size but this may cause error "relocation truncated to fit"
132#EXTRALDFLAGS = -Wl,--relax
133
134# Search Path
135VPATH += $(TARGET_DIR)
136VPATH += $(TMK_DIR)
137
138include $(TMK_DIR)/protocol/lufa.mk
139include $(TMK_DIR)/common.mk
140include $(TMK_DIR)/rules.mk
Imprint / Impressum