Makefile rewrite

* Use nonrecursive make to allow parallel buid of subdirectories
* Add silent rules to make easier to spot warnings
* Use gcc generated dependencies for build targets
* Use separate build directory

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>