Makefile
changeset 47 7f930a94ee1e
parent 45 7c684d241675
child 48 50dc2f4d90fd
--- 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)