aboutsummaryrefslogtreecommitdiff
path: root/project/gen-template.sh
diff options
context:
space:
mode:
authorroot <root@dc13.lemmi>2020-07-21 10:00:46 +0200
committerroot <root@dc13.lemmi>2020-07-21 10:00:46 +0200
commit1192c4575ea7afdf38e3fa0df4587a08620af11e (patch)
tree6910a62487c282d0840d2e668aa7eb40b7c8a3fd /project/gen-template.sh
parent76de8a89f7c1d1b4522eb66e8f89d248e8c1781f (diff)
SZS v2.18a
Diffstat (limited to 'project/gen-template.sh')
-rwxr-xr-xproject/gen-template.sh56
1 files changed, 56 insertions, 0 deletions
diff --git a/project/gen-template.sh b/project/gen-template.sh
new file mode 100755
index 0000000..7e137dd
--- /dev/null
+++ b/project/gen-template.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+
+#set -v
+
+rm -f templates/*.bak templates/*.tmp
+mkdir -p doc
+
+list="$*"
+[[ $list = "" ]] && list="$(/bin/ls templates/)"
+
+awkprog='
+ /@@MODULE\(.*\)@@/ {
+ gsub(/@@MODULE\(/,"templates/module/");
+ gsub(/\)@@/,"");
+ system("cat " $0);
+ next
+ }
+
+ /@@EXEC\(.*\)@@/ {
+ gsub(/@@EXEC\(/,"");
+ gsub(/\)@@/,"");
+ system($0);
+ next
+ }
+
+ { print $0 }
+'
+
+CRLF=0
+uname -s | grep -q CYGWIN && CRLF=1
+
+for fname in $list
+do
+ src="setup/$fname"
+ [[ -f $src ]] || src="templates/$fname"
+ if [[ -f "$src" ]]
+ then
+ dest="doc/$fname"
+ ext="${dest##*.}"
+ #[[ $ext == edit-list ]] && continue
+ [[ $ext = "sh" || $ext = "bat" || $ext = "h" ]] && dest="$fname"
+ [[ $fname = "INSTALL.txt" ]] && dest="$fname"
+ #echo "|$src|$dest|"
+
+ if ((CRLF)) && [[ $ext = bat || $ext = txt ]]
+ then
+ awk "$awkprog" $src | sed -f templates.sed | sed 's/$/\r/' >"$dest.tmp"
+ else
+ awk "$awkprog" $src | sed -f templates.sed >"$dest.tmp"
+ fi
+ [[ $ext = "sh" ]] && chmod a+x "$dest.tmp"
+ mv "$dest.tmp" "$dest"
+ fi
+done
+
+exit 0