X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=firmware%2FMakefile;h=3f4f4c6c9e637c36c7cee4b7a0ac39c3ffac5201;hb=2d44923e135a119fde31a7a50e5fcd3e400e4f41;hp=68d6f4c922be4ec5b8546e6c4a5cdca7e0339729;hpb=2e3ad91af312aaf20b10f1cbe6096cda7e8a97d1;p=r2c2.git diff --git a/firmware/Makefile b/firmware/Makefile index 68d6f4c..3f4f4c6 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -1,23 +1,46 @@ # $Id$ -MCU = atmega328p -CLOCK = 16000000 -CFLAGS = -Wall -Os -ffunction-sections -fdata-sections -mmcu=$(MCU) -DF_CPU=$(CLOCK) -LDFLAGS = -Os -Wl,--gc-sections -mmcu=$(MCU) +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 - avr-objcopy -O ihex $< $@ + $(OBJCOPY) -O ihex $< $@ %.elf: %.o - avr-gcc $(LDFLAGS) -o $@ $< + $(CC) $(LDFLAGS) -o $@ $^ %.o: %.c - avr-gcc -c $(CFLAGS) -o $@ $< + $(CC) -c $(CFLAGS) -o $@ $< upload-%: %.hex - avrdude -p$(MCU) -cstk500v1 -P/dev/ttyUSB0 -b57600 -D -Uflash:w:$<:i + $(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