From 17f3f88571c5959434b39b60183e9314ae5d957e Mon Sep 17 00:00:00 2001 From: Dirk Alders Date: Wed, 6 Aug 2025 08:36:56 +0200 Subject: [PATCH] Makefile added with Version 1.4 --- Makefile | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index d4fd399..cc46279 100644 --- a/Makefile +++ b/Makefile @@ -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)