| author | darius@Inchoate |
| Mon, 19 Jan 2009 22:54:19 +1030 | |
| changeset 71 | 553c061fda7c |
| parent 20 | 59c7fcf10ea0 |
| permissions | -rw-r--r-- |
| darius@14 | 1 |
# |
| darius@14 | 2 |
# $Id$ |
| darius@14 | 3 |
# |
| darius@14 | 4 |
|
| darius@2 | 5 |
.SUFFIXES: .hex .out .c .o .elf .dmp .s |
| darius@2 | 6 |
|
| darius@34 | 7 |
# Otherwise we get -march=foo |
| darius@34 | 8 |
NO_CPU_CFLAGS= |
| darius@34 | 9 |
_CPUCFLAGS= |
| darius@34 | 10 |
|
| darius@2 | 11 |
# Programs |
| darius@2 | 12 |
AS=avr-as |
| darius@2 | 13 |
CC=avr-gcc |
| darius@2 | 14 |
OBJCOPY=avr-objcopy |
| darius@2 | 15 |
OBJDUMP=avr-objdump |
| darius@2 | 16 |
|
| darius@2 | 17 |
CPPFLAGS+=-Wa,-adhlmsn=${<:S/.c/.lst/}
|
| darius@2 | 18 |
|
| darius@18 | 19 |
MCU?=at90s8515 |
| darius@2 | 20 |
CFLAGS+=-mmcu=${MCU}
|
| darius@2 | 21 |
|
| darius@2 | 22 |
LDFLAGS+=-Wl,-Map=${PROG}.map,--cref
|
| darius@2 | 23 |
LDFLAGS+=${LDADD}
|
| darius@2 | 24 |
|
| darius@2 | 25 |
RM=rm -f |
| darius@2 | 26 |
|
| darius@2 | 27 |
PROGRAMMER=avrdude |
| darius@34 | 28 |
PROGOPTS?=-p ${PART} -c alf -E vcc,noreset -q
|
| darius@2 | 29 |
|
| darius@2 | 30 |
.if !defined(SRCS) |
| darius@2 | 31 |
SRCS= ${PROG}.c
|
| darius@2 | 32 |
.endif |
| darius@2 | 33 |
|
| darius@2 | 34 |
OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
|
| darius@2 | 35 |
|
| darius@2 | 36 |
all: ${PROG}.hex ${PROG}.dmp
|
| darius@2 | 37 |
|
| darius@2 | 38 |
.c.o: |
| darius@2 | 39 |
${CC} ${CFLAGS} ${CPPFLAGS} -c ${.IMPSRC} -o ${.PREFIX}.o
|
| darius@2 | 40 |
|
| darius@2 | 41 |
${PROG}.elf: ${OBJS}
|
| darius@2 | 42 |
${CC} ${CFLAGS} ${LDFLAGS} -g ${OBJS} -o ${PROG}.elf ${LDADD}
|
| darius@2 | 43 |
|
| darius@2 | 44 |
.elf.hex: |
| darius@20 | 45 |
${OBJCOPY} -j .text -j .data -j .bss -j .noinit -O ihex $> $@
|
| darius@2 | 46 |
|
| darius@2 | 47 |
.elf.dmp: |
| darius@2 | 48 |
${OBJDUMP} -S ${.IMPSRC} > ${.PREFIX}.dmp
|
| darius@2 | 49 |
|
| darius@2 | 50 |
clean: |
| darius@6 | 51 |
${RM} ${PROG}.hex ${PROG}.out ${PROG}.elf ${PROG}.map ${OBJS} ${OBJS:S/.o/.lst/} ${PROG}.dmp
|
| darius@2 | 52 |
|
| darius@2 | 53 |
prog: all |
| darius@2 | 54 |
${PROGRAMMER} -U flash:w:${PROG}.hex ${PROGOPTS}
|
| darius@2 | 55 |
|
| darius@2 | 56 |