equal
deleted
inserted
replaced
1 PROG = hello |
1 PROG = hello |
2 # console |
2 # console |
3 # dmx |
3 # dmx |
4 |
4 |
5 all: $(PROG).hex |
5 HEX = build/src/$(PROG).hex |
|
6 |
|
7 all: $(HEX) |
6 |
8 |
7 build: |
9 build: |
8 mkdir -p build/ |
10 mkdir -p build/src |
9 |
11 |
10 ## Compiler |
12 ## Compiler |
11 MCU = atmega328p |
13 MCU = atmega328p |
12 |
14 |
13 # CPU clock frequency |
15 # CPU clock frequency |
15 |
17 |
16 CC = avr-gcc |
18 CC = avr-gcc |
17 CPPFLAGS = -DF_CPU=$(CPU)UL |
19 CPPFLAGS = -DF_CPU=$(CPU)UL |
18 CFLAGS = -g -mmcu=$(MCU) -Os |
20 CFLAGS = -g -mmcu=$(MCU) -Os |
19 |
21 |
20 %.elf: %.c |
22 build/%.elf: %.c |
21 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $*.c |
23 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $*.c |
22 $(CC) -MM $(CPPFLAGS) -MT $@ -MF build/$*.d $*.c |
24 $(CC) -MM $(CPPFLAGS) -MT $@ -MF build/$*.d $*.c |
23 |
25 |
24 # existing .d files for rebuilding existing .o's |
26 # existing .d files for rebuilding existing .o's |
25 -include $(wildcard build/*.d) |
27 -include $(wildcard build/*.d) |
26 |
28 |
27 %.hex: %.elf |
29 build/%.hex: build/%.elf |
28 avr-objcopy -O ihex -R .eeprom $< $@ |
30 avr-objcopy -O ihex -R .eeprom $< $@ |
29 |
31 |
30 .PRECIOUS: %.elf |
32 .PRECIOUS: build/%.elf |
31 |
33 |
32 ## Assembler |
34 ## Assembler |
33 AS = avra |
35 AS = avra |
34 ASFLAGS = |
36 ASFLAGS = |
35 |
37 |
56 AD_PORT = /dev/arduino |
58 AD_PORT = /dev/arduino |
57 |
59 |
58 AD = avrdude |
60 AD = avrdude |
59 ADFLAGS = -p $(AD_PART) -c $(AD_PROG) -b $(AD_BAUD) -P $(AD_PORT) |
61 ADFLAGS = -p $(AD_PART) -c $(AD_PROG) -b $(AD_BAUD) -P $(AD_PORT) |
60 |
62 |
61 upload: $(PROG).hex |
63 upload: $(HEX) |
62 $(AD) $(ADFLAGS) -U flash:w:$< |
64 $(AD) $(ADFLAGS) -U flash:w:$< |
63 |
65 |
64 ## Console |
66 ## Console |
65 SERIAL_BAUD = 9600 |
67 SERIAL_BAUD = 9600 |
66 SERIAL_FLOW = n |
68 SERIAL_FLOW = n |