diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 96eba24d..7d3d8f9a 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)