#!smake -k
# NES Emulator for Nintendo 64
# Copyright 1999-2002 Nintendo

include $(ROOT)/usr/include/make/PRdefs

OPTIMIZER=

MAKEMASK =	$(ROOT)/usr/sbin/makemask
MAKEROM =	$(ROOT)/usr/sbin/makerom

CODEFILES   =	main.c sequence.c ks_nes.c

APP =
TARGET =	rom
ORIGROM =	rom.nomask

TEXHFILES =
HFILES =

CODEAUDIO   =	audio/audio.o

CODEOBJECTS = $(CODEAUDIO) $(CODEFILES:.c=.o) $(ASMCODEFILES:.s=.o)
CODESEGMENT =	codesegment.o
DATAOBJECTS =	$(DATAFILES:.c=.o)
OBJECTS =	$(CODESEGMENT) $(DATAOBJECTS)

#LDFLAGS =	$(MKDEPOPT) -L$(ROOT)/usr/lib -lultra_d
LDFLAGS =	-L$(ROOT)/usr/lib -lultra_d

GPOPTS = -G0

LCDEFS =
LCINCS =	-I. -I$(ROOT)/usr/include
LCOPTS =	-Xcpluscomm -float -xansi -fullwarn -non_shared $(GPOPTS) -prototypes -signed
CSTYLE_32_M2 =	-mips2 -o32
LD =		$(ROOT)/usr/lib/PR/nld
CFLAGS =  -I. -I$(ROOT)/usr/include -Xcpluscomm -float -xansi -fullwarn -non_shared -G0 -prototypes -signed  -Wab,-r4300_mul -nostdinc -I$(ROOT)/usr/include 

LDIRT  =	$(APP) $(TEXHFILES) $(TARGET) $(ORIGROM) wave *~ \
		linkmap rommap

# ----------------------------------------------------------------
default:	$(TARGET)

include 	$(COMMONRULES)

.c.o:
	$(CC) $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)

$(CODESEGMENT):	$(CODEOBJECTS) Makefile $(CODEAUDIO) librfc.a
		$(LD) $(GPOPTS) -gpinfo -elsmap -o32 -m -mips2 -o $(CODESEGMENT) -r $(CODEOBJECTS) -L. -lrfc $(LDFLAGS) > linkmap

# pad file to 9Mbit
$(TARGET):	$(ORIGROM)
	cat $(ORIGROM) > rom.nopad
	./binpad 9 rom.nopad $(TARGET)
	$(MAKEMASK) $(TARGET)

$(ORIGROM):	spec $(OBJECTS) Makefile
	$(MAKEROM) -m -r $(ORIGROM) spec > rommap

main.o sequence.o ks_nes.o: common.h ks_nes.h ks_rfc.inc

# Do "make clean recover" instead of "make clean"
recover:
	-rm -f $(DIRT)
	cp audio/audio.o.keep audio/audio.o
	cp asmrfc.o.keep asmrfc.o
	cp librfc.a.keep librfc.a

