Support for arbitrary directory trees for sources

Also support a directory for the binary.