PREFIX=/usr #OBJS specifies which files to compile as part of the project OBJS = src/whatever.c #CC specifies which compiler to use CC = clang #COMPILER_FLAGS specifies the additional compilation options we're using # -w suppress all warnings COMPILER_FLAGS = -Wall #LINKER_FLAGS specifies the libraries we're linking against LINKER_FLAGS = -lSDL2 #OBJ_NAME specifies the name of our executable OBJ_NAME= whatever #INCLUDES where the INCLUDE directory is INCLUDES = -I./include #This is the target that compiles our executable all : $(OBJS) $(CC) $(OBJS) $(COMPILER_FLAGS) $(INCLUDES) $(LINKER_FLAGS) -o $(OBJ_NAME) install : mkdir -p ${PREFIX}/share/${OBJ_NAME} cp ${OBJ_NAME} ${PREFIX}/share/${OBJ_NAME}/ ln -si ${PREFIX}/share/${OBJ_NAME}/${OBJ_NAME} ${PREFIX}/bin/${OBJ_NAME} uninstall : rm ${PREFIX}/bin/${OBJ_NAME} rm ${PREFIX}/share/${OBJ_NAME}/${OBJ_NAME} rm -r ${PREFIX}/share/${OBJ_NAME} clean : rm ${OBJ_NAME}