Commit | Line | Data |
---|---|---|
98b16b32 | 1 | # Determine what keyboard we are building and setup the build environment. |
2 | # | |
3 | # We support folders up to 5 levels deep below `keyboards/`. This file is | |
4 | # responsible for determining which folder is being used and doing the | |
5 | # corresponding environment setup. | |
6 | ||
86706de0 FS |
7 | ifndef VERBOSE |
8 | .SILENT: | |
9 | endif | |
10 | ||
11 | .DEFAULT_GOAL := all | |
12 | ||
27a673f5 | 13 | include common.mk |
8f164031 | 14 | |
98b16b32 | 15 | # Set the filename for the final firmware binary |
800ec55d | 16 | KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD)) |
800ec55d JH |
17 | TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP) |
18 | KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE) | |
3cf179be | 19 | STM32_PATH := quantum/stm32 |
8f164031 FS |
20 | |
21 | # Force expansion | |
22 | TARGET := $(TARGET) | |
23 | ||
98b16b32 | 24 | # For split boards we need to set a master half. |
86706de0 FS |
25 | MASTER ?= left |
26 | ifdef master | |
1d5567a3 | 27 | MASTER = $(master) |
86706de0 FS |
28 | endif |
29 | ||
b911e196 | 30 | ifeq ($(MASTER),right) |
1d5567a3 | 31 | OPT_DEFS += -DMASTER_IS_ON_RIGHT |
b911e196 | 32 | else |
1d5567a3 | 33 | ifneq ($(MASTER),left) |
c692fd1d | 34 | $(error MASTER does not have a valid value(left/right)) |
1d5567a3 | 35 | endif |
c692fd1d FS |
36 | endif |
37 | ||
8f790948 TI |
38 | ifdef SKIP_VERSION |
39 | OPT_DEFS += -DSKIP_VERSION | |
40 | endif | |
41 | ||
98b16b32 | 42 | # Determine which subfolders exist. |
43 | KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD) | |
44 | KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1))) | |
45 | KEYBOARD_FOLDER_PATH_3 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_2))) | |
46 | KEYBOARD_FOLDER_PATH_4 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_3))) | |
47 | KEYBOARD_FOLDER_PATH_5 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_4))) | |
48 | KEYBOARD_FOLDER_1 := $(notdir $(KEYBOARD_FOLDER_PATH_1)) | |
49 | KEYBOARD_FOLDER_2 := $(notdir $(KEYBOARD_FOLDER_PATH_2)) | |
50 | KEYBOARD_FOLDER_3 := $(notdir $(KEYBOARD_FOLDER_PATH_3)) | |
51 | KEYBOARD_FOLDER_4 := $(notdir $(KEYBOARD_FOLDER_PATH_4)) | |
52 | KEYBOARD_FOLDER_5 := $(notdir $(KEYBOARD_FOLDER_PATH_5)) | |
800ec55d | 53 | KEYBOARD_PATHS := |
800ec55d JH |
54 | KEYBOARD_PATH_1 := keyboards/$(KEYBOARD_FOLDER_PATH_1) |
55 | KEYBOARD_PATH_2 := keyboards/$(KEYBOARD_FOLDER_PATH_2) | |
56 | KEYBOARD_PATH_3 := keyboards/$(KEYBOARD_FOLDER_PATH_3) | |
57 | KEYBOARD_PATH_4 := keyboards/$(KEYBOARD_FOLDER_PATH_4) | |
58 | KEYBOARD_PATH_5 := keyboards/$(KEYBOARD_FOLDER_PATH_5) | |
59 | ||
98b16b32 | 60 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/)","") |
800ec55d | 61 | KEYBOARD_PATHS += $(KEYBOARD_PATH_5) |
98b16b32 | 62 | endif |
63 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/)","") | |
64 | KEYBOARD_PATHS += $(KEYBOARD_PATH_4) | |
65 | endif | |
66 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/)","") | |
67 | KEYBOARD_PATHS += $(KEYBOARD_PATH_3) | |
68 | endif | |
69 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/)","") | |
70 | KEYBOARD_PATHS += $(KEYBOARD_PATH_2) | |
71 | endif | |
72 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/)","") | |
73 | KEYBOARD_PATHS += $(KEYBOARD_PATH_1) | |
74 | endif | |
75 | ||
3cf179be | 76 | |
98b16b32 | 77 | # Pull in rules.mk files from all our subfolders |
78 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","") | |
800ec55d JH |
79 | include $(KEYBOARD_PATH_5)/rules.mk |
80 | endif | |
81 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","") | |
800ec55d JH |
82 | include $(KEYBOARD_PATH_4)/rules.mk |
83 | endif | |
84 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","") | |
800ec55d | 85 | include $(KEYBOARD_PATH_3)/rules.mk |
67b294ca | 86 | endif |
800ec55d | 87 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","") |
800ec55d JH |
88 | include $(KEYBOARD_PATH_2)/rules.mk |
89 | endif | |
90 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","") | |
800ec55d JH |
91 | include $(KEYBOARD_PATH_1)/rules.mk |
92 | endif | |
93 | ||
3cf179be JH |
94 | |
95 | MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP) | |
96 | MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP) | |
97 | MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP) | |
98 | MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) | |
99 | MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) | |
100 | ||
a25dd58b | 101 | # Check for keymap.json first, so we can regenerate keymap.c |
102 | include build_json.mk | |
103 | ||
104 | ifeq ("$(wildcard $(KEYMAP_PATH))", "") | |
105 | # Look through the possible keymap folders until we find a matching keymap.c | |
106 | ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") | |
107 | -include $(MAIN_KEYMAP_PATH_5)/rules.mk | |
108 | KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c | |
109 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) | |
110 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") | |
111 | -include $(MAIN_KEYMAP_PATH_4)/rules.mk | |
112 | KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c | |
113 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) | |
114 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") | |
115 | -include $(MAIN_KEYMAP_PATH_3)/rules.mk | |
116 | KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c | |
117 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) | |
118 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") | |
119 | -include $(MAIN_KEYMAP_PATH_2)/rules.mk | |
120 | KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c | |
121 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) | |
122 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") | |
123 | -include $(MAIN_KEYMAP_PATH_1)/rules.mk | |
124 | KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c | |
125 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) | |
126 | else ifneq ($(LAYOUTS),) | |
127 | # If we haven't found a keymap yet fall back to community layouts | |
128 | include build_layout.mk | |
129 | else | |
130 | $(error Could not find keymap) | |
131 | # this state should never be reached | |
132 | endif | |
3cf179be JH |
133 | endif |
134 | ||
135 | ifeq ($(strip $(CTPC)), yes) | |
136 | CONVERT_TO_PROTON_C=yes | |
137 | endif | |
138 | ||
139 | ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) | |
140 | TARGET := $(TARGET)_proton_c | |
141 | include $(STM32_PATH)/proton_c.mk | |
142 | OPT_DEFS += -DCONVERT_TO_PROTON_C | |
143 | endif | |
144 | ||
40e67a30 | 145 | ifneq ($(FORCE_LAYOUT),) |
146 | TARGET := $(TARGET)_$(FORCE_LAYOUT) | |
147 | endif | |
148 | ||
3cf179be JH |
149 | include quantum/mcu_selection.mk |
150 | ||
151 | ifdef MCU_FAMILY | |
152 | OPT_DEFS += -DQMK_STM32 | |
153 | KEYBOARD_PATHS += $(STM32_PATH) | |
154 | endif | |
155 | ||
156 | ||
98b16b32 | 157 | # Find all the C source files to be compiled in subfolders. |
800ec55d JH |
158 | KEYBOARD_SRC := |
159 | ||
160 | KEYBOARD_C_1 := $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).c | |
161 | KEYBOARD_C_2 := $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).c | |
162 | KEYBOARD_C_3 := $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).c | |
163 | KEYBOARD_C_4 := $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).c | |
164 | KEYBOARD_C_5 := $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).c | |
67b294ca | 165 | |
800ec55d JH |
166 | ifneq ("$(wildcard $(KEYBOARD_C_5))","") |
167 | KEYBOARD_SRC += $(KEYBOARD_C_5) | |
168 | endif | |
169 | ifneq ("$(wildcard $(KEYBOARD_C_4))","") | |
170 | KEYBOARD_SRC += $(KEYBOARD_C_4) | |
171 | endif | |
172 | ifneq ("$(wildcard $(KEYBOARD_C_3))","") | |
173 | KEYBOARD_SRC += $(KEYBOARD_C_3) | |
174 | endif | |
175 | ifneq ("$(wildcard $(KEYBOARD_C_2))","") | |
176 | KEYBOARD_SRC += $(KEYBOARD_C_2) | |
177 | endif | |
178 | ifneq ("$(wildcard $(KEYBOARD_C_1))","") | |
179 | KEYBOARD_SRC += $(KEYBOARD_C_1) | |
180 | endif | |
181 | ||
6cf9402c DJ |
182 | # Generate KEYBOARD_name_subname for all levels of the keyboard folder |
183 | KEYBOARD_FILESAFE_1 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_1))) | |
184 | KEYBOARD_FILESAFE_2 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_2))) | |
185 | KEYBOARD_FILESAFE_3 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_3))) | |
186 | KEYBOARD_FILESAFE_4 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_4))) | |
187 | KEYBOARD_FILESAFE_5 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_5))) | |
800ec55d | 188 | |
6cf9402c DJ |
189 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/)","") |
190 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_5) | |
191 | endif | |
192 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/)","") | |
193 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_4) | |
194 | endif | |
195 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/)","") | |
196 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_3) | |
197 | endif | |
198 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/)","") | |
199 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_2) | |
200 | endif | |
201 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/)","") | |
202 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_1) | |
203 | endif | |
ec3e065f | 204 | |
98b16b32 | 205 | # Setup the define for QMK_KEYBOARD_H. This is used inside of keymaps so |
206 | # that the same keymap may be used on multiple keyboards. | |
207 | # | |
208 | # We grab the most top-level include file that we can. That file should | |
209 | # use #ifdef statements to include all the neccesary subfolder includes, | |
210 | # as described here: | |
211 | # | |
212 | # https://docs.qmk.fm/#/feature_layouts?id=tips-for-making-layouts-keyboard-agnostic | |
213 | # | |
ec3e065f JH |
214 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).h)","") |
215 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h | |
216 | endif | |
217 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).h)","") | |
218 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h | |
219 | endif | |
220 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).h)","") | |
221 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h | |
222 | endif | |
223 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).h)","") | |
224 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h | |
225 | endif | |
226 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).h)","") | |
227 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h | |
228 | endif | |
229 | ||
98b16b32 | 230 | # Determine and set parameters based on the keyboard's processor family. |
231 | # We can assume a ChibiOS target When MCU_FAMILY is defined since it's | |
232 | # not used for LUFA | |
33fbd3be | 233 | ifdef MCU_FAMILY |
1d5567a3 | 234 | PLATFORM=CHIBIOS |
d96380e6 JC |
235 | PLATFORM_KEY=chibios |
236 | FIRMWARE_FORMAT?=bin | |
30680c6e | 237 | else ifdef ARM_ATSAM |
238 | PLATFORM=ARM_ATSAM | |
d96380e6 | 239 | PLATFORM_KEY=arm_atsam |
30680c6e | 240 | FIRMWARE_FORMAT=bin |
33fbd3be | 241 | else |
1d5567a3 | 242 | PLATFORM=AVR |
d96380e6 | 243 | PLATFORM_KEY=avr |
98b16b32 | 244 | FIRMWARE_FORMAT?=hex |
33fbd3be FS |
245 | endif |
246 | ||
98b16b32 | 247 | # Find all of the config.h files and add them to our CONFIG_H define. |
800ec55d JH |
248 | CONFIG_H := |
249 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","") | |
250 | CONFIG_H += $(KEYBOARD_PATH_5)/config.h | |
251 | endif | |
252 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/config.h)","") | |
253 | CONFIG_H += $(KEYBOARD_PATH_4)/config.h | |
254 | endif | |
255 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/config.h)","") | |
256 | CONFIG_H += $(KEYBOARD_PATH_3)/config.h | |
257 | endif | |
258 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/config.h)","") | |
259 | CONFIG_H += $(KEYBOARD_PATH_2)/config.h | |
260 | endif | |
261 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/config.h)","") | |
262 | CONFIG_H += $(KEYBOARD_PATH_1)/config.h | |
9028a412 FS |
263 | endif |
264 | ||
7e67bd79 TI |
265 | POST_CONFIG_H := |
266 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_config.h)","") | |
267 | POST_CONFIG_H += $(KEYBOARD_PATH_1)/post_config.h | |
268 | endif | |
269 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_config.h)","") | |
270 | POST_CONFIG_H += $(KEYBOARD_PATH_2)/post_config.h | |
271 | endif | |
272 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_config.h)","") | |
273 | POST_CONFIG_H += $(KEYBOARD_PATH_3)/post_config.h | |
274 | endif | |
275 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_config.h)","") | |
276 | POST_CONFIG_H += $(KEYBOARD_PATH_4)/post_config.h | |
277 | endif | |
278 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_config.h)","") | |
279 | POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h | |
280 | endif | |
281 | ||
98b16b32 | 282 | # Userspace setup and definitions |
5ca9aecf JW |
283 | ifeq ("$(USER_NAME)","") |
284 | USER_NAME := $(KEYMAP) | |
285 | endif | |
286 | USER_PATH := users/$(USER_NAME) | |
287 | ||
06f196c5 | 288 | -include $(USER_PATH)/rules.mk |
508801c9 W |
289 | ifneq ("$(wildcard $(USER_PATH)/config.h)","") |
290 | CONFIG_H += $(USER_PATH)/config.h | |
162a67cb DJ |
291 | endif |
292 | ||
86706de0 FS |
293 | # Object files directory |
294 | # To put object files in current directory, use a dot (.), do NOT make | |
295 | # this an empty or blank macro! | |
3aac4e95 | 296 | KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) |
86706de0 | 297 | |
86706de0 | 298 | ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") |
800ec55d | 299 | CONFIG_H += $(KEYMAP_PATH)/config.h |
86706de0 FS |
300 | endif |
301 | ||
a25dd58b | 302 | # project specific files |
800ec55d | 303 | SRC += $(KEYBOARD_SRC) \ |
1d5567a3 | 304 | $(KEYMAP_C) \ |
1c0fe956 | 305 | $(QUANTUM_SRC) |
86706de0 | 306 | |
86706de0 FS |
307 | # Optimize size but this may cause error "relocation truncated to fit" |
308 | #EXTRALDFLAGS = -Wl,--relax | |
309 | ||
310 | # Search Path | |
311 | VPATH += $(KEYMAP_PATH) | |
27b0f892 | 312 | VPATH += $(USER_PATH) |
800ec55d | 313 | VPATH += $(KEYBOARD_PATHS) |
c692fd1d | 314 | VPATH += $(COMMON_VPATH) |
86706de0 | 315 | |
1c0fe956 | 316 | include common_features.mk |
3be13d1f | 317 | include $(TMK_PATH)/protocol.mk |
86706de0 | 318 | include $(TMK_PATH)/common.mk |
9fdc2762 | 319 | include bootloader.mk |
1c0fe956 | 320 | |
29f68459 | 321 | SRC += $(patsubst %.c,%.clib,$(LIB_SRC)) |
8f790948 | 322 | SRC += $(patsubst %.c,%.clib,$(QUANTUM_LIB_SRC)) |
c692fd1d FS |
323 | SRC += $(TMK_COMMON_SRC) |
324 | OPT_DEFS += $(TMK_COMMON_DEFS) | |
325 | EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS) | |
326 | ||
d8f3c28a JC |
327 | include $(TMK_PATH)/$(PLATFORM_KEY).mk |
328 | ifneq ($(strip $(PROTOCOL)),) | |
329 | include $(TMK_PATH)/protocol/$(strip $(shell echo $(PROTOCOL) | tr '[:upper:]' '[:lower:]')).mk | |
f7462aaa | 330 | else |
d8f3c28a | 331 | include $(TMK_PATH)/protocol/$(PLATFORM_KEY).mk |
30680c6e | 332 | endif |
333 | ||
d8f3c28a JC |
334 | # TODO: remove this bodge? |
335 | PROJECT_DEFS := $(OPT_DEFS) | |
336 | PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS) | |
337 | PROJECT_CONFIG := $(CONFIG_H) | |
53ff8a31 | 338 | |
86706de0 | 339 | ifeq ($(strip $(VISUALIZER_ENABLE)), yes) |
1d5567a3 FS |
340 | VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer |
341 | VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer | |
342 | include $(VISUALIZER_PATH)/visualizer.mk | |
86706de0 FS |
343 | endif |
344 | ||
7e67bd79 | 345 | CONFIG_H += $(POST_CONFIG_H) |
ec3e065f JH |
346 | ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H) |
347 | ||
3aac4e95 FS |
348 | OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) |
349 | $(KEYMAP_OUTPUT)_SRC := $(SRC) | |
d2ff66a9 | 350 | $(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) $(GFXDEFS) \ |
ec3e065f | 351 | -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(QMK_KEYBOARD_H)\" -DQMK_KEYBOARD_CONFIG_H=\"$(KEYBOARD_PATH_1)/config.h\" \ |
d2ff66a9 | 352 | -DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \ |
800ec55d | 353 | -DQMK_SUBPROJECT -DQMK_SUBPROJECT_H -DQMK_SUBPROJECT_CONFIG_H |
c692fd1d | 354 | $(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) |
9028a412 | 355 | $(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H) |
f5c89416 FS |
356 | $(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) $(GFXSRC) |
357 | $(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) $(GFXDEFS) | |
358 | $(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) $(GFXINC) | |
800ec55d | 359 | $(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG) |
3aac4e95 | 360 | |
8a9aac6e | 361 | # Default target. |
9fdc2762 | 362 | all: build check-size |
9bfaf667 | 363 | build: elf cpfirmware |
4082d880 | 364 | check-size: build |
0f95c086 | 365 | objs-size: build |
3aac4e95 | 366 | |
d5bc7fc1 | 367 | include show_options.mk |
86706de0 | 368 | include $(TMK_PATH)/rules.mk |