+
+.submodules_init:
+ cd $(GIT_ROOT) && git submodule update --init 2>/dev/null; \
+ touch $@
+
+.submodules_patched: .submodules_init $(PATCHES)
+ $(MAKE) .submodules_clean
+ @cd $(GIT_ROOT) && git submodule -q foreach ' \
+ if [ $$name = $$(basename $(TAG_PRE)) ] && [ -n "$(PATCHES)" ]; then \
+ git tag $(AKRAINO_TAG)-upstream && \
+ git checkout -q -b akraino-validation && \
+ echo "`tput setaf 2`-- patching $$name`tput sgr0`";\
+ git am -3 --ignore-whitespace --patch-format=mbox \
+ --committer-date-is-author-date $(PATCHES) && \
+ git tag $(AKRAINO_TAG) || exit 1; \
+ fi'; \
+ touch $@
+
+.PHONY: .submodules_clean
+.submodules_clean:
+ @cd $(GIT_ROOT) && git submodule -q foreach ' \
+ git am -q --abort > /dev/null 2>&1; \
+ git checkout -q -f $(AKRAINO_TAG)-upstream > /dev/null 2>&1; \
+ git branch -q -D akraino-validation > /dev/null 2>&1; \
+ git tag | grep $(AKRAINO_TAG) | xargs git tag -d > /dev/null 2>&1; \
+ git reset -q --hard HEAD; \
+ git clean -xdff'
+ @rm -f .submodules_patched