1
2TOOLPATH = /opt/mips64-toolchain
3LIBN64PATH = $(TOOLPATH)/hkz-libn64/
4GCCN64PREFIX = $(TOOLPATH)/bin/mips64-
5
6srcdir = ../../..
7VPATH = $(srcdir)
8
9CC = $(GCCN64PREFIX)gcc
10CXX = $(GCCN64PREFIX)g++
11AS = $(GCCN64PREFIX)as
12LD = $(GCCN64PREFIX)g++
13OBJCOPY = $(GCCN64PREFIX)objcopy
14AR = $(GCCN64PREFIX)ar cru
15RANLIB = $(GCCN64PREFIX)ranlib
16
17DEFINES += -D__N64__ -DLIMIT_FPS -DNONSTANDARD_PORT -DDISABLE_DEFAULT_SAVEFILEMANAGER -DDISABLE_TEXT_CONSOLE -DDISABLE_COMMAND_LINE -DDISABLE_FANCY_THEMES -DDISABLE_DOSBOX_OPL -DENABLE_VKEYBD -DUSE_ZLIB
18LIBS += -lpakfs -lframfs -ln64 -ln64utils -lromfs
19
20#DEFINES += -D_ENABLE_DEBUG_
21
22USE_LIBMAD=0
23USE_LIBOGG=1
24
25ifeq ($(USE_LIBMAD),1)
26DEFINES += -DUSE_MAD
27LIBS	+= -lmad
28endif
29ifeq ($(USE_LIBOGG), 1)
30DEFINES += -DUSE_VORBIS -DUSE_TREMOR
31LIBS	+= -lvorbisidec
32endif
33
34LIBS += -lm -lstdc++ -lc -lgcc -lz -lnosys
35
36CXXFLAGS = -g -mno-extern-sdata -O2 --param max-inline-insns-auto=20 -fomit-frame-pointer -march=vr4300 -mtune=vr4300 -mhard-float -fno-rtti -fno-exceptions -Wno-multichar -Wshadow -I$(LIBN64PATH) -I$(TOOLPATH)/include -I./ -I$(srcdir) -I$(srcdir)/engines
37LDFLAGS = -g -march=vr4300 -mtune=vr4300 -nodefaultlibs -nostartfiles -mno-crt0 -L$(LIBN64PATH) -L$(TOOLPATH)/lib $(LIBS) -T n64ld_cpp.x -Xlinker -Map -Xlinker scummvm.map
38
39TARGET = scummvm
40DEPDIR = .deps
41CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP
42MKDIR = mkdir -p
43RM = rm -f
44RM_REC = rm -rf
45
46VERBOSE_BUILD=1
47HAVE_GCC3=1
48USE_RGB_COLOR=0
49
50ENABLED=STATIC_PLUGIN
51
52#ENABLE_SCUMM = $(ENABLED)
53#ENABLE_SCI = $(ENABLED)
54#ENABLE_GOB = $(ENABLED)
55#ENABLE_PARALLACTION = $(ENABLED)
56#ENABLE_KYRA = $(ENABLED)
57#ENABLE_AGOS = $(ENABLED)
58#ENABLE_AGI = $(ENABLED)
59#ENABLE_QUEEN = $(ENABLED)
60#ENABLE_MADE = $(ENABLED)
61#ENABLE_SAGA = $(ENABLED)
62#ENABLE_TEENAGENT = $(ENABLED)
63#ENABLE_DRACI = $(ENABLED)
64
65OBJS :=	nintendo64.o osys_n64_base.o osys_n64_events.o osys_n64_utilities.o pakfs_save_manager.o framfs_save_manager.o
66
67BACKEND := n64
68
69include $(srcdir)/Makefile.common
70
71MODULE_DIRS += ./
72
73all: $(TARGET).v64
74
75$(TARGET).v64: $(TARGET).bin ROMFS.img bootcode
76	cat bootcode $(TARGET).bin ROMFS.img > $(TARGET).v64
77	./pad_rom.sh $(TARGET).v64
78
79ROMFS.img:
80	genromfs -f ./ROMFS.img -d ./ROMFS -V romtest
81
82$(TARGET).elf: $(OBJS)
83	$(LD) -o $(TARGET).elf $(OBJS) $(LDFLAGS)
84
85$(TARGET).bin : $(TARGET).elf
86	$(OBJCOPY) $(TARGET).elf $(TARGET).bin -O binary
87
88spotless : distclean
89	$(RM) *.bin *.elf *.v64 *.img *.bak *.tmp *.map
90
91send: $(TARGET).v64
92	sudo ucon64 --xv64  $(TARGET).v64
93