--- a/Makefile Tue Aug 02 09:27:19 2011 +0300
+++ b/Makefile Wed Apr 02 19:10:05 2014 +0300
@@ -1,6 +1,47 @@
+PROG = hello
+# console
+# dmx
+
+all: $(PROG).hex
+
+## Compiler
+MCU = atmega328p
+
+# CPU clock frequency
+CPU = 16000000
+
+CC = avr-gcc
+CFLAGS = -g -mmcu=$(MCU) -DF_CPU=$(CPU)UL -Os
+
+%.elf: %.c
+ $(CC) $(CFLAGS) -o $@ $+
+
+%.hex: %.elf
+ avr-objcopy -O ihex -R .eeprom $< $@
+
+.PRECIOUS: %.elf
+
+## Assembler
AS = avra
ASFLAGS =
+matrix.hex: spi.inc matrix.inc timer.inc delay.inc macros.inc font.inc font.def
+led7seg.hex: spi.inc led7seg.inc adc.inc timer.inc delay.inc macros.inc
+timer.hex: timer.inc macros.inc
+
+%.hex: %.s
+ $(AS) $(ASFLAGS) $<
+ mv $<.hex $@
+
+# fonts
+font.inc: font.def
+
+font.def: font.txt font-compile.py
+ python font-compile.py $< $@ > /dev/null
+
+
+## Flashing
+# Arduino Duemilanove
AD_PART = m328p
AD_PROG = arduino
AD_BAUD = 57600
@@ -9,26 +50,10 @@
AD = avrdude
ADFLAGS = -p $(AD_PART) -c $(AD_PROG) -b $(AD_BAUD) -P $(AD_PORT)
-PROG = dmx
-
-all: $(PROG).hex
-
-matrix.hex: spi.inc matrix.inc timer.inc delay.inc macros.inc font.inc font.def
-led7seg.hex: spi.inc led7seg.inc adc.inc timer.inc delay.inc macros.inc
-timer.hex: timer.inc macros.inc
-
-font.inc: font.def
-
-%.hex: %.s
- $(AS) $(ASFLAGS) $<
- mv $<.hex $@
-
-font.def: font.txt font-compile.py
- python font-compile.py $< $@ > /dev/null
-
upload: $(PROG).hex
$(AD) $(ADFLAGS) -U flash:w:$<
+## Console
SERIAL_BAUD = 9600
SERIAL_FLOW = n
SERIAL_PARITY = n
@@ -38,6 +63,6 @@
SERIAL_TERM = picocom
SERIAL_FLAGS = -b $(SERIAL_BAUD) -f $(SERIAL_FLOW) -p $(SERIAL_PARITY) -d $(SERIAL_BITS)
-chat:
+console:
$(SERIAL_TERM) $(SERIAL_FLAGS) $(SERIAL_PORT)