2015-06-13 23:44:21 -04:00
|
|
|
CC=avr-gcc
|
|
|
|
AS=$(CC)
|
|
|
|
LD=$(CC)
|
|
|
|
|
2015-10-17 23:21:01 -04:00
|
|
|
include Makefile.inc
|
|
|
|
|
2015-06-13 23:44:21 -04:00
|
|
|
PROGNAME=n64
|
|
|
|
OBJDIR=objs-$(PROGNAME)
|
|
|
|
CPU=atmega32u2
|
2015-10-17 23:21:01 -04:00
|
|
|
CFLAGS=-Wall -mmcu=$(CPU) -DF_CPU=16000000L -Os -DUART1_STDOUT -DVERSIONSTR=$(VERSIONSTR)
|
2015-06-13 23:44:21 -04:00
|
|
|
LDFLAGS=-mmcu=$(CPU) -Wl,-Map=$(PROGNAME).map
|
|
|
|
HEXFILE=$(PROGNAME).hex
|
|
|
|
|
|
|
|
all: $(HEXFILE)
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -f $(PROGNAME).elf $(PROGNAME).hex $(PROGNAME).map $(OBJS)
|
|
|
|
|
|
|
|
%.o: %.S
|
|
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
|
|
|
|
%.o: %.c
|
|
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
|
|
|
|
%.o: %.c %.h
|
|
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
|
|
|
|
$(PROGNAME).elf: $(OBJS)
|
|
|
|
$(LD) $(OBJS) $(LDFLAGS) -o $(PROGNAME).elf
|
|
|
|
|
|
|
|
$(PROGNAME).hex: $(PROGNAME).elf
|
|
|
|
avr-objcopy -j .data -j .text -O ihex $(PROGNAME).elf $(PROGNAME).hex
|
|
|
|
avr-size $(PROGNAME).elf
|
|
|
|
|
|
|
|
fuse:
|
|
|
|
|
|
|
|
flash: $(HEXFILE)
|
2015-09-09 22:56:21 -04:00
|
|
|
./enter_bootloader.sh
|
2015-06-13 23:44:21 -04:00
|
|
|
./wait_then_flash.sh $(CPU) $(HEXFILE)
|
|
|
|
|
2015-10-27 22:10:18 -04:00
|
|
|
justflash: $(HEXFILE)
|
|
|
|
./wait_then_flash.sh $(CPU) $(HEXFILE)
|
|
|
|
|
2015-06-13 23:44:21 -04:00
|
|
|
chip_erase:
|
|
|
|
dfu-programmer atmega32u2 erase
|
|
|
|
|
|
|
|
reset:
|
|
|
|
dfu-programmer atmega32u2 reset
|