Small updates
This commit is contained in:
34
gen-makefile
Executable file
34
gen-makefile
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
mv Makefile Makefile.bak
|
||||
echo -e "# Autogenerated at $(date +'%d.%m.%Y %H:%M') using ${BASH_SOURCE[0]}\n" > Makefile
|
||||
|
||||
for file in ./packs/*; do
|
||||
cat ${file} >> Makefile
|
||||
echo >> Makefile
|
||||
done;
|
||||
|
||||
for file in ./install/*; do
|
||||
name=${file##*/}
|
||||
name=${name%.sh}
|
||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||
[ -z "$desc" ] && desc='<no description>'
|
||||
echo -e "##${name}: ${desc}\n${name}:\n\t${file}\n" >> Makefile
|
||||
done;
|
||||
|
||||
cat << EOF >> Makefile
|
||||
##help: Show this help message
|
||||
help: Makefile
|
||||
@echo "Usage:"
|
||||
@echo "\tmake <goal>\n"
|
||||
@echo "Available goals:"
|
||||
@sed -n 's/^##//p' \$< | column -t -s ':' | sed -e "s/^/\t/"
|
||||
|
||||
##<goal>_: Same as 'cat ./install/<goal>'
|
||||
%_:
|
||||
@cat ./install/\$*
|
||||
EOF
|
||||
|
||||
echo "New ./Makefile has been generated!"
|
||||
echo "Old one has been saved as ./Makefile.bak"
|
||||
echo
|
||||
make help
|
||||
Reference in New Issue
Block a user