Scatter the useful files into subdirectories by theme.
[cfd] / build / maninst
diff --git a/build/maninst b/build/maninst
new file mode 100755 (executable)
index 0000000..20fbf6c
--- /dev/null
@@ -0,0 +1,55 @@
+#! /bin/sh
+
+set -e
+ext="" mandir=/usr/local/man srcdir=. inst=install mode=644
+while [ $# -gt 0 ]; do
+  case $1 in
+    -h)
+      echo "$0: [-e EXT] [-d DIR] [-i INSTALL] [-m MODE] [un]install FILE ..."
+      exit 0
+      ;;
+    -e) ext=$2; shift 2 ;;
+    -d) mandir=$2; shift 2 ;;
+    -i) inst=$2; shift 2 ;;
+    -m) mode=$2; shift 2 ;;
+    -s) srcdir=$2; shift 2 ;;
+    --) shift; break ;;
+    -*) echo >&2 "$0: unknown option \`$1'"; exit 1 ;;
+    *) break ;;
+  esac
+done
+op=$1; shift
+case $op in
+  install | uninstall) ;;
+  *) echo >&2 "$0: unknown operation \`$1'"; exit 1 ;;
+esac
+for i; do
+  base=${i##*/} sec=${base##*.}
+  case $op in
+    install)
+      echo -n " Installing manpage $base$ext"
+      $inst -d "$mandir/man$sec"
+      $inst -m $mode "$srcdir/$i" "$mandir/man$sec/$base$ext"
+      ;;
+    uninstall)
+      rm -f "$mandir/man$sec/$base$ext"
+      ;;
+  esac
+  for l in `sed 's:^\.\\\"  *@::p; d' "$srcdir/$i"`; do
+    case $op in
+      install)
+       if [ "$l.$sec" != "$base" ]; then
+         echo -n "."
+         echo ".so man$sec/$base$ext" >"$mandir/man$sec/$l.$sec$ext"
+         chmod $mode "$mandir/man$sec/$l.$sec$ext"
+       fi
+       ;;
+      uninstall)
+       rm -f "$mandir/man$sec/$l.$sec$ext"
+       ;;
+    esac
+  done
+  case $op in
+    install) echo ;;
+  esac
+done