summary refs log tree commit diff
diff options
context:
space:
mode:
authorskullydazed <skullydazed@users.noreply.github.com>2017-09-06 15:21:31 -0700
committerGitHub <noreply@github.com>2017-09-06 15:21:31 -0700
commit2b3803eb5efd76323ffc95ba1bc2a3608d83ceec (patch)
tree7ce864bca5359c728a02803c8adcc38efe6989ce
parent4580d3a730c078484ea417575c617c17598b5a39 (diff)
Clone chibios and ugfx if it's not already checked out. (#1651)
* Clone chibios and ugfx if it's not already checked out.

* update the submodule out of date message
-rw-r--r--Makefile7
-rw-r--r--message.mk3
2 files changed, 8 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 558cf473c4..f79244951c 100644
--- a/Makefile
+++ b/Makefile
@@ -514,6 +514,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 +554,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
diff --git a/message.mk b/message.mk
index 4f72202e6a..0548fe174c 100644
--- a/message.mk
+++ b/message.mk
@@ -56,8 +56,7 @@ MSG_CLEANING = Cleaning project:
 MSG_CREATING_LIBRARY = Creating library:
 MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR)\n \
 	Some git sub-modules are out of date or modified, please consider runnning:$(BOLD)\n\
-	git submodule sync --recursive\n\
-	git submodule update --init --recursive$(NO_COLOR)\n\n\
+        make git-submodule\n\
 	You can ignore this warning if you are not compiling any ChibiOS keyboards,\n\
 	or if you have modified the ChibiOS libraries yourself. \n\n
 MSG_NO_CMP = $(ERROR_COLOR)Error:$(NO_COLOR)$(BOLD) cmp command not found, please install diffutils\n$(NO_COLOR)