Allow builds with external commands

And also allow builds to occur outside of the project's base directory.