Make BUILD_DIR only if it doesn't exist

This also fixes the problem that everything is build always. Now, only
the changed source files are compiled.
%.s also depends on the BUILD_DIR existing
Generate the list of assembler source files as well with $(wildcard)