PRG = term OBJ = main.o led.o 1wire.o MCU_TARGET = attiny13 OPTIMIZE = -Os # -mcall-prologues DEFS = -DF_CPU=9600000 LIBS = ASMFLAGS = AVRDUDE = avrdude -c usbasp -p $(MCU_TARGET) # You should not have to change anything below here. CC = avr-gcc # Override is only needed by avr-lib build system. override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS) -I/usr/avr/include -ffreestanding -fshort-enums -funsigned-bitfields -nostartfiles #-save-temps override LDFLAGS = -Wl,-Map,$(PRG).map OBJCOPY = avr-objcopy OBJDUMP = avr-objdump all: $(PRG).elf lst text #asm avr-size $(PRG).elf avr-size $(PRG).hex $(PRG).elf: $(OBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) #asm: usbdrvasm.S # $(CC) $(INCLUDES) $(CFLAGS) $(DEFS) $(ASMFLAGS) -c $< clean: rm -rf *.o $(PRG).elf *.eps *.png *.pdf *.bak rm -rf *.lst *.map $(EXTRA_CLEAN_FILES) lst: $(PRG).lst %.lst: %.elf $(OBJDUMP) -d $< > $@ # Rules for building the .text rom images text: hex #bin srec hex: $(PRG).hex bin: $(PRG).bin srec: $(PRG).srec %.hex: %.elf $(OBJCOPY) -j .text -j .data -O ihex $< $@ %.srec: %.elf $(OBJCOPY) -j .text -j .data -O srec $< $@ %.bin: %.elf $(OBJCOPY) -j .text -j .data -O binary $< $@ # Every thing below here is used by avr-libc's build system and can be ignored # by the casual user. FIG2DEV = fig2dev EXTRA_CLEAN_FILES = *.hex *.bin *.srec *.s *.i *~ dox: eps png pdf eps: $(PRG).eps png: $(PRG).png pdf: $(PRG).pdf %.eps: %.fig $(FIG2DEV) -L eps $< $@ %.pdf: %.fig $(FIG2DEV) -L pdf $< $@ %.png: %.fig $(FIG2DEV) -L png $< $@ program: install install: all $(AVRDUDE) -U flash:w:$(PRG).hex reset: $(AVRDUDE) fuses: $(AVRDUDE) -U lfuse:w:0x7a:m -B100