NAME = upgrade TARGET_ARCH = -mmcu=attiny85 OBJECTS = $(NAME).o timer0.o transmit.o CC = avr-gcc CFLAGS = -Os -g -Wall -Wstrict-prototypes -ffreestanding -fshort-enums -Wa,-adhln=$(basename $@).lst CFLAGS += -ffunction-sections CFLAGS += -fno-split-wide-types LDFLAGS = -g -Wl,--relax,--gc-sections attinyhost = mimas avrdudecmd = avrdude -cavrispv2 -P usb -pt85 avrdudecmd = avrdude -cusbtiny -pt85 avrdude = ssh -n root@$(attinyhost) $(avrdudecmd) all: $(NAME).hex tags clean: rm -f $(OBJECTS) $(OBJECTS:.o=.lst) $(clean) clean += $(NAME).elf $(NAME).elf: $(OBJECTS) $(LINK.o) -o $@ $(OBJECTS) @size $@ clean += $(NAME).hex $(NAME).hex: $(NAME).elf avr-objcopy -j .text -j .data -O ihex $(NAME).elf $(NAME).hex clean += program.h program.h: ../lamp/lamp.hex gen-program gen-program <$< >$@.tmp && mv $@.tmp $@ .dep: program.h disasm: $(NAME).elf avr-objdump -S $(NAME).elf | less flash: $(NAME).hex scp ../lamp/read-serial $(attinyhost):/tmp scp $(NAME).hex $(attinyhost):/tmp $(avrdude) -U flash:w:/tmp/$(NAME).hex lfuse: $(avrdude) -U lfuse:w:0x42:m hfuse: $(avrdude) -U hfuse:w:0xde:m efuse: $(avrdude) -U efuse:w:0xfe:m include ../common/epilogue.mk