makefile and main file