#!/bin/sh
-# vim: set sw=4 et sts=4 tw=80 :
 
-# RDoc fails to document C extension split into many files.
-# This is a hack to generate documentation properly.
+if test -z "$RDOC"; then
+    RDOC=rdoc
+    if which rdoc19 >/dev/null 2>&1; then
+        RDOC=rdoc19
+    fi
+fi
 
-rm -fr ruby
-cat *.c > rdoc-sucks.c
-rdoc --main 'Notmuch' --title 'Notmuch Ruby API' --op ruby rdoc-sucks.c
-rm -f rdoc-sucks.c
+set -e
+set -x
+
+$RDOC --main 'Notmuch' --title 'Notmuch Ruby API' --op ruby *.c
+
+if test "$1" = "--upload"; then
+    rsync -avze ssh --delete --partial --progress ruby bach.exherbo.org:public_html/notmuch/
+fi