Explorar o código

Add warning when submodules are not updated (#469)

* Add warning when submodules are not updated

* Sh compatible syntax for dirty submodule check
fredizzimo %!s(int64=9) %!d(string=hai) anos
pai
achega
1b319151aa
Modificáronse 1 ficheiros con 13 adicións e 1 borrados
  1. 13 1
      tmk_core/rules.mk

+ 13 - 1
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)