mirror of
https://github.com/sylverb/game-and-watch-retro-go.git
synced 2026-01-11 02:29:26 +01:00
209 lines
5.6 KiB
Makefile
209 lines
5.6 KiB
Makefile
TARGET = retro-go-msx
|
|
|
|
DEBUG = 1
|
|
#OPT = -Og -ggdb
|
|
OPT = -O0 -ggdb3
|
|
#-fsanitize=address
|
|
|
|
BUILD_DIR = build
|
|
CORE_MSX := ../blueMSX-go
|
|
|
|
#../Core/Src/porting/lib/lz4_depack.c \
|
|
../Core/Src/porting/lib/lzma/LzmaDec.c \
|
|
../Core/Src/porting/lib/lzma/lzma.c \
|
|
msx/main.c \
|
|
msx/save_msx.c
|
|
|
|
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_msx_rom.c \
|
|
crc32.c \
|
|
porting.c \
|
|
msx/save_msx.c \
|
|
msx/main.c \
|
|
$(CORE_MSX)/Src/Libretro/Timer.c \
|
|
$(CORE_MSX)/Src/Libretro/Emulator.c \
|
|
$(CORE_MSX)/Src/Bios/Patch.c \
|
|
$(CORE_MSX)/Src/Memory/DeviceManager.c \
|
|
$(CORE_MSX)/Src/Memory/IoPort.c \
|
|
$(CORE_MSX)/Src/Memory/MegaromCartridge.c \
|
|
$(CORE_MSX)/Src/Memory/ramNormal.c \
|
|
$(CORE_MSX)/Src/Memory/ramMapper.c \
|
|
$(CORE_MSX)/Src/Memory/ramMapperIo.c \
|
|
$(CORE_MSX)/Src/Memory/RomLoader.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperASCII8.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperASCII16.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperASCII16nf.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperBasic.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperCasette.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperDRAM.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperF4device.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperKoei.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperKonami4.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperKonami4nf.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperKonami5.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperLodeRunner.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperMsxDos2.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperMsxMusic.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperNormal.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperPlain.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperRType.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperStandard.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperSunriseIDE.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperSCCplus.c \
|
|
$(CORE_MSX)/Src/Memory/romMapperTC8566AF.c \
|
|
$(CORE_MSX)/Src/Memory/SlotManager.c \
|
|
$(CORE_MSX)/Src/VideoChips/VDP_YJK.c \
|
|
$(CORE_MSX)/Src/VideoChips/VDP_MSX.c \
|
|
$(CORE_MSX)/Src/VideoChips/V9938.c \
|
|
$(CORE_MSX)/Src/VideoChips/VideoManager.c \
|
|
$(CORE_MSX)/Src/Z80/R800.c \
|
|
$(CORE_MSX)/Src/Z80/R800SaveState.c \
|
|
$(CORE_MSX)/Src/Input/JoystickPort.c \
|
|
$(CORE_MSX)/Src/Input/MsxJoystick.c \
|
|
$(CORE_MSX)/Src/IoDevice/Disk.c \
|
|
$(CORE_MSX)/Src/IoDevice/HarddiskIDE.c \
|
|
$(CORE_MSX)/Src/IoDevice/I8255.c \
|
|
$(CORE_MSX)/Src/IoDevice/MsxPPI.c \
|
|
$(CORE_MSX)/Src/IoDevice/RTC.c \
|
|
$(CORE_MSX)/Src/IoDevice/SunriseIDE.c \
|
|
$(CORE_MSX)/Src/IoDevice/TC8566AF.c \
|
|
$(CORE_MSX)/Src/SoundChips/AudioMixer.c \
|
|
$(CORE_MSX)/Src/SoundChips/AY8910.c \
|
|
$(CORE_MSX)/Src/SoundChips/SCC.c \
|
|
$(CORE_MSX)/Src/SoundChips/MsxPsg.c \
|
|
$(CORE_MSX)/Src/SoundChips/YM2413_msx.c \
|
|
$(CORE_MSX)/Src/SoundChips/emu2413_msx.c \
|
|
$(CORE_MSX)/Src/Emulator/AppConfig.c \
|
|
$(CORE_MSX)/Src/Emulator/LaunchFile.c \
|
|
$(CORE_MSX)/Src/Emulator/Properties.c \
|
|
$(CORE_MSX)/Src/Utils/IsFileExtension.c \
|
|
$(CORE_MSX)/Src/Utils/StrcmpNoCase.c \
|
|
$(CORE_MSX)/Src/Utils/TokenExtract.c \
|
|
$(CORE_MSX)/Src/Board/Board.c \
|
|
$(CORE_MSX)/Src/Board/Machine.c \
|
|
$(CORE_MSX)/Src/Board/MSX.c \
|
|
$(CORE_MSX)/Src/Input/InputEvent.c \
|
|
|
|
CXX_SOURCES =
|
|
|
|
PREFIX =
|
|
|
|
CXX = $(PREFIX)g++
|
|
AS = $(PREFIX)gcc -x assembler-with-cpp
|
|
CP = $(PREFIX)objcopy
|
|
SZ = $(PREFIX)size
|
|
|
|
HEX = $(CP) -O ihex
|
|
BIN = $(CP) -O binary -S
|
|
|
|
C_DEFS = \
|
|
-DLINUX_EMU \
|
|
-DIS_LITTLE_ENDIAN \
|
|
-DLSB_FIRST \
|
|
-DBPS16 \
|
|
-D__LIBRETRO__ \
|
|
-DSINGLE_THREADED \
|
|
-DZ80_CUSTOM_CONFIGURATION \
|
|
-DMSX_NO_ZIP \
|
|
-DTARGET_GNW \
|
|
-DMSX_NO_MALLOC \
|
|
-DMAX_VIDEO_WIDTH_320 \
|
|
-DMSX_NO_ZIP \
|
|
-DMSX_NO_FILESYSTEM \
|
|
-DPIXEL_WIDTH=8 \
|
|
-DMSX_NO_STEREO \
|
|
-DENABLE_EMULATOR_MSX \
|
|
|
|
#-DMSX_NO_SAVESTATE \
|
|
|
|
LIBRETRO_COMM_DIR = $(CORE_MSX)/libretro-common
|
|
|
|
C_INCLUDES = \
|
|
-I. \
|
|
-I./msx \
|
|
-I../retro-go-stm32/components/odroid/ \
|
|
-I../Core/Inc/porting/msx \
|
|
-I../Core/Src/porting/lib \
|
|
-I../Core/Src/porting/lib/lzma \
|
|
-I$(CORE_MSX) \
|
|
-I$(LIBRETRO_COMM_DIR)/include \
|
|
-I$(CORE_MSX)/Src/Arch \
|
|
-I$(CORE_MSX)/Src/Bios \
|
|
-I$(CORE_MSX)/Src/Board \
|
|
-I$(CORE_MSX)/Src/BuildInfo \
|
|
-I$(CORE_MSX)/Src/Common \
|
|
-I$(CORE_MSX)/Src/Debugger \
|
|
-I$(CORE_MSX)/Src/Emulator \
|
|
-I$(CORE_MSX)/Src/IoDevice \
|
|
-I$(CORE_MSX)/Src/Language \
|
|
-I$(CORE_MSX)/Src/Media \
|
|
-I$(CORE_MSX)/Src/Memory \
|
|
-I$(CORE_MSX)/Src/Resources \
|
|
-I$(CORE_MSX)/Src/SoundChips \
|
|
-I$(CORE_MSX)/Src/TinyXML \
|
|
-I$(CORE_MSX)/Src/Utils \
|
|
-I$(CORE_MSX)/Src/VideoChips \
|
|
-I$(CORE_MSX)/Src/VideoRender \
|
|
-I$(CORE_MSX)/Src/Z80 \
|
|
-I$(CORE_MSX)/Src/Input \
|
|
-I$(CORE_MSX)/Src/Libretro \
|
|
-I$(DEPS_DIR)/zlib
|
|
|
|
fpic := -fPIC
|
|
SHARED := -shared -Wl,-version-script=link.T -Wl,-no-undefined
|
|
|
|
ASFLAGS = $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections
|
|
CFLAGS = $(C_DEFS) $(C_INCLUDES) `sdl2-config --cflags` $(OPT) -Wall -fdata-sections -ffunction-sections
|
|
CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
|
|
CXXFLAGS = $(CFLAGS)
|
|
CXXFLAGS += -O2 -fno-exceptions -fno-rtti -DHAVE_STDINT_H -DNDEBUG -fno-threadsafe-statics -std=c++11
|
|
CXXFLAGS += -w
|
|
CXXFLAGS += $(fpic) $(DEFINES)
|
|
|
|
#LIBS = -lm `sdl2-config --libs` -lasan
|
|
LIBS = -lstdc++ -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
|
|
|
|
# CXX
|
|
CXX_OBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(CXX_SOURCES:.cpp=.o) ))
|
|
vpath %.cpp $(sort $(dir $(CXX_SOURCES)))
|
|
|
|
#$(BUILD_DIR)/%.o: %.cpp Makefile.msx | $(BUILD_DIR)
|
|
$(BUILD_DIR)/%.o: %.cpp | $(BUILD_DIR)
|
|
$(CXX) -c $(CXXFLAGS) $< -o $@
|
|
|
|
#$(BUILD_DIR)/%.o: %.c Makefile.msx | $(BUILD_DIR)
|
|
$(BUILD_DIR)/%.o: %.c | $(BUILD_DIR)
|
|
$(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) $(CXX_OBJECTS) Makefile.msx
|
|
$(CC) $(OBJECTS) $(CXX_OBJECTS) $(LDFLAGS) -o $@
|
|
$(SZ) $@
|
|
|
|
$(BUILD_DIR):
|
|
mkdir $@
|
|
|
|
clean:
|
|
-rm -fR $(BUILD_DIR)
|
|
|
|
-include $(wildcard $(BUILD_DIR)/*.d)
|