summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile15
-rw-r--r--builddefs/build_keyboard.mk12
-rwxr-xr-xlib/python/qmk/cli/mass_compile.py2
-rwxr-xr-xlib/python/qmk/cli/multibuild.py2
4 files changed, 3 insertions, 28 deletions
diff --git a/Makefile b/Makefile
index 22322fbf93..c77eadf97d 100644
--- a/Makefile
+++ b/Makefile
@@ -124,24 +124,11 @@ endef
124define PARSE_RULE 124define PARSE_RULE
125 RULE := $1 125 RULE := $1
126 COMMANDS := 126 COMMANDS :=
127 REQUIRE_PLATFORM_KEY :=
128 # If the rule starts with all, then continue the parsing from 127 # If the rule starts with all, then continue the parsing from
129 # PARSE_ALL_KEYBOARDS 128 # PARSE_ALL_KEYBOARDS
130 ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true) 129 ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
131 KEYBOARD_RULE=all 130 KEYBOARD_RULE=all
132 $$(eval $$(call PARSE_ALL_KEYBOARDS)) 131 $$(eval $$(call PARSE_ALL_KEYBOARDS))
133 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all-avr),true)
134 KEYBOARD_RULE=all
135 REQUIRE_PLATFORM_KEY := avr
136 $$(eval $$(call PARSE_ALL_KEYBOARDS))
137 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all-chibios),true)
138 KEYBOARD_RULE=all
139 REQUIRE_PLATFORM_KEY := chibios
140 $$(eval $$(call PARSE_ALL_KEYBOARDS))
141 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all-arm_atsam),true)
142 KEYBOARD_RULE=all
143 REQUIRE_PLATFORM_KEY := arm_atsam
144 $$(eval $$(call PARSE_ALL_KEYBOARDS))
145 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true) 132 else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true)
146 $$(eval $$(call PARSE_TEST)) 133 $$(eval $$(call PARSE_TEST))
147 # If the rule starts with the name of a known keyboard, then continue 134 # If the rule starts with the name of a known keyboard, then continue
@@ -271,7 +258,7 @@ define PARSE_KEYMAP
271 # Format it in bold 258 # Format it in bold
272 KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR) 259 KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR)
273 # Specify the variables that we are passing forward to submake 260 # Specify the variables that we are passing forward to submake
274 MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) REQUIRE_PLATFORM_KEY=$$(REQUIRE_PLATFORM_KEY) QMK_BIN=$$(QMK_BIN) 261 MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) QMK_BIN=$$(QMK_BIN)
275 # And the first part of the make command 262 # And the first part of the make command
276 MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f $(BUILDDEFS_PATH)/build_keyboard.mk $$(MAKE_TARGET) 263 MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f $(BUILDDEFS_PATH)/build_keyboard.mk $$(MAKE_TARGET)
277 # The message to display 264 # The message to display
diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk
index 8999ac80ad..ec0336f7c3 100644
--- a/builddefs/build_keyboard.mk
+++ b/builddefs/build_keyboard.mk
@@ -433,13 +433,6 @@ SRC += $(TMK_COMMON_SRC)
433OPT_DEFS += $(TMK_COMMON_DEFS) 433OPT_DEFS += $(TMK_COMMON_DEFS)
434EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS) 434EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS)
435 435
436SKIP_COMPILE := no
437ifneq ($(REQUIRE_PLATFORM_KEY),)
438 ifneq ($(REQUIRE_PLATFORM_KEY),$(PLATFORM_KEY))
439 SKIP_COMPILE := yes
440 endif
441endif
442
443-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/bootloader.mk 436-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/bootloader.mk
444include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk 437include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk
445-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/flash.mk 438-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/flash.mk
@@ -479,12 +472,7 @@ $(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC)
479$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG) 472$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG)
480 473
481# Default target. 474# Default target.
482ifeq ($(SKIP_COMPILE),no)
483all: build check-size 475all: build check-size
484else
485all:
486 echo "skipped" >&2
487endif
488 476
489build: elf cpfirmware 477build: elf cpfirmware
490check-size: build 478check-size: build
diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py
index a98f7ad482..d8dda0cac3 100755
--- a/lib/python/qmk/cli/mass_compile.py
+++ b/lib/python/qmk/cli/mass_compile.py
@@ -134,7 +134,7 @@ all: {keyboard_safe}_{keymap_name}_binary
134{keyboard_safe}_{keymap_name}_binary: 134{keyboard_safe}_{keymap_name}_binary:
135 @rm -f "{QMK_FIRMWARE}/.build/failed.log.{keyboard_safe}.{keymap_name}" || true 135 @rm -f "{QMK_FIRMWARE}/.build/failed.log.{keyboard_safe}.{keymap_name}" || true
136 @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" 136 @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}"
137 +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" REQUIRE_PLATFORM_KEY= COLOR=true SILENT=false {' '.join(cli.args.env)} \\ 137 +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" COLOR=true SILENT=false {' '.join(cli.args.env)} \\
138 >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" 2>&1 \\ 138 >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" 2>&1 \\
139 || cp "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" "{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" 139 || cp "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" "{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}"
140 @{{ grep '\[ERRORS\]' "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ 140 @{{ grep '\[ERRORS\]' "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\
diff --git a/lib/python/qmk/cli/multibuild.py b/lib/python/qmk/cli/multibuild.py
index 5e0f0b5188..22b68f43c8 100755
--- a/lib/python/qmk/cli/multibuild.py
+++ b/lib/python/qmk/cli/multibuild.py
@@ -71,7 +71,7 @@ all: {keyboard_safe}_binary
71{keyboard_safe}_binary: 71{keyboard_safe}_binary:
72 @rm -f "{QMK_FIRMWARE}/.build/failed.log.{keyboard_safe}" || true 72 @rm -f "{QMK_FIRMWARE}/.build/failed.log.{keyboard_safe}" || true
73 @echo "Compiling QMK Firmware for target: '{keyboard_name}:{cli.args.keymap}'..." >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" 73 @echo "Compiling QMK Firmware for target: '{keyboard_name}:{cli.args.keymap}'..." >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}"
74 +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{cli.args.keymap}" REQUIRE_PLATFORM_KEY= COLOR=true SILENT=false {' '.join(cli.args.env)} \\ 74 +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{cli.args.keymap}" COLOR=true SILENT=false {' '.join(cli.args.env)} \\
75 >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" 2>&1 \\ 75 >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" 2>&1 \\
76 || cp "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" "{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}" 76 || cp "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" "{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}"
77 @{{ grep '\[ERRORS\]' "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{cli.args.keymap}" ; }} \\ 77 @{{ grep '\[ERRORS\]' "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{cli.args.keymap}" ; }} \\