book-gen: add length to output

Just to keep gcc quiet on empty books, output a length of 1 when the
book is empty.
Makefile: add multiplatform support

Now we can use $CROSS_COMPILE to create binaries for different
architectures.