automatically make the build directory

The make process outputs the binaries to a directory ./build, which typically doesn't exist. The makefile now checks and makes this directory.