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