# # Simple AVR Makefile # by Henri Nurmi a.k.a. Henkru @ http://soundslikeaplan.net # # Use: # PROJECT = Name of project. Example: LED_Blinker etc. # SOURCES = List all sources. Example: main.c foo.c asd.c etc. # MCU = Microcontroller. Example: atemga328p, attiny2313 etc. (avr-gcc) # PARTNO = AVR device for avrdude. # PROGRAMMER = Programmer type. (avrdude) # PORT = Connection port of programmer. # # "make all" compiling # "make load" upload program to device # PROJECT= SOURCES= MCU= PARTNO= PROGRAMMER=usbasp PORT=usb CC=avr-gcc OBJCOPY=avr-objcopy CFLAGS=-g -mmcu=$(MCU) -std=c99 -Wall -Wextra -Os all: $(PROJECT).hex help: @echo "Usage: make all|load|clean" $(PROJECT).hex: $(PROJECT).out $(OBJCOPY) -R .eeprom -O ihex $(PROJECT).out $(PROJECT).hex $(PROJECT).out: $(SOURCES) $(CC) $(CFLAGS) -o $(PROJECT).out $(SOURCES) load: $(PROJECT).hex avrdude -p $(PARTNO) -c $(PROGRAMMER) -P $(PORT) -e -y -U flash:w:$(PROJECT).hex clean: rm -f $(PROJECT).out rm -f $(PROJECT).hex