diff --git a/Makefile b/Makefile index a8851ac..6f03b81 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# git helper Makefile: Version 2.3 (2025-08-10) +# git helper Makefile: Version 2.4 (2025-08-11) default: help .ONESHELL: @@ -36,18 +36,52 @@ init: print_head echo -e "\033[1;33mInitialising git submodules...\e[0m" git submodule init git submodule update + echo fi # Init submodules SUBDIRS=$$(find . -maxdepth 2 -mindepth 2 -name Makefile | sort) for subdir in $$SUBDIRS; do $(MAKE) --no-print-directory -C $$(dirname $$subdir) init done - if [[ $$SUBDIRS ]]; then + if [[ $$SUBDIRS = *[![:space:]]* ]]; then $(MAKE) print_head fi # Create venv if needed if [[ -e $(VENV_FLAG) ]]; then - mkvenv + BASEPATH=$$(pwd -P) + # + # Create venv + # + if [ ! -e venv ];then + echo -e "\033[1;33mCreating venv in $BASEPATH...\e[0m" + python3 -m venv $$BASEPATH/venv > /dev/null 2>&1 + else + echo -e "\033[1;33mVirtualenv already exists in $$BASEPATH...\e[0m" + fi + echo + + # + # Install modules + # + echo -e "\033[1;33mInstalling modules to venv in $BASEPATH...\e[0m" + for req_file in $$(find $$BASEPATH -name requirements.txt); do + # echo " $$req_file" + while read req_mod; do + if [[ $$req_mod = *[![:space:]]* ]]; then + # req_mod is not empty + OUT=$$($$BASEPATH/venv/bin/pip install -U $$req_mod 2>&1 ) + if [[ $$OUT =~ "Successfully installed" ]]; then + echo -e " * \033[1;32m$$req_mod installed.\e[0m" + elif [[ $$OUT =~ "already satisfied" ]]; then + echo -e " * \033[1;36m$$req_mod already installed.\e[0m" + else + echo -e " * \033[1;31m$$req_mod installation FAILED!\e[0m" + #echo $$OUT + fi + fi + done < $$req_file + done + echo fi # Start local init echo -e "\033[1;33mDoing localinit...\e[0m" @@ -97,4 +131,3 @@ print_head: echo -ne "╚═" for i in $$(seq 1 $$DIRLENGTH); do echo -n "═"; done echo -e "═╝\033[00m" -