From 58a01fd257b6f190d6a44662fbd78944fbc608aa Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 27 May 2019 16:58:01 +0200 Subject: Modularize --- make.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 make.sh (limited to 'make.sh') diff --git a/make.sh b/make.sh new file mode 100755 index 0000000..a8a4760 --- /dev/null +++ b/make.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +if [ -z "$1" ]; then + echo "Pass abolute path to where slx-tools will be located" + exit 1 +fi + +declare -rg BASE="$1" + +shopt -s globstar +set -e + + +DEFS= + +for file in modules/**/*.inc; do + name="${file#modules/}" + name="${name//\//_}" + name="${name%.inc}" + [[ "$name" =~ ^[a-z0-9_]+$ ]] || continue + echo " * Handling $file" + for var in $( grep -oP '^[a-z0-9_]+\s*\(\)' "$file" | grep -oE '^[a-z0-9_]+' ); do + echo "Found $var" + DEFS+="$var() { . \$BASE/$file; $var "'"$@"; }\n' + done +done + +sed "s#%DEFS%#${DEFS}#;s#^BASE=.*\$#BASE='$BASE'#" slx-tools.template > slx-tools +chmod +x slx-tools + -- cgit v1.2.3-55-g7522