makefiles and main