# To approximate the DS builds A, B, C, ... run our configure like this # configure --host=ds --disable-all-engines OPTIONS # where OPTIONS is... # build A: --enable-scumm # build B: --enable-sky --enable-queen # build C: --enable-agos # build D: --enable-gob --enable-cine --enable-agi # build E: --enable-saga --disable-mad # build F: --enable-kyra --disable-mad # build G: --enable-lure # build H: --enable-parallaction # build I: --enable-made --disable-mad # build K: --enable-cruise --disable-mad # # This does not currently take care of some things: # * It does not #define DS_BUILD_A etc. -- most uses of that should be # eliminated, though. Only usage should be for selecting the default config # file (and for that we should really rather allow overriding the value of # DEFAULT_CONFIG_FILE). # There are a few game specific hacks which are currently controlled by this, # too; we need to investigate those. # * It does not currently adjust the logo. Ideally, if we ever get real plugin # support, that should be necessary anymore anyway. # * ... # Set location of ndsdir so that we can easily refer to files in it ndsdir = backends/platform/ds # Until we fix logo support, always use the A logo LOGO = logoa.bmp # Uncomment the following line to enable support for the # ace DS Debugger (remembering to make the same change in the arm7 makefile): #USE_DEBUGGER = 1 # TODO: Need to reimplement this (for arm9 and arm7). #ifdef USE_DEBUGGER # DEFINES += -DUSE_DEBUGGER # CFLAGS += -g #endif # Uncomment the following line to enable the profiler #USE_PROFILER = 1 # TODO: Need to reimplement this; and maybe replace it by the --enable-profiling # configure directive. Below is USE_PROFILER related code from the old NDS # build system: #ifdef USE_PROFILER # CFLAGS += -mpoke-function-name -finstrument-functions -g # DEFINES += -DUSE_PROFILER #endif # And this for module.mk: #ifdef USE_PROFILER # PORT_OBJS += arm9/source/profiler/cyg-profile.o #endif # NOTE: The header and libs for the debugger is assumed to be in the libnds # folder. # Files in this list will be optimisied for speed, otherwise they will be optimised for space OPTLIST := actor.cpp ds_main.cpp osystem_ds.cpp blitters.cpp fmopl.cpp rate.cpp isomap.cpp image.cpp gfx.cpp sprite.cpp actor_path.cpp actor_walk.cpp #OPTLIST := # Compiler options for files which should be optimised for speed OPT_SPEED := -O3 # Compiler options for files which should be optimised for space OPT_SIZE := -Os -mthumb #-mthumb -fno-gcse -fno-schedule-insns2 #OBJS := $(DATA_OBJS) $(LIBCARTRESET_OBJS) $(PORT_OBJS) $(COMPRESSOR_OBJS) $(FAT_OBJS) # TODO: Handle files in OPTLIST. # For this, the list should be made explicit. So, replace actor.cpp by path/to/actor.cpp -- # in fact, there are several actor.cpp files, and right now all are "optimized", but # I think Neil only had the SAGA one in mind. Same for gfx.cpp ############################################################################# # # ARM9 rules. # ############################################################################# all: scummvm.nds scummvm.ds.gba %.bin: %.elf $(OBJCOPY) -S $< $(