fc660c: Add unimap
[tmk_keyboard.git] / keyboard / fc660c / Makefile
... / ...
CommitLineData
1# Target name
2TARGET ?= fc660c
3
4# Location of tmk_core
5TMK_DIR ?= ../../tmk_core
6
7# Location of target dependent files exist
8TARGET_DIR ?= .
9
10
11# List C source files
12SRC ?= fc660c.c
13
14# Configure file
15CONFIG_H ?= config.h
16
17
18# MCU name
19MCU ?= atmega32u4
20
21# Processor frequency.
22# This will define a symbol, F_CPU, in all source code files equal to the
23# processor frequency in Hz. You can then use this symbol in your source code to
24# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
25# automatically to create a 32-bit value in your source code.
26#
27# This will be an integer division of F_USB below, as it is sourced by
28# F_USB after it has run through any CPU prescalers. Note that this value
29# does not *change* the processor frequency - it should merely be updated to
30# reflect the processor speed set externally so that the code can use accurate
31# software delays.
32F_CPU ?= 16000000
33
34
35#
36# LUFA specific
37#
38# Target architecture (see library "Board Types" documentation).
39ARCH ?= AVR8
40
41# Input clock frequency.
42# This will define a symbol, F_USB, in all source code files equal to the
43# input clock frequency (before any prescaling is performed) in Hz. This value may
44# differ from F_CPU if prescaling is used on the latter, and is required as the
45# raw input clock is fed directly to the PLL sections of the AVR for high speed
46# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
47# at the end, this will be done automatically to create a 32-bit value in your
48# source code.
49#
50# If no clock division is performed on the input clock inside the AVR (via the
51# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
52F_USB ?= $(F_CPU)
53
54# Interrupt driven control endpoint task
55OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
56
57
58# Boot Section Size in *bytes*
59# Teensy halfKay 512
60# Teensy++ halfKay 1024
61# Atmel DFU loader 4096 (TMK Alt Controller)
62# LUFA bootloader 4096
63# USBaspLoader 2048
64OPT_DEFS += -DBOOTLOADER_SIZE=4096
65
66
67# Build Options
68# comment out to disable the options.
69#
70#BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration
71MOUSEKEY_ENABLE ?= yes # Mouse keys
72EXTRAKEY_ENABLE ?= yes # Audio control and System control
73CONSOLE_ENABLE ?= yes # Console for debug
74COMMAND_ENABLE ?= yes # Commands for debug and configuration
75NKRO_ENABLE ?= yes # USB Nkey Rollover
76#ACTIONMAP_ENABLE ?= yes # Use 16bit actionmap instead of 8bit keymap
77UNIMAP_ENABLE ?= yes # Universal keymap
78KEYMAP_SECTION_ENABLE ?= yes # fixed address keymap for keymap editor
79
80#OPT_DEFS += -DNO_ACTION_TAPPING
81#OPT_DEFS += -DNO_ACTION_LAYER
82#OPT_DEFS += -DNO_ACTION_MACRO
83
84
85#
86# Keymap file
87#
88ifeq (yes,$(strip $(UNIMAP_ENABLE)))
89 KEYMAP_FILE = unimap
90 TARGET := $(TARGET)_unimap
91else
92 ifeq (yes,$(strip $(ACTIONMAP_ENABLE)))
93 KEYMAP_FILE = actionmap
94 else
95 KEYMAP_FILE = keymap
96 endif
97endif
98ifdef KEYMAP
99 SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
100else
101 SRC := $(KEYMAP_FILE).c $(SRC)
102endif
103
104
105# Search Path
106VPATH += $(TARGET_DIR)
107VPATH += $(TMK_DIR)
108
109include $(TMK_DIR)/protocol/lufa.mk
110include $(TMK_DIR)/common.mk
111include $(TMK_DIR)/rules.mk
Imprint / Impressum