Makefile and compilalation