
LD=mipsel-unknown-elf-ld
CC=mipsel-unknown-elf-gcc
AS=mipsel-unknown-elf-as
DU=mipsel-unknown-elf-objdump

OBJS=giet.o \
     reset.o \
	 isr.o \
	 main0.o \
	 main1.o \
	 main2.o \
	 main3.o \
	 stdio.o \
	 drivers.o \

GIET?=../../giet

CFLAGS=-Wall -ffreestanding -fomit-frame-pointer -mips32 -ggdb

bin.soft: $(OBJS) ldscript
	$(LD) -o $@ -T ldscript $(OBJS)
	$(DU) -D $@ > $@.txt

reset.o: reset.s
	$(AS) -mips32 -o $@ $<

giet.o: $(GIET)/giet.s
	$(AS) -mips32 -o $@ $<

isr.o: $(GIET)/isr.s
	$(AS) -mips32 -o $@ $<

stdio.o: $(GIET)/stdio.c
	$(CC) $(CFLAGS) -c -o $@ $<
	$(DU) -D $@ > $@.txt

drivers.o: $(GIET)/drivers.c
	$(CC) $(CFLAGS) -c -o $@ $<
	$(DU) -D $@ > $@.txt

main0.o: main0.c
	$(CC) $(CFLAGS) -I$(GIET) -c -o $@ $<
	$(DU) -D $@ > $@.txt

main1.o: main1.c
	$(CC) $(CFLAGS) -I$(GIET) -c -o $@ $<
	$(DU) -D $@ > $@.txt

main2.o: main2.c
	$(CC) $(CFLAGS) -I$(GIET) -c -o $@ $<
	$(DU) -D $@ > $@.txt

main3.o: main3.c
	$(CC) $(CFLAGS) -I$(GIET) -c -o $@ $<
	$(DU) -D $@ > $@.txt

clean:
	rm -f *.o bin.soft *.txt core *~
