You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.8 KiB
67 lines
1.8 KiB
# Makefile |
|
|
|
DEVICE = attiny88 |
|
CLOCK = 4000000 |
|
PROGRAMMER = -c buspirate -P /dev/ttyUSB0 |
|
OBJECTS = reflow.o display.o font.o i2c.o menu.o spi.o therm.o timer.o config.o beep.o control.o fields.o profile.o |
|
SRC = $(OBJECTS:%.o=%.c) |
|
#FUSES = -U lfuse:w:0xEC:m -U hfuse:w:0xDF:m -U efuse:w:0xFF:m -U lock:w:0xFF:m |
|
FUSES = -U lfuse:w:0xEC:m -U hfuse:w:0xDF:m -U efuse:w:0x07:m |
|
|
|
# For computing fuse byte values for other devices and options see |
|
# the fuse bit calculator at http://www.engbedded.com/fusecalc/ |
|
|
|
#AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE) |
|
AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE) -V |
|
# Don't use -Werror in the link stage to avoid a compiler bug which is fixed in gcc 4.8.3 |
|
CFLAGS = -Werror |
|
COMPILE = avr-gcc -std=c99 -Wall -Wl,-Map,$@.map -Os -g -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) -mcall-prologues -flto -fuse-linker-plugin |
|
|
|
# symbolic targets: |
|
all: reflow.hex |
|
|
|
.c.o: |
|
$(COMPILE) $(CFLAGS) -c $< -o $@ |
|
|
|
.S.o: |
|
$(COMPILE) -x assembler-with-cpp -c $< -o $@ |
|
|
|
.c.s: |
|
$(COMPILE) $(CFLAGS) -S $< -o $@ |
|
|
|
flash: |
|
$(AVRDUDE) -U flash:w:reflow.hex:i |
|
|
|
fuse: |
|
$(AVRDUDE) $(FUSES) |
|
|
|
install: all flash fuse |
|
|
|
# if you use a bootloader, change the command below appropriately: |
|
load: all |
|
bootloadHID reflow.hex |
|
|
|
clean: |
|
rm -f reflow.hex reflow.elf $(OBJECTS) |
|
|
|
# file targets: |
|
#reflow.elf: $(SRC) |
|
# $(COMPILE) $(LDFLAGS) -o reflow.elf $(SRC) |
|
|
|
reflow.elf: $(OBJECTS) |
|
$(COMPILE) $(LDFLAGS) -o reflow.elf $(OBJECTS) |
|
|
|
reflow.hex: reflow.elf |
|
rm -f reflow.hex |
|
avr-objcopy -j .text -j .data -O ihex reflow.elf reflow.hex |
|
avr-size --format=avr --mcu=$(DEVICE) reflow.elf |
|
# If you have an EEPROM section, you must also create a hex file for the |
|
# EEPROM and add it to the "flash" target. |
|
|
|
# Targets for code debugging and analysis: |
|
disasm: reflow.elf |
|
avr-objdump -d reflow.elf |
|
|
|
cpp: |
|
$(COMPILE) -E reflow.c |
|
|
|
|