Makefile added with Version 1.4

This commit is contained in:
Dirk Alders 2025-08-06 08:36:56 +02:00
parent 5e1b205bef
commit 17f3f88571

View File

@ -1,17 +1,33 @@
# git helper Makefile: Version 1.3 (2025-08-05)
# git helper Makefile: Version 1.4 (2025-08-05)
default: help
.ONESHELL:
SHELL = /usr/bin/bash
.SILENT:
-include make.d/*.mk
GIT_FLAG = ./.git
VENV_FLAG = ./.venv_required
VENV_FOLDER = ./venv
INIT_FILE = ./init
localhelp:
help:
echo "Possible options are: init, status, venv_flag, clean, cleanall"
echo "Possible common options are:"
echo " - init - Initialise the repository and all folders below with a Makefile"
echo " - giti - Get the git status of all submodules including their submodules"
echo " - update_submodules - Set all submodules to remote master"
echo " - venv_flag - Set the venev flag for the base folder. A venv will be generated"
echo " - clean - clean up"
echo " - deepclean - clean up this and all Makefiles below"
$(MAKE) localhelp
echo "You are able to create files make.d/*.mk and add local rules there. "
echo " - localinit - Will be executed as last step in the init process."
echo " - localhelp - Will be executed in th middle of the help text generation"
echo " - localclean - Will be executed before the clean rule"
localinit:
init: print_head
# Init git repo
@ -29,26 +45,23 @@ init: print_head
mkvenv
fi
fi
# Start my init script if needed
if [[ -x $(INIT_FILE) ]]; then
$(INIT_FILE)
fi
# Start local init
$(MAKE) localinit
update_submodules:
git submodule foreach "git checkout master && git pull && git submodule init && git submodule update"
status: print_head
giti_sub: print_head
giti
echo "Submodules:"
echo "-----------"
git submodule --quiet foreach giti
echo " Submodules:"
git submodule --quiet foreach "echo -n ' ' && giti"
statusall:
for subdir in $$(find . -maxdepth 2 -mindepth 2 -name Makefile | sort); do
$(MAKE) --no-print-directory -C $$(dirname $$subdir) status
done
giti:
git submodule --quiet foreach make --no-print-directory giti_sub
clean:
localclean:
clean: localclean
if [[ ! -e $(VENV_FLAG) ]]; then
if [[ -d $(VENV_FOLDER) ]]; then
rm -rf $(VENV_FOLDER)