CSRCS   = init.c main.c srv.c uart.c camera.c jpeg.c i2c.c stm_m25p32.c \
  xmodem.c colors.c edit.c malloc.c string.c spi.c c.c lisp.c srv1x.c
#lisp/apply.c lisp/flow.c lisp/gc.c lisp/io.c lisp/subr.c lisp/sym.c lisp/tab.c lisp/math.c lisp/lisp.c
ASMSRCS = r8x8dct.asm math.asm

CPUDEFINES = -D__ADSPBF537__ -D__ADSPLPBLACKFIN__
INCLUDES = -I../include
ASMFLAGS = -x assembler-with-cpp $(CPUDEFINES) $(INCLUDES)
CFLAGS = $(INCLUDES) -O2 -Wall -fomit-frame-pointer
CFLAGS += $(CPUDEFINES)

LDFLAGS = -T srv1.x -e 0xFFA00000

OBJS = $(CSRCS:%.c=%.o) $(ASMSRCS:%.asm=%.o) 

AS = bfin-elf-as.exe
CC = bfin-elf-gcc.exe
LD = bfin-elf-ld.exe
LDR = bfin-elf-ldr.exe

%.o: %.asm
	$(CC) $(ASMFLAGS) -c -o $@ $<

all:  srv1.bin srv1.ldr

srv1.bin: $(OBJS)
	$(LD) -T srv1.x  -Map srv1.map -O binary -o srv1.bin $(OBJS) 

main.o:  main.c srv.h ov9655.h uart.h xmodem.h i2c.h config.h
init.o:  init.c

srv1.ldr: srv1.bin init.o
	$(LDR) -f -T BF537 -c srv1.ldr --initcode init.o srv1.bin
    
clean:
	del *.o *.bin *.ldr 

