From cd5ee8a33927f407f6e5eb0cac188b6d9fb6cbfd Mon Sep 17 00:00:00 2001 From: Simon Let Date: Wed, 15 May 2019 00:31:35 +0200 Subject: [PATCH] improve makefile support for submodules --- Makefile | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 06dc880..3bed7a8 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,10 @@ SHELL=/bin/bash + build: submodules resh-collect resh-daemon -install: build $(HOME)/.resh $(HOME)/.resh/bin + +install: build | $(HOME)/.resh $(HOME)/.resh/bin cp submodules/bash-preexec/bash-preexec.sh ~/.bash-preexec.sh -f cp bashrc.sh ~/.resh/bashrc -f cp resh-* ~/.resh/bin/ -f @@ -29,9 +31,16 @@ $(HOME)/.resh/bin: .PHONY: submodules build install -submodules: submodules/bash-preexec/bash-preexec.sh - # this is always run and updates submodules - git submodule update --recursive +submodules: | submodules/bash-preexec/bash-preexec.sh + @# sets submodule.recurse to true if unset + @# sets status.submoduleSummary to true if unset + @git config --get submodule.recurse >/dev/null || git config --global submodule.recurse true + @git config --get status.submoduleSummary >/dev/null || git config --global status.submoduleSummary true + @git config --get diff.submodule >/dev/null || git config --global diff.submodule log + @# warns user if submodule.recurse is not set to true + @[[ "true" == `git config --get submodule.recurse` ]] || echo "WARN: You should REALLY set 'git config --global submodule.recurse true'!" + @#git config --global push.recurseSubmodules check submodules/%: - git submodule init + git submodule sync --recursive + git submodule update --init --recursive