From 7185a3cf7f36e0495b5113f6bebb5650a9406447 Mon Sep 17 00:00:00 2001 From: AnthonyAxenov Date: Thu, 25 Aug 2022 12:40:36 +0800 Subject: [PATCH] Small generator improvements, 'make test' as an alias for ./gen-makefile --- Makefile | 29 ++++++++++++++++++++++------- gen-makefile | 32 +++++++++++++++++++++++++------- 2 files changed, 47 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 164883a..d538aff 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,10 @@ -# Autogenerated at 19.08.2022 21:25 using ./gen-makefile +# Autogenerated at 22.08.2022 19:06 using ./gen-makefile .DEFAULT_GOAL := help +#=============================================== +# Scripts listed in ./packs +#=============================================== + ##composer: [PACK] php + composer composer: php composer-clean @@ -15,6 +19,10 @@ omz: zsh omz-clean omz-fancy chsh -s /usr/bin/zsh @exec zsh +#=============================================== +# Scripts listed in ./install +#=============================================== + ##apache: Install apache2 (latest) apache: @./install/apache @@ -151,14 +159,21 @@ zint: zsh: @./install/zsh -##help: Show this help message + +self: + @./gen-makefile help: Makefile + @echo "Ubuntu software installator" + @echo @echo "Usage:" - @echo "\tmake \t - Install software" - @echo "\tmake +\t - Install software" - @echo "\tmake ^\t - Upgrade software" - @echo "\tmake @\t - Uninstall software" - @echo "Available goals:" + @echo "\tmake help\t - Show this help" + @echo "\tmake GOAL\t - Install software" + @echo "\tmake ^GOAL\t - Upgrade software" + @echo "\tmake @GOAL\t - Uninstall software" + @echo + @echo "You can combine GOALs, e.g. 'make @docker docker' will reinstall docker." + @echo + @echo "Available GOALs:" @sed -n 's/^##//p' $< | column -ts ':' | sed -e "s/^/\t/" +%: @$(MAKE) $* diff --git a/gen-makefile b/gen-makefile index edab161..56b2bd2 100755 --- a/gen-makefile +++ b/gen-makefile @@ -5,13 +5,24 @@ cat << EOF >> Makefile # Autogenerated at $(date +'%d.%m.%Y %H:%M') using ${BASH_SOURCE[0]} .DEFAULT_GOAL := help +#=============================================== +# Scripts listed in ./packs +#=============================================== + EOF for file in ./packs/*; do - cat ${file} >> Makefile + cat "$file" >> Makefile echo >> Makefile done; +cat << EOF >> Makefile +#=============================================== +# Scripts listed in ./install +#=============================================== + +EOF + for file in ./install/*; do name=${file##*/} name=${name%.sh} @@ -21,14 +32,21 @@ for file in ./install/*; do done; cat << "EOF" >> Makefile -##help: Show this help message + +self: + @./gen-makefile help: Makefile + @echo "Ubuntu software installator" + @echo @echo "Usage:" - @echo "\tmake \t - Install software" - @echo "\tmake +\t - Install software" - @echo "\tmake ^\t - Upgrade software" - @echo "\tmake @\t - Uninstall software" - @echo "Available goals:" + @echo "\tmake help\t - Show this help" + @echo "\tmake GOAL\t - Install software" + @echo "\tmake ^GOAL\t - Upgrade software" + @echo "\tmake @GOAL\t - Uninstall software" + @echo + @echo "You can combine GOALs, e.g. 'make @docker docker' will reinstall docker." + @echo + @echo "Available GOALs:" @sed -n 's/^##//p' $< | column -ts ':' | sed -e "s/^/\t/" +%: @$(MAKE) $*