diff --git a/build_keyboard.mk b/build_keyboard.mk index d225fe8216..17e1d08a04 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -4,13 +4,15 @@ # responsible for determining which folder is being used and doing the # corresponding environment setup. +SILENT ?= false + ifndef VERBOSE .SILENT: endif .DEFAULT_GOAL := all -include common.mk +include $(TOP_DIR)/common.mk # Set the filename for the final firmware binary KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD)) @@ -46,11 +48,11 @@ 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_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_1 := $(TOP_DIR)/keyboards/$(KEYBOARD_FOLDER_PATH_1) +KEYBOARD_PATH_2 := $(TOP_DIR)/keyboards/$(KEYBOARD_FOLDER_PATH_2) +KEYBOARD_PATH_3 := $(TOP_DIR)/keyboards/$(KEYBOARD_FOLDER_PATH_3) +KEYBOARD_PATH_4 := $(TOP_DIR)/keyboards/$(KEYBOARD_FOLDER_PATH_4) +KEYBOARD_PATH_5 := $(TOP_DIR)/keyboards/$(KEYBOARD_FOLDER_PATH_5) ifneq ("$(wildcard $(KEYBOARD_PATH_5)/)","") KEYBOARD_PATHS += $(KEYBOARD_PATH_5) @@ -249,8 +251,12 @@ 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 ("$(wildcard keymap.c)","") + -include rules.mk + KEYMAP_C := keymap.c + KEYMAP_PATH := . else ifneq ($(LAYOUTS),) - include build_layout.mk + include $(TOP_DIR)/build_layout.mk else $(error Could not find keymap) # this state should never be reached @@ -260,7 +266,7 @@ endif ifeq ("$(USER_NAME)","") USER_NAME := $(KEYMAP) endif -USER_PATH := users/$(USER_NAME) +USER_PATH := $(TOP_DIR)/users/$(USER_NAME) -include $(USER_PATH)/rules.mk ifneq ("$(wildcard $(USER_PATH)/config.h)","") @@ -291,10 +297,10 @@ VPATH += $(KEYBOARD_PATHS) VPATH += $(COMMON_VPATH) VPATH += $(USER_PATH) -include common_features.mk +include $(TOP_DIR)/common_features.mk include $(TMK_PATH)/protocol.mk include $(TMK_PATH)/common.mk -include bootloader.mk +include $(TOP_DIR)/bootloader.mk SRC += $(TMK_COMMON_SRC) OPT_DEFS += $(TMK_COMMON_DEFS) diff --git a/common.mk b/common.mk index 272d170e68..b12bd9c960 100644 --- a/common.mk +++ b/common.mk @@ -1,20 +1,22 @@ -include message.mk - # Directory common source files exist -TOP_DIR = . +TOP_DIR ?= . + +include $(TOP_DIR)/message.mk + TMK_DIR = tmk_core -TMK_PATH = $(TMK_DIR) -LIB_PATH = lib +TMK_PATH = $(TOP_DIR)/$(TMK_DIR) +LIB_PATH = $(TOP_DIR)/lib QUANTUM_DIR = quantum -QUANTUM_PATH = $(QUANTUM_DIR) +QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR) DRIVER_DIR = drivers -DRIVER_PATH = $(DRIVER_DIR) +DRIVER_PATH = $(TOP_DIR)/$(DRIVER_DIR) BUILD_DIR := .build -COMMON_VPATH := $(TOP_DIR) +COMMON_VPATH := . +COMMON_VPATH += $(TOP_DIR) COMMON_VPATH += $(TMK_PATH) COMMON_VPATH += $(QUANTUM_PATH) COMMON_VPATH += $(QUANTUM_PATH)/keymap_extras