Simppeli Makefile AVR:lle

Vihdoin ja viimein, kun AVR projektit alkaa kasvamaan niin tarvetta Makefile:lle alkaa olemaan. Valmiinahan noita olisi, mutta suurin osa on haulikolla ampumista polveen. Yksinkertainen on kaunista. Käyttö pitäisi selvitä kommenteista. Se jaarittelusta.

#
# 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=
PORT=

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

Tai lataa mielummin tästä. Koska tabit pitää olla oikein. Btw, saatavana nyt myös RSS-feed.

This entry was posted in Lyhyet and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *