# Note:
# This Makefile is for GNU compiler in UNIX
# You have to change this for PC environment. Sorry.
#
# 'makdfile.mak' is a sample Makefile in PC environment.
# It must help you to convert this Makefile
#
LIBDIR   = ../../../lib
INCDIR   = ../../../include
MAKE	 = make
TADDR	 = 80010000
CC       = cc -EL -G 0 -O2
# CC       = gcc-el -Wall -G 0 -O3
CFLAGS   = -I$(INCDIR)
RM       = rm -f
RM_CMD   = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
DEPEND   = makedepend
LIBS     = -L$(LIBDIR) -lspu -lcd -lpress -lgpu -lgte -letc -lc -lapi

SRCS  = tuto1.c tuto2.c
OBJS1 = tuto1.o
OBJS2 = tuto2.o

DATA_ADDR = 0x800a0000
DATA_SIZE = 0x7a000

PROGRAMS = tuto1 tuto2

all::	$(PROGRAMS)

tuto1:	$(OBJS1) balltex.h sin.h $(LIBDIR)/libspu.a
	ld -EL -N -T $(TADDR) -e main -o $@ $(OBJS1) $(LIBS)

tuto2:	$(OBJS2) sin.h $(LIBDIR)/libspu.a
	ld -EL -N -T $(TADDR) -e main -o $@ $(OBJS2) $(LIBS)

clean::
	$(RM) $(PROGRAMS)
	$(RM_CMD) "#"*

depend::
	$(DEPEND) $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(CFLAGS) -- $(SRCS)


load_vb:
	psx
	psx smon
	sleep 1
	bload tr1l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR)"`
	bload tr1r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE)"`
	bload tr2l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 2"`
	bload tr2r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 3"`
	bload tr3l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 4"`
	bload tr3r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 5"`
	bload tr4l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 6"`
	bload tr4r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 7"`
	bload tr5l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 8"`
	bload tr5r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 9"`
	bload tr6l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 10"`
	bload tr6r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 11"`
	bload tr7l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 12"`
	bload tr7r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 13"`
	squit
	@echo -n 

load_vb2:
	psx
	psx smon
	sleep 1
	bload tr1l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR)"`
	bload tr1r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE)"`
	squit
	@echo -n 

load_vb8:
	psx
	psx smon
	sleep 1
	bload tr1l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR)"`
	bload tr1r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE)"`
	bload tr2l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 2"`
	bload tr2r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 3"`
	bload tr3l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 4"`
	bload tr3r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 5"`
	bload tr4l_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 6"`
	bload tr4r_pad.vb `perl -e "printf \"%x\", $(DATA_ADDR) + $(DATA_SIZE) * 7"`
	squit
	@echo -n 

load:
	psx smon
	sleep 1
	aload main
	squit

start:
	psx ""
	make load
	psx "sr sp 807ffff0"
	psx "call"

clear::
	$(RM) *~

# -------------------------------------------------------------------------
# dependencies generated by makedepend
# DO NOT DELETE

tuto1.o: ../../../include/sys/types.h ../../../include/libetc.h
tuto1.o: ../../../include/libgte.h ../../../include/libgpu.h
tuto1.o: ../../../include/libspu.h balltex.h
tuto2.o: ../../../include/sys/types.h ../../../include/libetc.h
tuto2.o: ../../../include/libgte.h ../../../include/libgpu.h
tuto2.o: ../../../include/libcd.h ../../../include/r3000.h
tuto2.o: ../../../include/asm.h ../../../include/kernel.h
tuto2.o: ../../../include/libspu.h
