After compiling, it can't be just run in single mode from the source directory. At least one install is needed in order to make all the folder needed for a samba to run in single mode. An option like make installdir would be useful to allow quick testing in a machine without the hassle of installing the whole stuff (and relinking).
If samba requires some installation directory to run from the build directory, then that is a bug that should be fixed. We already set the python and script directories, we can set others too.
Andrew, I'm not really sure what were the constraint but I'm pretty sure that the fact that samba always try to store its pid in /usr/local/samba/var/run/samba.pid even when it's started from the source directory, is part of the problem.