summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2020-11-03 13:46:57 -0500
committerJakob Kaivo <jkk@ung.org>2020-11-03 13:46:57 -0500
commit02f687dfa6dad97fea7bbbb0846d36d8f83bdcaa (patch)
treeaa1ebb76ab5098bbe03a01528afef76476a5f35f
parenta71c03f902bce904f68b506b72b0a8058b35c58d (diff)
add preamble
-rw-r--r--Makefile5
-rw-r--r--add_common.sh8
-rw-r--r--add_output.sh1
-rw-r--r--pre.m42
4 files changed, 15 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 4c0e7af..01eb430 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,11 @@
.POSIX:
OUTPUTS=text.m4 html.m4
-m4n: m4n.sh add_output.sh $(OUTPUTS)
+COMMON=pre.m4
+
+m4n: m4n.sh add_output.sh $(OUTPUTS) pre.m4
printf '#!/bin/sh\nset -e\n\n' > $@
+ for m4 in $(COMMON); do /bin/sh ./add_common.sh $$m4; done >> $@
for m4 in $(OUTPUTS); do /bin/sh ./add_output.sh $$m4; done >> $@
cat m4n.sh >> $@
chmod +x $@
diff --git a/add_common.sh b/add_common.sh
new file mode 100644
index 0000000..c806b11
--- /dev/null
+++ b/add_common.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+eof="$(echo EOF_$1 | tr '.[[:lower:]]' '_[[:upper:]]')"
+
+printf '%s() {\n' "$(echo $1 | tr . _)"
+printf 'uudecode -o- << %s\n' $eof
+uuencode -m $1 < $1
+printf '%s\n}\n\n' $eof
diff --git a/add_output.sh b/add_output.sh
index b7e3275..efbe7f9 100644
--- a/add_output.sh
+++ b/add_output.sh
@@ -3,6 +3,7 @@
eof="$(echo EOF_$1 | tr '.[[:lower:]]' '_[[:upper:]]')"
printf '%s() {\n' "$(echo $1 | tr . _)"
+printf 'pre_m4\n'
printf 'cat $1\n'
printf 'uudecode -o- << %s\n' $eof
uuencode -m $1 < $1
diff --git a/pre.m4 b/pre.m4
new file mode 100644
index 0000000..6fbc05f
--- /dev/null
+++ b/pre.m4
@@ -0,0 +1,2 @@
+divert(-1)
+changecom()