]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Add warning when submodules are not updated (#469)
authorfredizzimo <fsundvik@gmail.com>
Sat, 2 Jul 2016 01:57:59 +0000 (04:57 +0300)
committerJack Humbert <jack.humb@gmail.com>
Sat, 2 Jul 2016 01:57:59 +0000 (21:57 -0400)
* Add warning when submodules are not updated

* Sh compatible syntax for dirty submodule check

tmk_core/rules.mk

index 96eba24d677f58d2cd1fc25084531341118abcf3..7d3d8f9a6b241b7343f8a153e9d52bc9590f6d4c 100644 (file)
@@ -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)