view BSDmakefile.arm @ 8:58d76cf522ff

Split out code into separate files.
author Daniel O'Connor <darius@dons.net.au>
date Sat, 04 Feb 2012 13:29:31 +1030
parents 74e9b3baac1e
children b62eaa3131b1
line wrap: on
line source

# Cribbed from http://stm32.spacevs.com/index.php?option=com_content&view=category&id=9&Itemid=103 (and others)

.SUFFIXES:	.bin .elf .hex .map .lst .dmp

.MAIN:		${PROG}.bin

TCHAIN=		${HOME}/sat/bin/arm-none-eabi
#TCHAIN=		arm-elf
#TCHAINSF=	-4.6

CC=		${TCHAIN}-gcc${TCHAINSF}
AS=		${TCHAIN}-gcc${TCHAINSF}
CXX=		${TCHAIN}-g++${TCHAINSF}
AR=		${TCHAIN}-ar${TCHAINSF}
OBJCOPY=	${TCHAIN}-objcopy${TCHAINSF}
GDB=		${TCHAIN}-gdb
RM=		rm -f

CFLAGS+=	${COMMONFLAGS}

LDFLAGS+=	${COMMONFLAGS}
LDFLAGS+=	-L$(LIBDIR) -nostartfiles -Wl,--gc-sections,-T${LINKFILE}

OBJS+=  	${SRCS:N*.h:R:S/$/.o/g}

.c.o:
		${CC} ${CFLAGS} ${CPPFLAGS} -Wa,-adhlns=${.PREFIX}.lst -c ${.IMPSRC} -o ${.PREFIX}.o

.s.o:
		${AS} ${CFLAGS} ${ASFLAGS} -c ${.IMPSRC} -o ${.PREFIX}.o

${PROG}.elf: ${OBJS}
		${CC} ${LDFLAGS} ${OBJS} -Wl,-Map=${PROG}.map,--cref -o ${PROG}.elf ${LDADD}

.elf.bin:
		${OBJCOPY} -O binary ${.ALLSRC} ${.TARGET}

clean:
		${RM} ${PROG}.hex ${PROG}.out ${PROG}.elf ${PROG}.bin ${PROG}.map ${OBJS} ${OBJS:S/.o/.lst/} ${PROG}.dmp

prog:
		/Users/darius/projects/stm32loader/stm32loader.py -p /dev/tty.usbserial -b 115200 -e -w -v ${PROG}.bin

#########################
#;;; Local Variables: ***
#;;; mode:makefile ***
#;;; End: ***