include Makefile.cfg PROJECT=POCKET INCLUDE_FOLDERS= gamebuino arduino LIBS=-L../lib -lgamebuino -larduino INCLUDE= $(foreach dir,$(INCLUDE_FOLDERS),-I$/../include/$(dir)) EXE_DIR=Exe CC_FLAGS += -Werror -Wfatal-errors CXX_FLAGS = $(CC_FLAGS) -std=c++11 OBJ_DIR = Obj SRC_DIR = . OBJECTS=$(addprefix $(OBJ_DIR)/,main.o Game.o System.o HumanPlayer.o Sprite.o \ Player.o Camera.o BaseUnit.o Unit.o Menu.o \ Cursor.o HumanPlayerBtn.o Coordinates.o) DEPS = $(OBJECTS:.o=.d) build: libs $(EXE_DIR)/$(PROJECT).HEX avr-size $(EXE_DIR)/$(PROJECT).ELF rebuild: make clean make build libs: make -C Libs/libarduino/ make -C Libs/libgamebuino make -C Libs/petit_fatfs make -C Libs/tinyFAT run: $(EXE_DIR)/$(PROJECT).ELF $(GBSIM) $^ -include $(DEPS) $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp $(OBJ_DIR)/%.d $(CXX) $< -o $@ $(INCLUDE) $(DEFINE) $(CXX_FLAGS) -MMD $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(OBJ_DIR)/%.d $(CC) $< -o $@ $(INCLUDE) $(DEFINE) $(CC_FLAGS) -MMD $(OBJ_DIR)/%.d: $(SRC_DIR)/%.c $(CC) $< $(DEFINE) $(INCLUDE) -M -MF $@ $(OBJ_DIR)/%.d: $(SRC_DIR)/%.cpp $(CXX) $< $(DEFINE) $(INCLUDE) -M -MF $@ clean: rm *.elf -f rm $(OBJ_DIR)/*.o $(OBJ_DIR)/*.d -f make -C $$PWD/Libs/libarduino clean make -C $$PWD/Libs/libgamebuino clean make -C $$PWD/Libs/petit_fatfs clean make -C $$PWD/Libs/tinyFAT clean $(EXE_DIR)/$(PROJECT).ELF: $(OBJECTS) mkdir -p $(EXE_DIR) $(LINKER) $^ -o $@ -g $(DEFINE) $(LIBS) $(INCLUDE) -flto -Xlinker -Map=$(EXE_DIR)/POCKET.MAP -Wl,-emain -Wl,--gc-sections $(EXE_DIR)/$(PROJECT).HEX: $(EXE_DIR)/$(PROJECT).ELF avr-objcopy -j.text -j.data -j.bss -O ihex $^ $@ .PHONY: all libs clean run depend