a500kbd

view Makefile @ 2:a4fd9c5a6655

first working version
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 17 Oct 2017 15:25:33 +0300
parents 3228a731d4db
children
line source
1 src = $(wildcard src/*.c)
2 obj = $(src:.c=.o)
3 bin = a500kbd
4 hex = $(bin).hex
5 eep = $(bin).eep
7 mcu_gcc = atmega168
8 mcu_dude = m168
10 CC = avr-gcc
11 OBJCOPY = avr-objcopy
13 CFLAGS = -Os -pedantic -Wall -mmcu=$(mcu_gcc) -DF_CPU=14745600
14 LDFLAGS = -Wl,-Map,$(bin).map -mmcu=$(mcu_gcc) -lprintf_min
16 .PHONY: all
17 all: $(hex) $(eep)
19 $(bin): $(obj)
20 $(CC) -o $@ $(obj) $(LDFLAGS)
22 $(hex): $(bin)
23 $(OBJCOPY) -j .text -j .data -O ihex -R .eeprom $< $@
25 $(eep): $(bin)
26 $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@
28 .PHONY: fuses
29 fuses:
30 avrdude -c usbtiny -p $(mcu_dude) -U lfuse:w:0xe6:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m
32 .PHONY: program
33 program: $(hex)
34 avrdude -c usbtiny -p $(mcu_dude) -e -U flash:w:$(hex)
36 .PHONY: clean
37 clean:
38 rm -f $(bin) $(obj) $(hex) $(eep) $(bin).map