X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=build_keyboard.mk;h=4781f4a5d1946cf9d77033dcd9904d1f7fb20c16;hb=e7d4bc52911e957b364eceb5762e79cef63a7737;hp=4a6fc0980f3771cee239cd75bef82664c3a3c718;hpb=b851b0b2ae0a127dba6411a4c349fb67007ffd77;p=qmk_firmware.git diff --git a/build_keyboard.mk b/build_keyboard.mk index 4a6fc0980..4781f4a5d 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -6,266 +6,288 @@ endif include common.mk -ifneq ($(SUBPROJECT),) - TARGET ?= $(KEYBOARD)_$(SUBPROJECT)_$(KEYMAP) - KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD)_$(SUBPROJECT) -else - TARGET ?= $(KEYBOARD)_$(KEYMAP) - KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD) -endif +# 5/4/3/2/1 +KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD) +KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1))) +KEYBOARD_FOLDER_PATH_3 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_2))) +KEYBOARD_FOLDER_PATH_4 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_3))) +KEYBOARD_FOLDER_PATH_5 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_4))) +KEYBOARD_FOLDER_1 := $(notdir $(KEYBOARD_FOLDER_PATH_1)) +KEYBOARD_FOLDER_2 := $(notdir $(KEYBOARD_FOLDER_PATH_2)) +KEYBOARD_FOLDER_3 := $(notdir $(KEYBOARD_FOLDER_PATH_3)) +KEYBOARD_FOLDER_4 := $(notdir $(KEYBOARD_FOLDER_PATH_4)) +KEYBOARD_FOLDER_5 := $(notdir $(KEYBOARD_FOLDER_PATH_5)) + +KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD)) + +TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP) +KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE) # Force expansion TARGET := $(TARGET) - MASTER ?= left ifdef master - MASTER = $(master) + MASTER = $(master) endif -ifeq ($(MASTER),right) - OPT_DEFS += -DMASTER_IS_ON_RIGHT -else - ifneq ($(MASTER),left) +ifeq ($(MASTER),right) + OPT_DEFS += -DMASTER_IS_ON_RIGHT +else + ifneq ($(MASTER),left) $(error MASTER does not have a valid value(left/right)) - endif + endif endif +KEYBOARD_PATHS := +KEYBOARD_PATH_1 := keyboards/$(KEYBOARD_FOLDER_PATH_1) +KEYBOARD_PATH_2 := keyboards/$(KEYBOARD_FOLDER_PATH_2) +KEYBOARD_PATH_3 := keyboards/$(KEYBOARD_FOLDER_PATH_3) +KEYBOARD_PATH_4 := keyboards/$(KEYBOARD_FOLDER_PATH_4) +KEYBOARD_PATH_5 := keyboards/$(KEYBOARD_FOLDER_PATH_5) -KEYBOARD_PATH := keyboards/$(KEYBOARD) -KEYBOARD_C := $(KEYBOARD_PATH)/$(KEYBOARD).c - -ifneq ("$(wildcard $(KEYBOARD_C))","") - include $(KEYBOARD_PATH)/rules.mk -else - $(error "$(KEYBOARD_C)" does not exist) +ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","") + KEYBOARD_PATHS += $(KEYBOARD_PATH_5) + include $(KEYBOARD_PATH_5)/rules.mk endif - - -ifneq ($(SUBPROJECT),) - SUBPROJECT_PATH := keyboards/$(KEYBOARD)/$(SUBPROJECT) - SUBPROJECT_C := $(SUBPROJECT_PATH)/$(SUBPROJECT).c - ifneq ("$(wildcard $(SUBPROJECT_C))","") - OPT_DEFS += -DSUBPROJECT_$(SUBPROJECT) - include $(SUBPROJECT_PATH)/rules.mk - else - $(error "$(SUBPROJECT_PATH)/$(SUBPROJECT).c" does not exist) - endif +ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","") + KEYBOARD_PATHS += $(KEYBOARD_PATH_4) + include $(KEYBOARD_PATH_4)/rules.mk endif - -# We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA -ifdef MCU_FAMILY - PLATFORM=CHIBIOS -else - PLATFORM=AVR +ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","") + KEYBOARD_PATHS += $(KEYBOARD_PATH_3) + include $(KEYBOARD_PATH_3)/rules.mk endif - -ifeq ($(PLATFORM),CHIBIOS) - include $(TMK_PATH)/protocol/chibios.mk - include $(TMK_PATH)/chibios.mk - OPT_OS = chibios - ifneq ("$(wildcard $(SUBPROJECT_PATH)/bootloader_defs.h)","") - OPT_DEFS += -include $(SUBPROJECT_PATH)/bootloader_defs.h - else ifneq ("$(wildcard $(SUBPROJECT_PATH)/boards/$(BOARD)/bootloader_defs.h)","") - OPT_DEFS += -include $(SUBPROJECT_PATH)/boards/$(BOARD)/bootloader_defs.h - else ifneq ("$(wildcard $(KEYBOARD_PATH)/bootloader_defs.h)","") - OPT_DEFS += -include $(KEYBOARD_PATH)/bootloader_defs.h - else ifneq ("$(wildcard $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h)","") - OPT_DEFS += -include $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h - endif -endif - -CONFIG_H = $(KEYBOARD_PATH)/config.h -ifneq ($(SUBPROJECT),) - ifneq ("$(wildcard $(SUBPROJECT_C))","") - CONFIG_H = $(SUBPROJECT_PATH)/config.h - endif -endif - -# Save the defines and includes here, so we don't include any keymap specific ones -PROJECT_DEFS := $(OPT_DEFS) -PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH) -PROJECT_CONFIG := $(CONFIG_H) - -MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP) -MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c -SUBPROJ_KEYMAP_PATH := $(SUBPROJECT_PATH)/keymaps/$(KEYMAP) -SUBPROJ_KEYMAP_C := $(SUBPROJ_KEYMAP_PATH)/keymap.c -ifneq ("$(wildcard $(SUBPROJ_KEYMAP_C))","") - -include $(SUBPROJ_KEYMAP_PATH)/Makefile - KEYMAP_C := $(SUBPROJ_KEYMAP_C) - KEYMAP_PATH := $(SUBPROJ_KEYMAP_PATH) -else ifneq ("$(wildcard $(MAIN_KEYMAP_C))","") - -include $(MAIN_KEYMAP_PATH)/Makefile - KEYMAP_C := $(MAIN_KEYMAP_C) - KEYMAP_PATH := $(MAIN_KEYMAP_PATH) -else - $(error "$(MAIN_KEYMAP_C)/keymap.c" does not exist) +ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","") + KEYBOARD_PATHS += $(KEYBOARD_PATH_2) + include $(KEYBOARD_PATH_2)/rules.mk +endif +ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","") + KEYBOARD_PATHS += $(KEYBOARD_PATH_1) + include $(KEYBOARD_PATH_1)/rules.mk endif +KEYBOARD_SRC := -# Object files directory -# To put object files in current directory, use a dot (.), do NOT make -# this an empty or blank macro! -KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) - +KEYBOARD_C_1 := $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).c +KEYBOARD_C_2 := $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).c +KEYBOARD_C_3 := $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).c +KEYBOARD_C_4 := $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).c +KEYBOARD_C_5 := $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).c -ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") - CONFIG_H = $(KEYMAP_PATH)/config.h +ifneq ("$(wildcard $(KEYBOARD_C_5))","") + KEYBOARD_SRC += $(KEYBOARD_C_5) +endif +ifneq ("$(wildcard $(KEYBOARD_C_4))","") + KEYBOARD_SRC += $(KEYBOARD_C_4) +endif +ifneq ("$(wildcard $(KEYBOARD_C_3))","") + KEYBOARD_SRC += $(KEYBOARD_C_3) +endif +ifneq ("$(wildcard $(KEYBOARD_C_2))","") + KEYBOARD_SRC += $(KEYBOARD_C_2) +endif +ifneq ("$(wildcard $(KEYBOARD_C_1))","") + KEYBOARD_SRC += $(KEYBOARD_C_1) endif -# # project specific files -SRC += $(KEYBOARD_C) \ - $(KEYMAP_C) \ - $(QUANTUM_DIR)/quantum.c \ - $(QUANTUM_DIR)/keymap_common.c \ - $(QUANTUM_DIR)/keycode_config.c \ - $(QUANTUM_DIR)/process_keycode/process_leader.c +OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE) -ifneq ($(SUBPROJECT),) - SRC += $(SUBPROJECT_C) -endif -ifndef CUSTOM_MATRIX - SRC += $(QUANTUM_DIR)/matrix.c +ifneq ("$(wildcard $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).h)","") + QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h endif - -ifeq ($(strip $(API_SYSEX_ENABLE)), yes) - OPT_DEFS += -DAPI_SYSEX_ENABLE - SRC += $(QUANTUM_DIR)/api/api_sysex.c - OPT_DEFS += -DAPI_ENABLE - SRC += $(QUANTUM_DIR)/api.c - MIDI_ENABLE=yes +ifneq ("$(wildcard $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).h)","") + QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h endif - -ifeq ($(strip $(MIDI_ENABLE)), yes) - OPT_DEFS += -DMIDI_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c +ifneq ("$(wildcard $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).h)","") + QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h endif - -ifeq ($(strip $(COMBO_ENABLE)), yes) - OPT_DEFS += -DCOMBO_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_combo.c +ifneq ("$(wildcard $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).h)","") + QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h endif - -ifeq ($(strip $(VIRTSER_ENABLE)), yes) - OPT_DEFS += -DVIRTSER_ENABLE +ifneq ("$(wildcard $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).h)","") + QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h endif -ifeq ($(strip $(AUDIO_ENABLE)), yes) - OPT_DEFS += -DAUDIO_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_music.c - SRC += $(QUANTUM_DIR)/audio/audio.c - SRC += $(QUANTUM_DIR)/audio/voices.c - SRC += $(QUANTUM_DIR)/audio/luts.c +# We can assume a ChibiOS target When MCU_FAMILY is defined , since it's not used for LUFA +ifdef MCU_FAMILY + FIRMWARE_FORMAT=bin + PLATFORM=CHIBIOS +else + PLATFORM=AVR + FIRMWARE_FORMAT=hex endif -ifeq ($(strip $(FAUXCLICKY_ENABLE)), yes) - OPT_DEFS += -DFAUXCLICKY_ENABLE - SRC += $(QUANTUM_DIR)/fauxclicky.c +ifeq ($(PLATFORM),CHIBIOS) + include $(TMK_PATH)/chibios.mk + OPT_OS = chibios + ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h + else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","") + OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h + else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","") + OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h + endif endif -ifeq ($(strip $(UCIS_ENABLE)), yes) - OPT_DEFS += -DUCIS_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c - SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c +CONFIG_H := +ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","") + CONFIG_H += $(KEYBOARD_PATH_5)/config.h endif - -ifeq ($(strip $(UNICODEMAP_ENABLE)), yes) - OPT_DEFS += -DUNICODEMAP_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c - SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c +ifneq ("$(wildcard $(KEYBOARD_PATH_4)/config.h)","") + CONFIG_H += $(KEYBOARD_PATH_4)/config.h endif - -ifeq ($(strip $(UNICODE_ENABLE)), yes) - OPT_DEFS += -DUNICODE_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c - SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c +ifneq ("$(wildcard $(KEYBOARD_PATH_3)/config.h)","") + CONFIG_H += $(KEYBOARD_PATH_3)/config.h endif - -ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) - OPT_DEFS += -DRGBLIGHT_ENABLE - SRC += $(QUANTUM_DIR)/light_ws2812.c - SRC += $(QUANTUM_DIR)/rgblight.c +ifneq ("$(wildcard $(KEYBOARD_PATH_2)/config.h)","") + CONFIG_H += $(KEYBOARD_PATH_2)/config.h endif - -ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) - OPT_DEFS += -DTAP_DANCE_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c +ifneq ("$(wildcard $(KEYBOARD_PATH_1)/config.h)","") + CONFIG_H += $(KEYBOARD_PATH_1)/config.h endif -ifeq ($(strip $(PRINTING_ENABLE)), yes) - OPT_DEFS += -DPRINTING_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_printer.c - SRC += $(TMK_DIR)/protocol/serial_uart.c +# Save the defines and includes here, so we don't include any keymap specific ones +PROJECT_DEFS := $(OPT_DEFS) +PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS) +PROJECT_CONFIG := $(CONFIG_H) + +MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP) +MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP) +MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP) +MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) +MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) + +ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_2)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) +else ifneq ($(LAYOUTS),) + include build_layout.mk +else + $(error Could not find keymap) + # this state should never be reached endif -ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes) - SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC)) - OPT_DEFS += $(SERIAL_DEFS) - VAPTH += $(SERIAL_PATH) +# User space stuff +ifeq ("$(USER_NAME)","") + USER_NAME := $(KEYMAP) endif +USER_PATH := users/$(USER_NAME) -ifneq ($(strip $(VARIABLE_TRACE)),) - SRC += $(QUANTUM_DIR)/variable_trace.c - OPT_DEFS += -DNUM_TRACED_VARIABLES=$(strip $(VARIABLE_TRACE)) -ifneq ($(strip $(MAX_VARIABLE_TRACE_SIZE)),) - OPT_DEFS += -DMAX_VARIABLE_TRACE_SIZE=$(strip $(MAX_VARIABLE_TRACE_SIZE)) +-include $(USER_PATH)/rules.mk +ifneq ("$(wildcard users/$(KEYMAP)/config.h)","") + CONFIG_H += users/$(KEYMAP)/config.h endif + + +# Object files directory +# To put object files in current directory, use a dot (.), do NOT make +# this an empty or blank macro! +KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) + +ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") + CONFIG_H += $(KEYMAP_PATH)/config.h endif +# # project specific files +SRC += $(KEYBOARD_SRC) \ + $(KEYMAP_C) \ + $(QUANTUM_SRC) + # Optimize size but this may cause error "relocation truncated to fit" #EXTRALDFLAGS = -Wl,--relax # Search Path VPATH += $(KEYMAP_PATH) -ifneq ($(SUBPROJECT),) - VPATH += $(SUBPROJECT_PATH) -endif -VPATH += $(KEYBOARD_PATH) +VPATH += $(KEYBOARD_PATHS) VPATH += $(COMMON_VPATH) +VPATH += $(USER_PATH) +include common_features.mk include $(TMK_PATH)/protocol.mk - include $(TMK_PATH)/common.mk +include bootloader.mk + SRC += $(TMK_COMMON_SRC) OPT_DEFS += $(TMK_COMMON_DEFS) EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS) ifeq ($(PLATFORM),AVR) ifeq ($(strip $(PROTOCOL)), VUSB) - include $(TMK_PATH)/protocol/vusb.mk + include $(TMK_PATH)/protocol/vusb.mk else - include $(TMK_PATH)/protocol/lufa.mk + include $(TMK_PATH)/protocol/lufa.mk +endif + include $(TMK_PATH)/avr.mk endif - include $(TMK_PATH)/avr.mk + +ifeq ($(PLATFORM),CHIBIOS) + include $(TMK_PATH)/protocol/chibios.mk endif ifeq ($(strip $(VISUALIZER_ENABLE)), yes) - VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer - VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer - include $(VISUALIZER_PATH)/visualizer.mk + VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer + VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer + include $(VISUALIZER_PATH)/visualizer.mk endif +ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H) + OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) $(KEYMAP_OUTPUT)_SRC := $(SRC) -$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" +$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) $(GFXDEFS) \ +-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(QMK_KEYBOARD_H)\" -DQMK_KEYBOARD_CONFIG_H=\"$(KEYBOARD_PATH_1)/config.h\" \ +-DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \ +-DQMK_SUBPROJECT -DQMK_SUBPROJECT_H -DQMK_SUBPROJECT_CONFIG_H $(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H) -$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) -$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) -$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) -$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG) +$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) $(GFXSRC) +$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) $(GFXDEFS) +$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) $(GFXINC) +$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG) # Default target. -all: build sizeafter +all: build check-size # Change the build target to build a HEX file or a library. -build: elf hex +build: elf cpfirmware #build: elf hex eep lss sym #build: lib include $(TMK_PATH)/rules.mk -