make file tweaks
take haddock/ out of git, derived.  no need to mkdir, haddock mkdirs itself
git ignore of *~ is not repo-specific, belongs in user-specific info

The choice of emacs as editor, while laudable, is a per-user decision
rather than a per-repo one.  Hence the job of ignoring emacs temporary
and backup files belong in per-user git configuration.

Try this:

$ cat > ~/.gitignore-emacs <<EOF
*~
.#*[0-9]
EOF
$ git config --global core.excludesfile ~/.gitignore-emacs