1 2ronindir = /usr/local/ronin 3 4DYNAMIC_MODULES = 1 5 6srcdir = ../../.. 7VPATH = $(srcdir) 8 9CC = sh-elf-gcc -ml -m4-single-only 10CXX = sh-elf-g++ -ml -m4-single-only 11LD = $(CXX) 12CXXFLAGS= -O3 -Wno-multichar -funroll-loops -fschedule-insns2 -fomit-frame-pointer -fdelete-null-pointer-checks -fno-exceptions 13DEFINES = -D__DC__ -DNONSTANDARD_PORT -DUSE_MAD -DUSE_ZLIB -DDISABLE_DEFAULT_SAVEFILEMANAGER -DDISABLE_TEXT_CONSOLE -DDISABLE_COMMAND_LINE -DUSE_RGB_COLOR 14# For release builds: 15#DEFINES += -DNOSERIAL 16LDFLAGS = -Wl,-Ttext,0x8c010000 -nostartfiles $(ronindir)/lib/crt0.o 17INCLUDES= -I./ -I$(srcdir) -I$(ronindir)/include/ -I$(srcdir)/engines 18LIBS = -L$(ronindir)/lib -lmad -lronin -lz -lm 19# For release builds: 20#LIBS = -L$(ronindir)/lib -lmad -lronin-noserial -lz -lm 21EXECUTABLE = scummvm.elf 22DEPDIR = .deps 23CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP 24PLUGIN_PREFIX = 25PLUGIN_SUFFIX = .plg 26PLUGIN_EXTRA_DEPS = plugin.x plugin.syms scummvm.elf plugin_head.o 27PLUGIN_LDFLAGS = -nostartfiles -Wl,-q,-Tplugin.x,--just-symbols,scummvm.elf,--retain-symbols-file,plugin.syms -L$(ronindir)/lib plugin_head.o 28MKDIR = mkdir -p 29RM = rm -f 30RM_REC = rm -rf 31AR = sh-elf-ar cru 32RANLIB = sh-elf-ranlib 33HAVE_GCC3 = true 34USE_RGB_COLOR = true 35 36ifdef DYNAMIC_MODULES 37DEFINES += -DDYNAMIC_MODULES 38PRE_OBJS_FLAGS = -Wl,--whole-archive 39POST_OBJS_FLAGS = -Wl,--no-whole-archive 40ENABLED=DYNAMIC_PLUGIN 41else 42ENABLED=STATIC_PLUGIN 43endif 44 45ENABLE_SCUMM = $(ENABLED) 46ENABLE_SCUMM_7_8 = $(ENABLED) 47ENABLE_HE = $(ENABLED) 48ENABLE_AGI = $(ENABLED) 49ENABLE_AGOS = $(ENABLED) 50ENABLE_CINE = $(ENABLED) 51ENABLE_CRUISE = $(ENABLED) 52ENABLE_DRASCULA = $(ENABLED) 53ENABLE_GOB = $(ENABLED) 54ENABLE_GROOVIE = $(ENABLED) 55ENABLE_IHNM = $(ENABLED) 56ENABLE_KYRA = $(ENABLED) 57ENABLE_LURE = $(ENABLED) 58ENABLE_M4 = $(ENABLED) 59ENABLE_MADE = $(ENABLED) 60ENABLE_PARALLACTION = $(ENABLED) 61ENABLE_QUEEN = $(ENABLED) 62ENABLE_SAGA = $(ENABLED) 63ENABLE_SKY = $(ENABLED) 64ENABLE_SWORD1 = $(ENABLED) 65ENABLE_SWORD2 = $(ENABLED) 66ENABLE_TOUCHE = $(ENABLED) 67ENABLE_TUCKER = $(ENABLED) 68 69OBJS := dcmain.o time.o display.o audio.o input.o selector.o icon.o \ 70 label.o vmsave.o softkbd.o dcloader.o cache.o dc-fs.o plugins.o 71 72MODULE_DIRS += ./ 73 74BACKEND := dc 75 76include $(srcdir)/Makefile.common 77 78scummvm.bin : scummvm.elf 79 sh-elf-objcopy -S -R .stack -O binary $< $@ 80 81SCUMMVM.BIN : scummvm.bin 82 scramble $< $@ 83 84plugin_dist : plugins 85 for p in $(PLUGINS); do \ 86 t="`basename \"$$p\" | LC_CTYPE=C tr '[:lower:]' '[:upper:]'`"; \ 87 sh-elf-strip -g -o "$$t" "$$p"; \ 88 ./check_plugin_symbols "$$t"; \ 89 done 90 91dist : SCUMMVM.BIN plugin_dist 92 93spotless : distclean 94 $(RM) SCUMMVM.BIN scummvm.bin *.PLG 95