+++ /dev/null
-MCU := atmega328p
-CLOCK := 16000000
-CC := avr-gcc
-FEATURES := LCD_SHIFTREG LCD_ASYNC
-CFLAGS := -Wall -Os -ffunction-sections -fdata-sections -mmcu=$(MCU) -DF_CPU=$(CLOCK) $(patsubst %,-D%,$(FEATURES))
-LDFLAGS := -Os -Wl,--gc-sections -mmcu=$(MCU)
-AVRDUDE := avrdude
-OBJCOPY := avr-objcopy
-ifeq ($(MCU),atmega168)
-BAUD := 19200
-else
-BAUD := 57600
-endif
-
-help:
- @echo "Targets:"
- @echo " %.hex: Build firmware from %.c"
- @echo " upload-%: Upload firmware to AVR"
- @echo " clean: Clean all built files"
- @echo
- @echo "Variables:"
- @echo " MCU: Microcontroller type"
- @echo " Arduino Duemilanove = atmega328p (default)"
- @echo " Arduino Mini = atmega168"
-
-%.hex: %.elf
- $(OBJCOPY) -O ihex $< $@
-
-%.elf: %.o
- $(CC) $(LDFLAGS) -o $@ $^
-
-%.o: %.c
- $(CC) -c $(CFLAGS) -o $@ $<
-
-upload-%: %.hex
- $(AVRDUDE) -p$(MCU) -carduino -P/dev/ttyUSB0 -b$(BAUD) -D -Uflash:w:$<:i
-
-clean:
- $(RM) *.hex
- $(RM) *.elf
- $(RM) *.o
-
-s88w-t.elf: serial.o timer.o eeprom.o
-s88w-r.elf: serial.o lcd.o timer.o