NAME = lamp TARGET_ARCH = -mmcu=attiny85 OBJECTS = $(NAME).o timer0.o receive.o pwm1.o adc.o eeprom.o serial.o udelay.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 PROGRAM_BASE = 0x0480 LDFLAGS += -Wl,--section-start=.text=$(PROGRAM_BASE) 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 += write-serial-variables.h write-serial-variables.h.tmp write-serial-variables.h: read-serial ./read-serial -C >$@.tmp mv $@.tmp $@ .dep: write-serial-variables.h clean += write-serial-dump.h write-serial-dump.h.tmp write-serial-dump.h: read-serial ./read-serial -C -d >$@.tmp mv $@.tmp $@ .dep: write-serial-dump.h 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 disasm: $(NAME).elf avr-objdump -S $(NAME).elf | less flash: $(NAME).hex 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