Reorganize sources and improve makefile (inspiring from rust-empty)