summaryrefslogtreecommitdiffstats
path: root/define-from-md.awk
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xdefine-from-md.awk41
1 files changed, 41 insertions, 0 deletions
diff --git a/define-from-md.awk b/define-from-md.awk
new file mode 100755
index 0000000..9f7f2bf
--- /dev/null
+++ b/define-from-md.awk
@@ -0,0 +1,41 @@
+#!/usr/bin/awk -f
+
+# The caller must pass args: -v hfile=NAME rsync.1.md
+
+BEGIN {
+ heading = "/* DO NOT EDIT THIS FILE! It is auto-generated from a list of values in " ARGV[1] "! */"
+ if (hfile ~ /compress/) {
+ define = "#define DEFAULT_DONT_COMPRESS"
+ prefix = "*."
+ } else {
+ define = "#define DEFAULT_CVSIGNORE"
+ prefix = ""
+ }
+ value_list = ""
+}
+
+/^ > [^ ]+$/ {
+ gsub(/`/, "")
+ if (value_list != "") value_list = value_list " "
+ value_list = value_list prefix $2
+ next
+}
+
+value_list ~ /\.gz / && hfile ~ /compress/ {
+ exit
+}
+
+value_list ~ /SCCS / && hfile ~ /cvsignore/ {
+ exit
+}
+
+value_list = ""
+
+END {
+ if (value_list != "")
+ print heading "\n\n" define " \"" value_list "\"" > hfile
+ else {
+ print "Failed to find a value list in " ARGV[1] " for " hfile
+ exit 1
+ }
+}