Mercurial > ~darius > hgwebdir.cgi > avr-lib
diff Makefile.avr @ 0:3879f487b661
Initial commit of routines I copy and paste.
Need work to make them more portable (esp cons)
author | darius@Inchoate |
---|---|
date | Wed, 11 Mar 2009 16:42:27 +1030 |
parents | |
children | f5022e20d550 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile.avr Wed Mar 11 16:42:27 2009 +1030 @@ -0,0 +1,57 @@ +# +# $Id$ +# + +.SUFFIXES: .hex .out .c .o .elf .dmp .s + +# Otherwise we get -march=foo +NO_CPU_CFLAGS= +_CPUCFLAGS= + +# Programs +AS=avr-as +CC=avr-gcc +OBJCOPY=avr-objcopy +OBJDUMP=avr-objdump + +# Tell as to generate listings +CPPFLAGS+=-Wa,-adhlmsn=${<:S/.c/.lst/} + +MCU?=at90s8515 +CFLAGS+=-mmcu=${MCU} + +LDFLAGS+=-Wl,-Map=${PROG}.map,--cref +LDFLAGS+=${LDADD} + +RM=rm -f + +PROGRAMMER=avrdude +PROGOPTS?=-p ${PART} -c alf -E vcc,noreset -q + +.if !defined(SRCS) +SRCS= ${PROG}.c +.endif + +OBJS+= ${SRCS:N*.h:R:S/$/.o/g} + +all: ${PROG}.hex ${PROG}.dmp + +.c.o: + ${CC} ${CFLAGS} ${CPPFLAGS} -c ${.IMPSRC} -o ${.PREFIX}.o + +${PROG}.elf: ${OBJS} + ${CC} ${CFLAGS} ${LDFLAGS} -g ${OBJS} -o ${PROG}.elf ${LDADD} + +.elf.hex: + ${OBJCOPY} -j .text -j .data -j .bss -j .noinit -O ihex $> $@ + +.elf.dmp: + ${OBJDUMP} -S ${.IMPSRC} > ${.PREFIX}.dmp + +clean: + ${RM} ${PROG}.hex ${PROG}.out ${PROG}.elf ${PROG}.map ${OBJS} ${OBJS:S/.o/.lst/} ${PROG}.dmp + +prog: all + ${PROGRAMMER} -U flash:w:${PROG}.hex ${PROGOPTS} + +