SRC_DIR = .

INC_DIR = .

LINKER_SCRIPT = elf32coffee_fpga.x

COMP_OPT = -v -O0 -Wall 

CC = /usr/oma/garzia/local/coffee-tools/coffee-gcc-3.4.4/bin/coffee-gcc

AS = /usr/oma/garzia/local/coffee-tools/coffee-gcc-3.4.4/bin/coffee-as

OBJCOPY = /usr/oma/garzia/local/coffee-tools/coffee-gcc-3.4.4/bin/coffee-objcopy

OBJDUMP = /usr/oma/garzia/local/coffee-tools/coffee-gcc-3.4.4/bin/coffee-objdump


BIN2LOAD = bin2load

## Compilation rules

default:
cube:		demos
	$(OBJCOPY) --only-section=.text -O binary demos demo_ts_cube
	$(OBJCOPY) --only-section=.data -O binary demos demo_ds_cube
	$(OBJDUMP) -h demos
	-rm -f demo_ts_cube.bin
	-rm -f demo_ds_cube.bin
	$(BIN2LOAD) demo_ts_cube
	$(BIN2LOAD) demo_ds_cube

nurbs:		demon
	$(OBJCOPY) --only-section=.text -O binary demon demo_ts_nurbs
	$(OBJCOPY) --only-section=.data -O binary demon demo_ds_nurbs
	$(OBJDUMP) -h demon
	-rm -f demo_ts_nurbs.bin
	-rm -f demo_ds_nurbs.bin
	$(BIN2LOAD) demo_ts_nurbs
	$(BIN2LOAD) demo_ds_nurbs

demon:	demon.o 
	$(CC) -T$(LINKER_SCRIPT) -nostdlib demon.o -o demon

demos: demos.o 
	$(CC) -T$(LINKER_SCRIPT) -nostdlib demos.o -o demos

demos.o:demo_single_file.s
	$(AS) -m demo.s -o demos.o

demon.o:demo_nurbs.s
	$(AS) -m demon.s -o demon.o

demo_single_file.s:
	$(CC) -S $(MILK_OPT) $(COMP_OPT) -I$(INC_DIR) demo_single_file.c

demo_nurbs.s:
	$(CC) -S $(MILK_OPT) $(COMP_OPT) -I$(INC_DIR) demo_nurbs.c

clean: 
	-rm -f demo_single_file.s
	-rm -f demo_nurbs.s
	-rm -f demos	
	-rm -f demon	
	-rm -f demo	
	-rm -f *.o *~
