*Makefile MMCU was not set for linking (text overflow occurred)

This commit is contained in:
XaviDCR92 2017-08-26 17:20:15 +02:00
parent 32ce459181
commit 8151d005e3
8 changed files with 3475 additions and 1325 deletions

BIN
Exe/POCKET.ELF Executable file

Binary file not shown.

File diff suppressed because it is too large Load Diff

2129
Exe/POCKET.MAP Normal file

File diff suppressed because it is too large Load Diff

BIN
Exe/POCKET.elf Normal file → Executable file

Binary file not shown.

View File

@ -1,33 +1,40 @@
include Makefile.cfg
PROJECT=POCKET
CC=avr-gcc
CXX=avr-g++
LINKER=$(CXX)
MCU=atmega328p
CPU_SPEED=-DF_CPU=16000000UL
ARDUINO_VERSION=ARDUINO_150
INCLUDE_FOLDERS= gamebuino arduino
LIBS=-L../lib -lgamebuino -larduino
INCLUDE= $(foreach dir,$(INCLUDE_FOLDERS),-I$/../include/$(dir))
CC_FLAGS=-mmcu=$(MCU) $(CPU_SPEED) -Wall -Werror -Os -c -ffunction-sections -fdata-sections -g
DEFINE = -D$(ARDUINO_VERSION)
EXE_DIR=Exe
CC_FLAGS += -Werror -Wfatal-errors
OBJ_DIR = Obj
SRC_DIR = .
default: build $(PROJECT).HEX size
OBJECTS=$(addprefix $(OBJ_DIR)/,main.o Gameplay.o System.o Gfx.o Pad.o \
Player.o Camera.o Unit.o Menu.o Building.o)
size:
avr-size Exe/$(PROJECT).ELF
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
clean:
rm *.elf -f
rm $(OBJ_DIR)/*.o -f -r
build: $(addprefix $(OBJ_DIR)/,main.o Gameplay.o System.o Gfx.o Pad.o \
Player.o Camera.o Unit.o Menu.o Building.o)
rm $(OBJ_DIR)/*.o -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
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
$(CXX) $< -o $@ $(INCLUDE) $(DEFINE) $(CC_FLAGS)
@ -35,9 +42,11 @@ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
$(CC) $< -o $@ $(INCLUDE) $(DEFINE) $(CC_FLAGS)
$(PROJECT).ELF:
$(LINKER) $(OBJ_DIR)/*.o -o Exe/$(PROJECT).elf -mmcu=$(MCU) -g $(LIBS) $(INCLUDE) -flto -Xlinker -Map=Exe/POCKET.MAP -Wl,--gc-sections
$(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 $^ $@
$(PROJECT).HEX: $(PROJECT).ELF
avr-objcopy -j.text -j.data -j.bss -O ihex Exe/$^ $@
mv $@ Exe/
.PHONY: all libs clean

View File

@ -11,4 +11,4 @@ PATH := $(PATH):$(AVR_TOOLCHAIN_PATH)/bin/
DEFINE = -DARDUINO=$(ARDUINO_VERSION) -mmcu=$(MCU) -DF_CPU=$(CPU_SPEED)
CC_FLAGS=-Wall -Os -c -ffunction-sections -fdata-sections
CC_FLAGS=-Wall -Os -c -ffunction-sections -fdata-sections

2
Unit.c
View File

@ -252,7 +252,7 @@ void UnitAcceptAction(TYPE_UNIT* ptrUnit)
break;
default:
return NULL;
return;
break;
}

View File

@ -19,8 +19,8 @@ int main(){
gb.begin();
/* MAIN LOOP */
while(1)
// Main loop
while(1)
{
gb.titleScreen(F("Pocket Empires"));