X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Makefile;h=1ca9876a28955d62949fd73a78031f83615fb198;hb=692c4e7508e18d83baea230cdcaee28c3037df3b;hp=558cf473c4963a64e31428bb35ffae31e1bf4731;hpb=ed56a6859f6d98974abf9c48c640d7c566be0913;p=qmk_firmware.git diff --git a/Makefile b/Makefile index 558cf473c..1ca9876a2 100644 --- a/Makefile +++ b/Makefile @@ -89,7 +89,7 @@ ifeq ($(CURRENT_PATH_ELEMENT),keyboards) endif # Only consider folders with makefiles, to prevent errors in case there are extra folders -KEYBOARDS := $(notdir $(patsubst %/Makefile,%,$(wildcard $(ROOT_DIR)/keyboards/*/Makefile))) +KEYBOARDS := $(notdir $(patsubst %/rules.mk,%,$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk))) #Compatibility with the old make variables, anything you specify directly on the command line # always overrides the detected folders @@ -261,7 +261,7 @@ endef define PARSE_KEYBOARD CURRENT_KB := $1 # A subproject is any keyboard subfolder with a makefile - SUBPROJECTS := $$(notdir $$(patsubst %/Makefile,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/*/Makefile))) + SUBPROJECTS := $$(notdir $$(patsubst %/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/*/rules.mk))) # if the rule starts with allsp, then continue with looping over all subprojects ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allsp),true) $$(eval $$(call PARSE_ALL_SUBPROJECTS)) @@ -300,7 +300,9 @@ define PARSE_SUBPROJECT endif ifeq ($$(CURRENT_SP),defaultsp) SUBPROJECT_DEFAULT= - $$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/Makefile) + ifneq ("$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/subproject.mk)","") + $$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/subproject.mk) + endif CURRENT_SP := $$(SUBPROJECT_DEFAULT) endif # If current subproject is empty (the default was not defined), and we have a list of subproject @@ -503,7 +505,7 @@ if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi; endef # Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps -SUBPROJECTS := $(notdir $(patsubst %/Makefile,%,$(wildcard ./*/Makefile))) +SUBPROJECTS := $(notdir $(patsubst %/rules.mk,%,$(wildcard ./*/rules.mk))) .PHONY: $(SUBPROJECTS) $(SUBPROJECTS): %: %-allkm @@ -514,6 +516,9 @@ $(SUBPROJECTS): %: %-allkm cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi; # Check if the submodules are dirty, and display a warning if they are ifndef SKIP_GIT + if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --init lib/chibios; fi + if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --init lib/chibios-contrib; fi + if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --init lib/ugfx; fi git submodule status --recursive 2>/dev/null | \ while IFS= read -r x; do \ case "$$x" in \ @@ -551,6 +556,10 @@ test: test-all .PHONY: test-clean test-clean: test-all-clean +lib/%: + git submodule sync $? + git submodule update --init $? + git-submodule: git submodule sync --recursive git submodule update --init --recursive