aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tmk_core/rules.mk35
1 files changed, 26 insertions, 9 deletions
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk
index d9a0fd33f..e9ef5ca7b 100644
--- a/tmk_core/rules.mk
+++ b/tmk_core/rules.mk
@@ -632,17 +632,34 @@ all-keyboards-defaults-%:
632all-keyboards-defaults: all-keyboards-defaults-all 632all-keyboards-defaults: all-keyboards-defaults-all
633 633
634KEYBOARDS := $(SUBDIRS:$(TOP_DIR)/keyboard/%/=/keyboard/%) 634KEYBOARDS := $(SUBDIRS:$(TOP_DIR)/keyboard/%/=/keyboard/%)
635all-keyboards-%: $(KEYBOARDS) 635all-keyboards-all: $(addsuffix -all,$(KEYBOARDS))
636/keyboard/%: 636all-keyboards-quick: $(addsuffix -quick,$(KEYBOARDS))
637 $(eval KEYBOARD=$(patsubst /keyboard/%,%,$@)) 637all-keyboards-clean: $(addsuffix -clean,$(KEYBOARDS))
638 $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)$@/keymaps/*/.))))
639 @for x in $(KEYMAPS) ; do \
640 printf "Compiling $(BOLD)$(KEYBOARD)$(NO_COLOR) with $(BOLD)$$x$(NO_COLOR)" | $(AWK) '{ printf "%-88s", $$0; }'; \
641 LOG=$$($(MAKE) -C $(TOP_DIR)$@ $(subst all-keyboards-,,$@) keymap=$$x VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \
642 done
643
644all-keyboards: all-keyboards-all 638all-keyboards: all-keyboards-all
645 639
640define make_keyboard
641$(eval KEYBOARD=$(patsubst /keyboard/%,%,$1))
642$(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)$1/keymaps/*/.))))
643@for x in $(KEYMAPS) ; do \
644 printf "Compiling $(BOLD)$(KEYBOARD)$(NO_COLOR) with $(BOLD)$$x$(NO_COLOR)" | $(AWK) '{ printf "%-88s", $$0; }'; \
645 LOG=$$($(MAKE) -C $(TOP_DIR)$1 $2 keymap=$$x VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \
646done
647endef
648
649define make_keyboard_helper
650# Just remove the -quick, -all and so on from the first argument and pass it forward
651$(call make_keyboard,$(subst -$2,,$1),$2)
652endef
653
654/keyboard/%-quick:
655 $(call make_keyboard_helper,$@,quick)
656/keyboard/%-all:
657 $(call make_keyboard_helper,$@,all)
658/keyboard/%-clean:
659 $(call make_keyboard_helper,$@,clean)
660/keyboard/%:
661 $(call make_keyboard_helper,$@,all)
662
646all-keymaps-%: 663all-keymaps-%:
647 $(eval MAKECONFIG=$(call get_target,all-keymaps,$@)) 664 $(eval MAKECONFIG=$(call get_target,all-keymaps,$@))
648 $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboard/$(KEYBOARD)/keymaps/*/.)))) 665 $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboard/$(KEYBOARD)/keymaps/*/.))))