From 1b319151aa8f4efb32a9146022d9de8c40eb5540 Mon Sep 17 00:00:00 2001 From: fredizzimo Date: Sat, 2 Jul 2016 04:57:59 +0300 Subject: [PATCH] Add warning when submodules are not updated (#469) * Add warning when submodules are not updated * Sh compatible syntax for dirty submodule check --- tmk_core/rules.mk | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 96eba24d67..7d3d8f9a6b 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -16,7 +16,6 @@ # - # Output format. (can be srec, ihex, binary) FORMAT = ihex @@ -243,6 +242,12 @@ MSG_COMPILING_CPP = Compiling: MSG_ASSEMBLING = Assembling: 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\ + 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 # Define all object files. @@ -304,6 +309,13 @@ lib: $(LIBNAME) # the following magic strings to be generated by the compile job. begin: @$(SECHO) $(MSG_BEGIN) + git submodule status --recursive | \ + while IFS= read -r x; do \ + case "$$x" in \ + \ *) ;; \ + *) printf "$(MSG_SUBMODULE_DIRTY)";break;; \ + esac \ + done end: @$(SECHO) $(MSG_END)