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 | ||
101 | ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") | |
102 | -include $(MAIN_KEYMAP_PATH_5)/rules.mk | |
103 | KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c | |
104 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) | |
105 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") | |
106 | -include $(MAIN_KEYMAP_PATH_4)/rules.mk | |
107 | KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c | |
108 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) | |
109 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") | |
110 | -include $(MAIN_KEYMAP_PATH_3)/rules.mk | |
111 | KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c | |
112 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) | |
113 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") | |
114 | -include $(MAIN_KEYMAP_PATH_2)/rules.mk | |
115 | KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c | |
116 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) | |
117 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") | |
118 | -include $(MAIN_KEYMAP_PATH_1)/rules.mk | |
119 | KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c | |
120 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) | |
121 | else ifneq ($(LAYOUTS),) | |
122 | include build_layout.mk | |
123 | else | |
124 | $(error Could not find keymap) | |
125 | # this state should never be reached | |
126 | endif | |
127 | ||
128 | ifeq ($(strip $(CTPC)), yes) | |
129 | CONVERT_TO_PROTON_C=yes | |
130 | endif | |
131 | ||
132 | ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) | |
133 | TARGET := $(TARGET)_proton_c | |
134 | include $(STM32_PATH)/proton_c.mk | |
135 | OPT_DEFS += -DCONVERT_TO_PROTON_C | |
136 | endif | |
137 | ||
138 | include quantum/mcu_selection.mk | |
139 | ||
140 | ifdef MCU_FAMILY | |
141 | OPT_DEFS += -DQMK_STM32 | |
142 | KEYBOARD_PATHS += $(STM32_PATH) | |
143 | endif | |
144 | ||
145 | ||
98b16b32 | 146 | # Find all the C source files to be compiled in subfolders. |
800ec55d JH |
147 | KEYBOARD_SRC := |
148 | ||
149 | KEYBOARD_C_1 := $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).c | |
150 | KEYBOARD_C_2 := $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).c | |
151 | KEYBOARD_C_3 := $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).c | |
152 | KEYBOARD_C_4 := $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).c | |
153 | KEYBOARD_C_5 := $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).c | |
67b294ca | 154 | |
800ec55d JH |
155 | ifneq ("$(wildcard $(KEYBOARD_C_5))","") |
156 | KEYBOARD_SRC += $(KEYBOARD_C_5) | |
157 | endif | |
158 | ifneq ("$(wildcard $(KEYBOARD_C_4))","") | |
159 | KEYBOARD_SRC += $(KEYBOARD_C_4) | |
160 | endif | |
161 | ifneq ("$(wildcard $(KEYBOARD_C_3))","") | |
162 | KEYBOARD_SRC += $(KEYBOARD_C_3) | |
163 | endif | |
164 | ifneq ("$(wildcard $(KEYBOARD_C_2))","") | |
165 | KEYBOARD_SRC += $(KEYBOARD_C_2) | |
166 | endif | |
167 | ifneq ("$(wildcard $(KEYBOARD_C_1))","") | |
168 | KEYBOARD_SRC += $(KEYBOARD_C_1) | |
169 | endif | |
170 | ||
6cf9402c DJ |
171 | # Generate KEYBOARD_name_subname for all levels of the keyboard folder |
172 | KEYBOARD_FILESAFE_1 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_1))) | |
173 | KEYBOARD_FILESAFE_2 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_2))) | |
174 | KEYBOARD_FILESAFE_3 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_3))) | |
175 | KEYBOARD_FILESAFE_4 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_4))) | |
176 | KEYBOARD_FILESAFE_5 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_5))) | |
800ec55d | 177 | |
6cf9402c DJ |
178 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/)","") |
179 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_5) | |
180 | endif | |
181 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/)","") | |
182 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_4) | |
183 | endif | |
184 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/)","") | |
185 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_3) | |
186 | endif | |
187 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/)","") | |
188 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_2) | |
189 | endif | |
190 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/)","") | |
191 | OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_1) | |
192 | endif | |
ec3e065f | 193 | |
98b16b32 | 194 | # Setup the define for QMK_KEYBOARD_H. This is used inside of keymaps so |
195 | # that the same keymap may be used on multiple keyboards. | |
196 | # | |
197 | # We grab the most top-level include file that we can. That file should | |
198 | # use #ifdef statements to include all the neccesary subfolder includes, | |
199 | # as described here: | |
200 | # | |
201 | # https://docs.qmk.fm/#/feature_layouts?id=tips-for-making-layouts-keyboard-agnostic | |
202 | # | |
ec3e065f JH |
203 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).h)","") |
204 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h | |
205 | endif | |
206 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).h)","") | |
207 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h | |
208 | endif | |
209 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).h)","") | |
210 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h | |
211 | endif | |
212 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).h)","") | |
213 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h | |
214 | endif | |
215 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).h)","") | |
216 | QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h | |
217 | endif | |
218 | ||
98b16b32 | 219 | # Determine and set parameters based on the keyboard's processor family. |
220 | # We can assume a ChibiOS target When MCU_FAMILY is defined since it's | |
221 | # not used for LUFA | |
33fbd3be | 222 | ifdef MCU_FAMILY |
98b16b32 | 223 | FIRMWARE_FORMAT?=bin |
1d5567a3 | 224 | PLATFORM=CHIBIOS |
30680c6e | 225 | else ifdef ARM_ATSAM |
226 | PLATFORM=ARM_ATSAM | |
227 | FIRMWARE_FORMAT=bin | |
33fbd3be | 228 | else |
1d5567a3 | 229 | PLATFORM=AVR |
98b16b32 | 230 | FIRMWARE_FORMAT?=hex |
33fbd3be FS |
231 | endif |
232 | ||
233 | ifeq ($(PLATFORM),CHIBIOS) | |
1d5567a3 FS |
234 | include $(TMK_PATH)/chibios.mk |
235 | OPT_OS = chibios | |
800ec55d JH |
236 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","") |
237 | OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h | |
238 | else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","") | |
239 | OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h | |
240 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","") | |
241 | OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h | |
242 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","") | |
243 | OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h | |
244 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","") | |
245 | OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h | |
246 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","") | |
247 | OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h | |
248 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","") | |
249 | OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h | |
250 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","") | |
251 | OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h | |
252 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","") | |
253 | OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h | |
254 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","") | |
255 | OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h | |
f6b3c676 KE |
256 | else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","") |
257 | OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h | |
1d5567a3 | 258 | endif |
33fbd3be FS |
259 | endif |
260 | ||
98b16b32 | 261 | # Find all of the config.h files and add them to our CONFIG_H define. |
800ec55d JH |
262 | CONFIG_H := |
263 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","") | |
264 | CONFIG_H += $(KEYBOARD_PATH_5)/config.h | |
265 | endif | |
266 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/config.h)","") | |
267 | CONFIG_H += $(KEYBOARD_PATH_4)/config.h | |
268 | endif | |
269 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/config.h)","") | |
270 | CONFIG_H += $(KEYBOARD_PATH_3)/config.h | |
271 | endif | |
272 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/config.h)","") | |
273 | CONFIG_H += $(KEYBOARD_PATH_2)/config.h | |
274 | endif | |
275 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/config.h)","") | |
276 | CONFIG_H += $(KEYBOARD_PATH_1)/config.h | |
9028a412 FS |
277 | endif |
278 | ||
b911e196 | 279 | # Save the defines and includes here, so we don't include any keymap specific ones |
3aac4e95 | 280 | PROJECT_DEFS := $(OPT_DEFS) |
800ec55d | 281 | PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS) |
9028a412 | 282 | PROJECT_CONFIG := $(CONFIG_H) |
3aac4e95 | 283 | |
98b16b32 | 284 | # Userspace setup and definitions |
5ca9aecf JW |
285 | ifeq ("$(USER_NAME)","") |
286 | USER_NAME := $(KEYMAP) | |
287 | endif | |
288 | USER_PATH := users/$(USER_NAME) | |
289 | ||
06f196c5 | 290 | -include $(USER_PATH)/rules.mk |
508801c9 W |
291 | ifneq ("$(wildcard $(USER_PATH)/config.h)","") |
292 | CONFIG_H += $(USER_PATH)/config.h | |
162a67cb DJ |
293 | endif |
294 | ||
06f196c5 | 295 | |
86706de0 FS |
296 | # Object files directory |
297 | # To put object files in current directory, use a dot (.), do NOT make | |
298 | # this an empty or blank macro! | |
3aac4e95 | 299 | KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) |
86706de0 | 300 | |
86706de0 | 301 | ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") |
800ec55d | 302 | CONFIG_H += $(KEYMAP_PATH)/config.h |
86706de0 FS |
303 | endif |
304 | ||
305 | # # project specific files | |
8f790948 | 306 | SRC += $(patsubst %.c,%.clib,$(LIB_SRC)) |
800ec55d | 307 | SRC += $(KEYBOARD_SRC) \ |
1d5567a3 | 308 | $(KEYMAP_C) \ |
1c0fe956 | 309 | $(QUANTUM_SRC) |
86706de0 | 310 | |
86706de0 FS |
311 | # Optimize size but this may cause error "relocation truncated to fit" |
312 | #EXTRALDFLAGS = -Wl,--relax | |
313 | ||
314 | # Search Path | |
315 | VPATH += $(KEYMAP_PATH) | |
800ec55d | 316 | VPATH += $(KEYBOARD_PATHS) |
c692fd1d | 317 | VPATH += $(COMMON_VPATH) |
06f196c5 | 318 | VPATH += $(USER_PATH) |
86706de0 | 319 | |
1c0fe956 | 320 | include common_features.mk |
3be13d1f | 321 | include $(TMK_PATH)/protocol.mk |
86706de0 | 322 | include $(TMK_PATH)/common.mk |
9fdc2762 | 323 | include bootloader.mk |
1c0fe956 | 324 | |
8f790948 | 325 | SRC += $(patsubst %.c,%.clib,$(QUANTUM_LIB_SRC)) |
c692fd1d FS |
326 | SRC += $(TMK_COMMON_SRC) |
327 | OPT_DEFS += $(TMK_COMMON_DEFS) | |
328 | EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS) | |
329 | ||
86706de0 | 330 | ifeq ($(PLATFORM),AVR) |
f7462aaa | 331 | ifeq ($(strip $(PROTOCOL)), VUSB) |
1d5567a3 | 332 | include $(TMK_PATH)/protocol/vusb.mk |
f7462aaa | 333 | else |
1d5567a3 | 334 | include $(TMK_PATH)/protocol/lufa.mk |
f7462aaa | 335 | endif |
1d5567a3 | 336 | include $(TMK_PATH)/avr.mk |
86706de0 FS |
337 | endif |
338 | ||
30680c6e | 339 | ifeq ($(PLATFORM),ARM_ATSAM) |
340 | include $(TMK_PATH)/arm_atsam.mk | |
341 | include $(TMK_PATH)/protocol/arm_atsam.mk | |
342 | endif | |
343 | ||
53ff8a31 | 344 | ifeq ($(PLATFORM),CHIBIOS) |
345 | include $(TMK_PATH)/protocol/chibios.mk | |
346 | endif | |
347 | ||
86706de0 | 348 | ifeq ($(strip $(VISUALIZER_ENABLE)), yes) |
1d5567a3 FS |
349 | VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer |
350 | VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer | |
351 | include $(VISUALIZER_PATH)/visualizer.mk | |
86706de0 FS |
352 | endif |
353 | ||
ec3e065f JH |
354 | ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H) |
355 | ||
3aac4e95 FS |
356 | OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) |
357 | $(KEYMAP_OUTPUT)_SRC := $(SRC) | |
d2ff66a9 | 358 | $(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) $(GFXDEFS) \ |
ec3e065f | 359 | -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(QMK_KEYBOARD_H)\" -DQMK_KEYBOARD_CONFIG_H=\"$(KEYBOARD_PATH_1)/config.h\" \ |
d2ff66a9 | 360 | -DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \ |
800ec55d | 361 | -DQMK_SUBPROJECT -DQMK_SUBPROJECT_H -DQMK_SUBPROJECT_CONFIG_H |
c692fd1d | 362 | $(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) |
9028a412 | 363 | $(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H) |
f5c89416 FS |
364 | $(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) $(GFXSRC) |
365 | $(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) $(GFXDEFS) | |
366 | $(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) $(GFXINC) | |
800ec55d | 367 | $(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG) |
3aac4e95 | 368 | |
8a9aac6e | 369 | # Default target. |
9fdc2762 | 370 | all: build check-size |
9bfaf667 | 371 | build: elf cpfirmware |
4082d880 | 372 | check-size: build |
3aac4e95 | 373 | |
86706de0 | 374 | include $(TMK_PATH)/rules.mk |