n64-sdk-demo
n64-sdk-demo copied to clipboard
Implement Linux support without WINE
I was able to get this working on the toolchain in the n64sdkmod repository for linux by making some modifications to the Makefile.
This should be included by default, here, as this demo is superrr helpful.
Here's the Makefile that I used to get this going:
# squaresdemo Makefile
# this is just the standard nusystem makefile
include $(ROOT)/usr/include/make/PRdefs
NUSYSINCDIR = /usr/include/n64/nusys
NUSYSLIBDIR = /usr/lib/n64/nusys
LIB = $(ROOT)/usr/lib
LPR = $(LIB)/PR
INC = $(ROOT)/usr/include
LCDEFS = -DNU_DEBUG -DF3DEX_GBI_2
LCINCS = -I. -I$(NUSYSINCDIR) -I$(ROOT)/usr/include/PR
LCOPTS = -G 0
LDIRT = $(APP)
LDFLAGS = $(MKDEPOPT) -L$(LIB) -L$(NUSYSLIBDIR) -lnusys_d -lultra_d -L$(N64_LIBGCCDIR) -lgcc -L$(N64_NEWLIBDIR) -lc
OPTIMIZER = -g
APP = squaresdemo.out
TARGETS = squaresdemo.n64
HFILES = graphic.h
CODEFILES = main.c stage00.c graphic.c gfxinit.c
CODEOBJECTS = $(CODEFILES:.c=.o) $(NUSYSLIBDIR)/nusys.o
DATAFILES =
DATAOBJECTS = $(DATAFILES:.c=.o)
CODESEGMENT = codesegment.o
OBJECTS = $(CODESEGMENT) $(DATAOBJECTS)
default: $(TARGETS)
include $(COMMONRULES)
$(CODESEGMENT): $(CODEOBJECTS) Makefile
$(LD) -o $(CODESEGMENT) -r $(CODEOBJECTS) $(LDFLAGS)
$(TARGETS): $(OBJECTS)
$(MAKEROM) spec -s32 -I$(NUSYSINCDIR) -r $(TARGETS) -e $(APP)
makemask $(TARGETS)