voltmeter

annotate Makefile @ 1:40b150fedb0e

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 28 Jan 2013 09:52:15 +0200
parents
children
rev   line source
nuclear@0 1 src = $(wildcard *.c)
nuclear@0 2 obj = $(src:.c=.o)
nuclear@0 3 bin = voltmeter
nuclear@0 4 hex = $(bin).hex
nuclear@0 5 eep = $(bin).eep
nuclear@0 6
nuclear@0 7 mcu_gcc = atmega168
nuclear@0 8 mcu_dude = m168
nuclear@0 9
nuclear@0 10 CC = avr-gcc
nuclear@0 11 OBJCOPY = avr-objcopy
nuclear@0 12
nuclear@0 13 CFLAGS = -O2 -pedantic -Wall -mmcu=$(mcu_gcc)
nuclear@0 14 LDFLAGS = -Wl,-Map,$(bin).map -mmcu=$(mcu_gcc) -Wl,-u,vfprintf -lprintf_flt -lm
nuclear@0 15
nuclear@0 16 .PHONY: all
nuclear@0 17 all: $(hex) $(eep)
nuclear@0 18
nuclear@0 19 $(bin): $(obj)
nuclear@0 20 $(CC) -o $@ $(obj) $(LDFLAGS)
nuclear@0 21
nuclear@0 22 $(hex): $(bin)
nuclear@0 23 $(OBJCOPY) -j .text -j .data -O ihex -R .eeprom $< $@
nuclear@0 24
nuclear@0 25 $(eep): $(bin)
nuclear@0 26 $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@
nuclear@0 27
nuclear@0 28 .PHONY: program
nuclear@0 29 program: $(hex)
nuclear@0 30 avrdude -c usbtiny -p $(mcu_dude) -e -U flash:w:$(hex)
nuclear@0 31
nuclear@0 32 .PHONY: clean
nuclear@0 33 clean:
nuclear@0 34 rm -f $(bin) $(obj) $(hex) $(eep) $(bin).map