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}
+
+