makefile & main