view loadtools/Makefile @ 58:1f9302b6f342

fc-loadtool: started flash/flash2 command implementation
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Mon, 24 Jun 2013 06:30:57 +0000
parents d98137625c0d
children 6fb41cfa773d
line wrap: on
line source

CC=	gcc
CFLAGS=	-O2
PROGS=	fc-iram fc-loadtool fc-xram
LASRC=	../target-utils/loadagent
SCRIPTS=scripts/pirelli.config scripts/pirelli.init
INSTBIN=/usr/local/bin
INSTSCR=/usr/local/share/freecalypso

IRAM_OBJS=	defpath.o hexdecode.o hwparam.o hwparamstubs.o romload.o \
		sercomm.o sertool.o srecreader.o ttypassthru.o

LOADTOOL_OBJS=	crc32tab.o defpath.o flutil.o hexdecode.o hwparam.o labaud.o \
		ltdispatch.o ltdump.o ltexit.o ltflash.o ltmain.o ltpassthru.o \
		ltscript.o romload.o sercomm.o srecreader.o tpinterf.o \
		tpinterf2.o

XRAM_OBJS=	chainload.o clmain.o defpath.o hexdecode.o hwparam.o \
		hwparamstubs.o initscript.o labaud.o romload.o sercomm.o \
		srecreader.o tpinterf.o ttypassthru.o

all:	${PROGS}

fc-iram:	${IRAM_OBJS}
	${CC} -o $@ ${IRAM_OBJS}

fc-loadtool:	${LOADTOOL_OBJS}
	${CC} -o $@ ${LOADTOOL_OBJS}

fc-xram:	${XRAM_OBJS}
	${CC} -o $@ ${XRAM_OBJS}

# The loadagent.srec image needs to be installed in the "system" directory
# where fc-loadtool and fc-xram will find it.  However, we have a dilemma:
# loadagent is built in the ../target-utils tree with the target cross-gcc,
# but the logical place to install it is here.  The following hack is our
# workaround.
#
# It is also conceivable that after the FreeCalypso project matures,
# some people will want to flash images built by others, without setting up
# their own cross-gcc environments for the ARM7TDMI target.  However,
# the loadtools subpackage is something that every user will need to build
# from source on his/her "loading" machine.  The planned solution is to
# package a "release" of fc-loadtools which will be the present source
# directory with a prebuilt loadagent.srec included.

loadagent.srec:
	@if [ -r ${LASRC}/loadagent.srec ]; then \
		true; \
	else \
		echo "Error: I need to install loadagent.srec in ${INSTSCR},"; \
		echo "but I cannot find it: neither in . nor in ${LASRC}"; \
		false; \
	fi
	ln -s ${LASRC}/loadagent.srec .

install:	${PROGS} ${SCRIPTS} loadagent.srec
	mkdir -p ${INSTBIN}
	install -c ${PROGS} ${INSTBIN}
	mkdir -p ${INSTSCR}
	install -c loadagent.srec ${SCRIPTS} ${INSTSCR}

clean:
	rm -f *.o *.out *errs ${PROGS}