CC		= mips-linux-gcc
AS		= mips-linux-as
LD		= mips-linux-ld
MAKE		= make

CFLAGS		= -I. -O2 -DDEBUG
LDFLAGS		= -N -oformat ecoff-littlemips -Ttext 0x80600000

LIBOBJS		= console.o vsprintf.o ctype.o glue.o fprintf.o sleep.o \
		  dumptlb.o seek.o errno.o open.o close.o read.o write.o \
		  get_nlist.o getenv.o setenv.o unsetenv.o putenv.o printf.o \
		  stdfd.o malloc.o mallocinit.o mallocdebug.o __main.o

all:		dummy disk

ifeq (.depend,$(wildcard .depend))
include .depend
endif

disk:		hello
		mcopy -n hello a:

hello:		hello.o crt0.o libstand.a
		$(LD) -r -o tmp.o crt0.o hello.o libstand.a
		$(LD) $(LDFLAGS) -e __entry -o hello tmp.o
		-rm -f tmp.o

hello.o:	hello.c
		$(CC) $(CFLAGS) -c hello.c

crt0.o:		crt0.S
		$(CC) $(CFLAGS) -c crt0.S

libstand.a:	$(LIBOBJS)
		ar rcs libstand.a $(LIBOBJS)

glue.o:		glue.c $(LIB_HEADERS)
		$(CC) $(CFLAGS) -c glue.c

clean:
		-rm -f hello *.[os] *.bak

distclean:	clean
		-rm -f libstand.a

depend dep:
		for i in *.c;do echo -n "./";$(CPP) $(CFLAGS) -M $$i;done \
			> .tmpdepend
		mv .tmpdepend .depend

ifeq (.depend,$(wildcard .depend))
dummy:
	;
else
.depend:
	@echo "Generating dependencies..."
	@echo
	$(MAKE) depend
	@echo
	@echo "Successful. Try re-making (ignore the error that follows)"
	@echo
	exit 1

dummy:	.depend
	;
endif
