ENVPATH=c:/VTOSSDK
DOSPATH=c:\VTOSSDK
APPTITLE="StdLib"
APP=StdLib
OBJS=obj/fnt.o obj/my_stdio.o obj/setjmp.o
OUTLIB=libstd.a
ZLIBOBJS=../zlib/adler32.o ../zlib/compress.o ../zlib/crc32.o ../zlib/uncompr.o \
	 ../zlib/deflate.o ../zlib/trees.o ../zlib/zutil.o ../zlib/inflate.o ../zlib/infblock.o \
	 ../zlib/inftrees.o ../zlib/infcodes.o ../zlib/infutil.o ../zlib/inffast.o
ifndef DOSPATH
ENVPATH=$(shell cd)
DOSPATH=$(subst /,\,$(ENVPATH))
endif

PROCESSOR=POSEIDON
ENDIAN=EL
INCLUDE1=$(ENVPATH)/include
INCLUDE2=$(ENVPATH)/compiler/gnu/include
LIB=$(ENVPATH)/lib
TOOLS=$(DOSPATH)\compiler\rcbin
GNU=$(DOSPATH)\compiler\gnu\bin

AS=$(GNU)\gcc -O2 -G0 -c -g -$(ENDIAN)
CC=$(GNU)\gcc -O2 -G0 -c -g -I$(INCLUDE1) -I$(INCLUDE2) -s -$(ENDIAN) -msoft-float -mno-abicalls -mips2
LD=$(GNU)\ld -n -warn-common -Map $(LIB)/link.map -$(ENDIAN)
AR=ar rc
RANLIB=ranlib


.PHONY : lib
lib: CFLAGS = -DPR31700
lib: exec

.PHONY : libinc
libinc: CFLAGS = -DPR31700 -DINCLUDED
libinc: exec

.PHONY : libtiny
libtiny: CFLAGS = -DPR31700 -DNOPROPORTIONAL
libtiny: exec

.PHONY : libwarn
libwarn: CFLAGS = -DPR31700 -Wall
libwarn: exec

.PHONY : exec
exec: $(OBJS) makelib

# Remove all objects.
.PHONY : clean
clean:
	echo y | del obj\*.*
	echo x > obj\obj.txt
	echo y | del libstd.a

obj/%.o: %.S
	echo Assembling $<
	$(AS) $(CFLAGS) $< -o $@

obj/%.o: %.c
	echo Compiling $<
	$(CC) $(CFLAGS) $< -o $@

.PHONY : makelib
makelib:
	$(AR) $(OUTLIB) $(OBJS) $(ZLIBOBJS)
	$(RANLIB) $(OUTLIB) 

