TARGET = retro-go-nes DEBUG = 1 #OPT = -Og -ggdb OPT = -O0 -ggdb3 #-fsanitize=address BUILD_DIR = build C_SOURCES = \ odroid_input.c \ odroid_netplay.c \ odroid_overlay.c \ odroid_sdcard.c \ odroid_system.c \ odroid_display.c \ odroid_audio.c \ gw_lcd.c \ loaded_nes_rom.c \ porting.c \ ../fceumm-go/src/boards/09-034a.c \ ../fceumm-go/src/boards/3d-block.c \ ../fceumm-go/src/boards/8in1.c \ ../fceumm-go/src/boards/12in1.c \ ../fceumm-go/src/boards/15.c \ ../fceumm-go/src/boards/18.c \ ../fceumm-go/src/boards/28.c \ ../fceumm-go/src/boards/31.c \ ../fceumm-go/src/boards/32.c \ ../fceumm-go/src/boards/33.c \ ../fceumm-go/src/boards/34.c \ ../fceumm-go/src/boards/40.c \ ../fceumm-go/src/boards/41.c \ ../fceumm-go/src/boards/42.c \ ../fceumm-go/src/boards/43.c \ ../fceumm-go/src/boards/46.c \ ../fceumm-go/src/boards/50.c \ ../fceumm-go/src/boards/51.c \ ../fceumm-go/src/boards/57.c \ ../fceumm-go/src/boards/60.c \ ../fceumm-go/src/boards/62.c \ ../fceumm-go/src/boards/65.c \ ../fceumm-go/src/boards/67.c \ ../fceumm-go/src/boards/68.c \ ../fceumm-go/src/boards/69.c \ ../fceumm-go/src/boards/71.c \ ../fceumm-go/src/boards/72.c \ ../fceumm-go/src/boards/77.c \ ../fceumm-go/src/boards/79.c \ ../fceumm-go/src/boards/80.c \ ../fceumm-go/src/boards/82.c \ ../fceumm-go/src/boards/88.c \ ../fceumm-go/src/boards/91.c \ ../fceumm-go/src/boards/96.c \ ../fceumm-go/src/boards/99.c \ ../fceumm-go/src/boards/103.c \ ../fceumm-go/src/boards/104.c \ ../fceumm-go/src/boards/106.c \ ../fceumm-go/src/boards/108.c \ ../fceumm-go/src/boards/112.c \ ../fceumm-go/src/boards/116.c \ ../fceumm-go/src/boards/117.c \ ../fceumm-go/src/boards/120.c \ ../fceumm-go/src/boards/121.c \ ../fceumm-go/src/boards/126-422-534.c \ ../fceumm-go/src/boards/134.c \ ../fceumm-go/src/boards/151.c \ ../fceumm-go/src/boards/156.c \ ../fceumm-go/src/boards/162.c \ ../fceumm-go/src/boards/163.c \ ../fceumm-go/src/boards/164.c \ ../fceumm-go/src/boards/168.c \ ../fceumm-go/src/boards/170.c \ ../fceumm-go/src/boards/175.c \ ../fceumm-go/src/boards/177.c \ ../fceumm-go/src/boards/178.c \ ../fceumm-go/src/boards/183.c \ ../fceumm-go/src/boards/185.c \ ../fceumm-go/src/boards/186.c \ ../fceumm-go/src/boards/187.c \ ../fceumm-go/src/boards/189.c \ ../fceumm-go/src/boards/190.c \ ../fceumm-go/src/boards/193.c \ ../fceumm-go/src/boards/195.c \ ../fceumm-go/src/boards/199.c \ ../fceumm-go/src/boards/206.c \ ../fceumm-go/src/boards/208.c \ ../fceumm-go/src/boards/218.c \ ../fceumm-go/src/boards/222.c \ ../fceumm-go/src/boards/225.c \ ../fceumm-go/src/boards/228.c \ ../fceumm-go/src/boards/230.c \ ../fceumm-go/src/boards/232.c \ ../fceumm-go/src/boards/233.c \ ../fceumm-go/src/boards/234.c \ ../fceumm-go/src/boards/235.c \ ../fceumm-go/src/boards/236.c \ ../fceumm-go/src/boards/237.c \ ../fceumm-go/src/boards/244.c \ ../fceumm-go/src/boards/246.c \ ../fceumm-go/src/boards/252.c \ ../fceumm-go/src/boards/253.c \ ../fceumm-go/src/boards/267.c \ ../fceumm-go/src/boards/268.c \ ../fceumm-go/src/boards/269.c \ ../fceumm-go/src/boards/272.c \ ../fceumm-go/src/boards/283.c \ ../fceumm-go/src/boards/291.c \ ../fceumm-go/src/boards/293.c \ ../fceumm-go/src/boards/294.c \ ../fceumm-go/src/boards/310.c \ ../fceumm-go/src/boards/319.c \ ../fceumm-go/src/boards/326.c \ ../fceumm-go/src/boards/330.c \ ../fceumm-go/src/boards/334.c \ ../fceumm-go/src/boards/351.c \ ../fceumm-go/src/boards/353.c \ ../fceumm-go/src/boards/354.c \ ../fceumm-go/src/boards/356.c \ ../fceumm-go/src/boards/357.c \ ../fceumm-go/src/boards/359.c \ ../fceumm-go/src/boards/360.c \ ../fceumm-go/src/boards/364.c \ ../fceumm-go/src/boards/368.c \ ../fceumm-go/src/boards/369.c \ ../fceumm-go/src/boards/370.c \ ../fceumm-go/src/boards/372.c \ ../fceumm-go/src/boards/375.c \ ../fceumm-go/src/boards/376.c \ ../fceumm-go/src/boards/377.c \ ../fceumm-go/src/boards/380.c \ ../fceumm-go/src/boards/382.c \ ../fceumm-go/src/boards/383.c \ ../fceumm-go/src/boards/389.c \ ../fceumm-go/src/boards/390.c \ ../fceumm-go/src/boards/391.c \ ../fceumm-go/src/boards/393.c \ ../fceumm-go/src/boards/395.c \ ../fceumm-go/src/boards/396.c \ ../fceumm-go/src/boards/401.c \ ../fceumm-go/src/boards/403.c \ ../fceumm-go/src/boards/410.c \ ../fceumm-go/src/boards/411.c \ ../fceumm-go/src/boards/414.c \ ../fceumm-go/src/boards/416.c \ ../fceumm-go/src/boards/417.c \ ../fceumm-go/src/boards/428.c \ ../fceumm-go/src/boards/431.c \ ../fceumm-go/src/boards/432.c \ ../fceumm-go/src/boards/433.c \ ../fceumm-go/src/boards/434.c \ ../fceumm-go/src/boards/436.c \ ../fceumm-go/src/boards/437.c \ ../fceumm-go/src/boards/438.c \ ../fceumm-go/src/boards/441.c \ ../fceumm-go/src/boards/443.c \ ../fceumm-go/src/boards/444.c \ ../fceumm-go/src/boards/449.c \ ../fceumm-go/src/boards/452.c \ ../fceumm-go/src/boards/455.c \ ../fceumm-go/src/boards/456.c \ ../fceumm-go/src/boards/460.c \ ../fceumm-go/src/boards/463.c \ ../fceumm-go/src/boards/465.c \ ../fceumm-go/src/boards/466.c \ ../fceumm-go/src/boards/467.c \ ../fceumm-go/src/boards/468.c \ ../fceumm-go/src/boards/516.c \ ../fceumm-go/src/boards/533.c \ ../fceumm-go/src/boards/539.c \ ../fceumm-go/src/boards/554.c \ ../fceumm-go/src/boards/558.c \ ../fceumm-go/src/boards/603-5052.c \ ../fceumm-go/src/boards/8157.c \ ../fceumm-go/src/boards/8237.c \ ../fceumm-go/src/boards/411120-c.c \ ../fceumm-go/src/boards/830118C.c \ ../fceumm-go/src/boards/830134C.c \ ../fceumm-go/src/boards/a9746.c \ ../fceumm-go/src/boards/ac-08.c \ ../fceumm-go/src/boards/addrlatch.c \ ../fceumm-go/src/boards/ax40g.c \ ../fceumm-go/src/boards/ax5705.c \ ../fceumm-go/src/boards/bandai.c \ ../fceumm-go/src/boards/bb.c \ ../fceumm-go/src/boards/bj56.c \ ../fceumm-go/src/boards/bmc42in1r.c \ ../fceumm-go/src/boards/bmc64in1nr.c \ ../fceumm-go/src/boards/bmc60311c.c \ ../fceumm-go/src/boards/bmc80013b.c \ ../fceumm-go/src/boards/bmc830425C4391t.c \ ../fceumm-go/src/boards/bmcctc09.c \ ../fceumm-go/src/boards/bmcgamecard.c \ ../fceumm-go/src/boards/bmck3006.c \ ../fceumm-go/src/boards/bmck3033.c \ ../fceumm-go/src/boards/bmck3036.c \ ../fceumm-go/src/boards/bmcl6in1.c \ ../fceumm-go/src/boards/BMW8544.c \ ../fceumm-go/src/boards/bonza.c \ ../fceumm-go/src/boards/bs-5.c \ ../fceumm-go/src/boards/cheapocabra.c \ ../fceumm-go/src/boards/cityfighter.c \ ../fceumm-go/src/boards/coolgirl.c \ ../fceumm-go/src/boards/dance2000.c \ ../fceumm-go/src/boards/datalatch.c \ ../fceumm-go/src/boards/dream.c \ ../fceumm-go/src/boards/edu2000.c \ ../fceumm-go/src/boards/eeprom_93C66.c \ ../fceumm-go/src/boards/eh8813a.c \ ../fceumm-go/src/boards/fceu-emu2413.c \ ../fceumm-go/src/boards/et-100.c \ ../fceumm-go/src/boards/et-4320.c \ ../fceumm-go/src/boards/f-15.c \ ../fceumm-go/src/boards/famicombox.c \ ../fceumm-go/src/boards/faridunrom.c \ ../fceumm-go/src/boards/ffe.c \ ../fceumm-go/src/boards/fk23c.c \ ../fceumm-go/src/boards/gn26.c \ ../fceumm-go/src/boards/h2288.c \ ../fceumm-go/src/boards/hp10xx_hp20xx.c \ ../fceumm-go/src/boards/hp898f.c \ ../fceumm-go/src/boards/jyasic.c \ ../fceumm-go/src/boards/karaoke.c \ ../fceumm-go/src/boards/KG256.c \ ../fceumm-go/src/boards/kof97.c \ ../fceumm-go/src/boards/KS7012.c \ ../fceumm-go/src/boards/KS7013.c \ ../fceumm-go/src/boards/KS7016.c \ ../fceumm-go/src/boards/KS7017.c \ ../fceumm-go/src/boards/KS7030.c \ ../fceumm-go/src/boards/KS7031.c \ ../fceumm-go/src/boards/KS7032.c \ ../fceumm-go/src/boards/KS7037.c \ ../fceumm-go/src/boards/KS7057.c \ ../fceumm-go/src/boards/le05.c \ ../fceumm-go/src/boards/lh32.c \ ../fceumm-go/src/boards/lh51.c \ ../fceumm-go/src/boards/lh53.c \ ../fceumm-go/src/boards/malee.c \ ../fceumm-go/src/boards/mihunche.c \ ../fceumm-go/src/boards/mmc1.c \ ../fceumm-go/src/boards/mmc2and4.c \ ../fceumm-go/src/boards/mmc3.c \ ../fceumm-go/src/boards/mmc5.c \ ../fceumm-go/src/boards/n106.c \ ../fceumm-go/src/boards/n625092.c \ ../fceumm-go/src/boards/novel.c \ ../fceumm-go/src/boards/onebus.c \ ../fceumm-go/src/boards/pec-586.c \ ../fceumm-go/src/boards/resetnromxin1.c \ ../fceumm-go/src/boards/resettxrom.c \ ../fceumm-go/src/boards/rt-01.c \ ../fceumm-go/src/boards/SA-9602B.c \ ../fceumm-go/src/boards/sachen.c \ ../fceumm-go/src/boards/sheroes.c \ ../fceumm-go/src/boards/sl1632.c \ ../fceumm-go/src/boards/subor.c \ ../fceumm-go/src/boards/super40in1.c \ ../fceumm-go/src/boards/supervision.c \ ../fceumm-go/src/boards/t-227-1.c \ ../fceumm-go/src/boards/t-262.c \ ../fceumm-go/src/boards/tengen.c \ ../fceumm-go/src/boards/tf-1201.c \ ../fceumm-go/src/boards/txcchip.c \ ../fceumm-go/src/boards/unrom512.c \ ../fceumm-go/src/boards/vrc1.c \ ../fceumm-go/src/boards/vrc2and4.c \ ../fceumm-go/src/boards/vrc3.c \ ../fceumm-go/src/boards/vrc6.c \ ../fceumm-go/src/boards/vrc7.c \ ../fceumm-go/src/boards/vrc7p.c \ ../fceumm-go/src/boards/yoko.c \ ../fceumm-go/src/cheat.c \ ../fceumm-go/src/crc32.c \ ../fceumm-go/src/fceu-cart.c \ ../fceumm-go/src/fceu-endian.c \ ../fceumm-go/src/fceu-sound.c \ ../fceumm-go/src/fceu-state.c \ ../fceumm-go/src/fceu.c \ ../fceumm-go/src/fds_apu.c \ ../fceumm-go/src/fds.c \ ../fceumm-go/src/filter.c \ ../fceumm-go/src/general.c \ ../fceumm-go/src/ines.c \ ../fceumm-go/src/input.c \ ../fceumm-go/src/md5.c \ ../fceumm-go/src/nsf.c \ ../fceumm-go/src/palette.c \ ../fceumm-go/src/ppu.c \ ../fceumm-go/src/video.c \ ../fceumm-go/src/x6502.c \ ../fceumm-go/src/drivers/libretro/libretro-common/streams/memory_stream.c \ nes-fceumm/main.c \ PREFIX = CC = $(PREFIX)gcc AS = $(PREFIX)gcc -x assembler-with-cpp CP = $(PREFIX)objcopy SZ = $(PREFIX)size HEX = $(CP) -O ihex BIN = $(CP) -O binary -S C_DEFS = \ -DIS_LITTLE_ENDIAN -DFCEU_VERSION_NUMERIC=9813 -DTARGET_GNW -DFCEU_NO_MALLOC -DLINUX_EMU -DFCEU_LOW_RAM -DENABLE_EMULATOR_NES -DFORCE_NOFRENDO=0 -DNES_MAPPER_NSF #-DFCEU_ENABLE_GAMEGENIE_ROM -DCHEAT_CODES=1 C_INCLUDES = \ -I. \ -I../Core/Inc/porting/nes_fceu \ -I../fceumm-go/src/ \ -I../fceumm-go/src/drivers/libretro/libretro-common/include \ -I../retro-go-stm32/components/odroid \ -I./nes-fceumm ASFLAGS = $(AS_DEFS) $(AS_INCLUDES) $(OPT) -fdata-sections -ffunction-sections CFLAGS = $(C_DEFS) $(C_INCLUDES) `sdl2-config --cflags` $(OPT) -fdata-sections -ffunction-sections CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" #LIBS = -lm `sdl2-config --libs` LIBS = -lm `sdl2-config --libs` LDFLAGS = $(LIBS) all: outDir $(BUILD_DIR)/$(TARGET).elf OBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o))) vpath %.c $(sort $(dir $(C_SOURCES))) outDir: mkdir -p build if ! [ -f ./build/config.h ]; then \ touch build/config.h; \ fi if ! [ -f ./build/mappers.h ]; then \ touch build/mappers.h; \ fi $(BUILD_DIR)/%.o: %.c Makefile.nes | $(BUILD_DIR) $(CC) -c $(CFLAGS) $< -o $@ $(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile.nes $(CC) $(OBJECTS) $(LDFLAGS) -o $@ $(SZ) $@ $(BUILD_DIR): mkdir -p $@ clean: -rm -fR $(BUILD_DIR) -include $(wildcard $(BUILD_DIR)/*.d)