CC := arm-elf-gcc CXX := arm-elf-g++ LD := arm-elf-g++ AS := arm-elf-as AR := arm-elf-ar cru RANLIB := arm-elf-ranlib RM := rm -f MKDIR := mkdir -p ECHO := echo -n CAT := cat RM := rm -f # recursive version of RM RM_REC := $(RM) -r ZIP := zip -q CP := cp OBJCOPY := arm-elf-objcopy FXETOOL := b2fxec ####################################################################### # Default compilation parameters. Normally don't edit these # ####################################################################### CFLAGS = -marm -march=armv4t -mtune=arm920 -mapcs \ -finline-functions \ -fshort-enums \ -mstructure-size-boundary=32 \ -mno-thumb-interwork \ -I$(GPSDK)/include \ -g \ -O2 \ -fomit-frame-pointer # -ffast-math \ # -fshort-double CPPFLAGS:= $(CFLAGS) CXXFLAGS:= $(CFLAGS) DEFINES := LDFLAGS := INCLUDES:= -I. -Icommon LIBS := OBJS := # Turn on useful warnings CXXFLAGS+= -Wall -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion CXXFLAGS+= -Wshadow -Wuninitialized -Wimplicit -Wundef CXXFLAGS+= -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder CXXFLAGS+= -Wwrite-strings -fcheck-new -Wctor-dtor-privacy -Wnon-virtual-dtor # Stripped Build? (Smaller ELF, Minimal debug symbol information). # You MUST comment this out with a # if you wish to debug your code. STRIP_DEBUG = -Wl,--strip-debug # GPSDK (SDK, Includes and Startup Files) base dir GPSDK = /usr/compat/gp32/share/sdk LDSPECS = -specs=gp32_gpsdk.specs LDFLAGS = $(STRIP_DEBUG) -Wl,-Map,$(MAPFILE) $(LDSPECS) -Wl,--no-warn-mismatch LIBS += -L$(GPSDK)/lib \ -lgpmem -lgpos -lgpstdio -lgpstdlib -lgpsound -lgpgraphic -lgpfont \ -lm -lc -lgcc INCLUDES += -Ibackends/platform/gp32 -Iengines -I$(GPSDK)/include MODULES += backends/platform/gp32 # Outputs EXEEXT = .elf MAPFILE = scummvm.map BIN = scummvm.gxb FXE = scummvm.fxe # Plugins hack srcdir = ./ DEFINES = -D__GP32__ DEFINES += -DNONSTANDARD_PORT # Disable new themes. GP32 has LOW memory! DEFINES += -DDISABLE_FANCY_THEMES # Support libtremor. #DEFINES += -DUSE_VORBIS -DUSE_TREMOR -DGP32_SDK #INCLUDES += -Ibackends/platform/gp32/gptremor #LIBS += -Lbackends/platform/gp32/gptremor -lgptremor # Support libmad. #DEFINES += -DUSE_MAD #INCLUDES += -Ibackends/platform/gp32/gpmad #LIBS += -Lbackends/platform/gp32/gpmad -lgpmad # Support libminilzo. DEFINES += -DUSE_MINILZO INCLUDES += -Ibackends/platform/gp32/minilzo LIBS += -Lbackends/platform/gp32/minilzo -lminilzo # Support for 8:3 save files names (The GP32 uses FAT12/16 (no vFAT) for the file system). DEFINES += -DSHORT_SAVENAMES # Support for the unsigned sound mixer. DEFINES += -DOUTPUT_UNSIGNED_AUDIO # Support for the GP32 (fmOPL derived) MIDI engine. # - NOT fully implemented yet. #DEFINES += -DUSE_GP32_FMOPL #GP32 Debug - Remove from Release builds # This builds in the GP32 GDB USB Stub. Don't use it unless you know what your doing. # You also need to remove ANY optemisation from the compiler flags. #DEFINES += -DGP32_GDB #OBJS += backends/platform/gp32/debug-gdbstub-usb.o # Standard librarys and optimization modules OBJS += backends/platform/gp32/startup.o \ backends/platform/gp32/memcpy.o \ backends/platform/gp32/gp_asmlib.o \ backends/platform/gp32/gp_clipped.o \ backends/platform/gp32/fontdata.o # Custom GP32 std library OBJS += backends/platform/gp32/gp32std.o \ backends/platform/gp32/gp32std_file.o \ backends/platform/gp32/gp32std_grap.o \ backends/platform/gp32/gp32std_input.o \ backends/platform/gp32/gp32std_memory.o \ backends/platform/gp32/gp32std_sound.o \ #backends/platform/gp32/dmaaudio_asm.o \ #backends/platform/gp32/dmaaudio.o \ #Main ScummVM for the GP32 Backend OBJS += backends/platform/gp32/gp32_main.o \ backends/platform/gp32/gp32_launcher.o \ backends/platform/gp32/gp32_osys.o \ backends/fs/gp32/gp32-fs.o $(FXE): $(BIN) $(FXETOOL) -f -a "The ScummVM Team" -t "ScummVM for the GP32" -b backends/platform/gp32/scummvm.bmp $< $@ $(BIN): scummvm$(EXEEXT) $(OBJCOPY) -O binary $< $@ # Uncomment this to use GCC 3.x specific dependency tracking (recommended) HAVE_GCC3 = 1 ####################################################################### # Control which modules are built - uncomment any to disable module # ####################################################################### DISABLE_SCALERS = 1 DISABLE_HQ_SCALERS = 1 #DISABLE_SCUMM = 1 # We can play The Dig with GP32 -- without any movies/musics/voices. But who would do that? DISABLE_SCUMM_7_8 = 1 DISABLE_HE = 1 #DISABLE_AGOS = 1 #DISABLE_SKY = 1 #DISABLE_QUEEN = 1 #DISABLE_GOB = 1 #DISABLE_LURE = 1 #DISABLE_CINE = 1 #DISABLE_SAGA = 1 #DISABLE_KYRA = 1 #DISABLE_AGI = 1 # The engines below are not supported on the GP32 port so there is # no point compiling support into the binary. DISABLE_SWORD1 = 1 DISABLE_SWORD2 = 1 ####################################################################### # Misc stuff - you should normally never have to edit this # ####################################################################### EXECUTABLE := scummvm$(EXEEXT) include Makefile.common dist: $(RM) $(ZIPFILE) $(ZIP) $(ZIPFILE) $(DISTFILES)