TOPDIR=$(shell pwd)
#LS1A=1
#HAVE_FLOAT=1

ifdef HAVE_FLOAT
CFLAGS += -DHAVE_FLOAT -DFLOATINGPT
endif

ifdef LS1A
CFLAGS += -DLS1FSOC -DCPU_MULT=9 -DDDR_MULT=4 -DAPB_CLK=33333333
endif

CFLAGS := $(CFLAGS)  -fno-builtin -mips32 -DCPU_COUNT_PER_US=10 -I $(TOPDIR)/include -include common.h

export TOPDIR AR CFLAGS

export CROSS_COMPILE ?= mipsel-linux-
all: main.elf main.bin

upload:
	ejtag_debug_usb.exe -e 'putelf main.elf;q;'
gdbserver:
	/cygdrive/c/windows/system32/cmd.exe /c "start c:\cygwin\bin\ejtag_debug_usb.exe -e 'gdbserver;'"  

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 -g -T  bin.lds  -o $@ start.o $<  -L . -ltinyc -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
