view loadtools/Makefile @ 50:f1df95eed62c

loadtools: -b option works in fc-iram
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 23 Jun 2013 03:32:04 +0000
parents 38664e0b7c32
children b015036286f3
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 romload.o sercomm.o sertool.o \
		srecreader.o ttypassthru.o

LOADTOOL_OBJS=	crc32tab.o defpath.o hexdecode.o hwparam.o ltdispatch.o \
		ltdump.o ltexit.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 \
		initscript.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}