Improved Makefile
TODO: solve the undefined symbol issue