view nuc-fw/finlink/Makefile @ 92:f459043fae0c

nuc-fw config: ld script generation implemented
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 25 Aug 2013 21:20:20 +0000
parents 147861b15cda
children 789a9a95533f
line wrap: on
line source

CC=	arm-elf-gcc
LD=	arm-elf-ld
OBJCOPY=arm-elf-objcopy

RAM_TARGET=	ramImage.srec

LIBC_A=		`${CC} -print-file-name=libc.a -mthumb-interwork`
LIBC_T=		`${CC} -print-file-name=libc.a -mthumb-interwork -mthumb`
LIBGCC_A=	`${CC} -print-file-name=libgcc.a -mthumb-interwork`
LIBGCC_T=	`${CC} -print-file-name=libgcc.a -mthumb-interwork -mthumb`

LOCAL_LIBS=	../nucleus/libplus.iram.a ../nucleus/libplus.xip.a \
		../sprintf/libsprintf.a

INT_PIECES=	../sysglue/sysinit.o
EXT_PIECES=	../nucdemo/demo.o

all:		${RAM_TARGET}
ramImage:	${RAM_TARGET}

iramcode.o:	${INT_PIECES}
	${LD} -r -o $@ ${INT_PIECES}

xipcode.o:	${EXT_PIECES}
	${LD} -r -o $@ ${EXT_PIECES}

flashImage.ld:	ld-script.src flash.m4 ../include/config.m4
	m4 flash.m4 ld-script.src > $@

ramImage.ld:	ld-script.src xram.m4 ../include/config.m4
	m4 xram.m4 ld-script.src > $@

ramImage.elf:	iramcode.o xipcode.o ${LOCAL_LIBS} ramImage.ld
	${LD} -N -T ramImage.ld -o $@ -Map ramImage.map iramcode.o xipcode.o \
		--start-group ${LOCAL_LIBS} --end-group \
		--start-group ${LIBC_A} ${LIBGCC_A} --end-group

ramImage.srec:	ramImage.elf
	${OBJCOPY} -O srec --srec-forceS3 --srec-len=30 $< $@

clean:
	rm -f *.o *errs *core *.elf *.bin *.srec *.ld *.map

FRC: