TOPDIR=$(shell pwd)
ifdef HAVE_FLOAT
CFLAGS += -DHAVE_FLOAT -DFLOATINGPT
endif


CFLAGS := $(CFLAGS)  -DTEXT_ADDR=0x80010000 -g -fpic -fno-builtin -mips32 -DCPU_COUNT_PER_US=10 -I $(TOPDIR)/include -include common.h

PLATFORM_LIBS += -L $(shell dirname ` ${CROSS_COMPILE}gcc $(CFLAGS) -print-libgcc-file-name`)  -L  $(shell dirname ` ${CROSS_COMPILE}gcc $(CFLAGS) -print-file-name=libm.a`)  -lgcc

export TOPDIR AR CFLAGS

export CROSS_COMPILE ?= /opt/gcc-4.3-ls232-uclibc/bin/mipsel-linux-uclibc-
all: main.bin

libtinyc.a libtinyc64.a:
	make -C lib $(TOPDIR)/$@
#libm.a:
#	make -C libm $(TOPDIR)/$@

.SUFFIXES: .o64 .elf64 .bin64

%.elf:%.o start.o libtinyc.a #libm.a
	${CROSS_COMPILE}ld -static -g -T  bin.lds  -o $@ start.o $<  -L .  $(PLATFORM_LIBS) -lc -lm


%.bin:%.elf
	${CROSS_COMPILE}objcopy -O binary $< $@ 

%.elf64:%.o64 start64.o64 libtinyc64.a libm.a
	${CROSS_COMPILE}ld -g -T  bin64.lds -Ttext 0 -o $@ start64.o64 $<  -L . -ltinyc64 -lm


%.bin64:%.elf64
	${CROSS_COMPILE}objcopy -O binary $< $@ 

testbin:
	gcc -o testbin testbin.c
clean:
	rm -f *.o *.bin *.elf *.a testbin *.o64 *.bin64 *.elf64
	make -C lib clean
	make -C libm clean

-include rules.make
