IDIR =-I./src/includes -I../includes
ODIR=obj
SDIR=src
OBJS = \
	start.o		\
	vectors.o	\
	main.o

OBJ = $(patsubst %,$(ODIR)/%,$(OBJS))

OBJFILENAME=example
CFLAGS=-O2 -g -Wall -mcpu=51qe $(IDIR)
CC=m68k-elf-gcc
OBJDUMP=m68k-elf-objdump
OBJCOPY=m68k-elf-objcopy

# Append a symbol definition if we're compiling for flash.
flash: CFLAGS+=-D__IN_FLASH=1

# was in next line at end: $(DEPS)
$(ODIR)/%.o: $(SDIR)/%.c
		$(CC) $(CFLAGS) -c -o $@ $^
$(ODIR)/%.o: $(SDIR)/%.s
		$(CC) $(CFLAGS) -c -o $@ $^
$(ODIR)/%.o: $(SDIR)/%.sx
		$(CC) $(CFLAGS) -c -o $@ $^

flash: $(OBJ)
	$(CC) $(CFLAGS) -nostartfiles -o $(OBJFILENAME) -T linkerscript-flash.ld $(OBJ)
	cp $(OBJFILENAME) $(OBJFILENAME).elf
	mv $(OBJFILENAME) $(OBJFILENAME).flash
	$(OBJCOPY) -O srec $(OBJFILENAME).flash

ram: $(OBJ)
	$(CC) $(CFLAGS) -nostartfiles -o $(OBJFILENAME) -T linkerscript-ram.ld $(OBJ)
	cp $(OBJFILENAME) $(OBJFILENAME).elf
	mv $(OBJFILENAME) $(OBJFILENAME).ram
	$(OBJCOPY) -O srec $(OBJFILENAME).ram


clean:
	rm -f $(OBJFILENAME) $(OBJFILENAME).elf $(ODIR)/*

disassemble:
	$(OBJDUMP) --source $(OBJFILENAME).elf

program: devCheck fileCheck
	@echo "Erasing..."
	@echo -n "5" >> $(dev)
	@sleep 2
	@echo "Programming..."
	@echo -n "2" >> $(dev)
	@sleep 0.1
	./xmit_srec.sh $(dev) $(file)

devCheck:
ifndef dev
	@echo "Defaulting to /dev/ttyUSB0"
dev=/dev/ttyUSB0
endif

fileCheck:
ifndef file
	@echo "Defaulting to meter.flash"
file=meter.flash
endif

