diff loadtools/Makefile @ 46:eb97cfe5e31a

finally, a real make install for loadtools and loadagent
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Wed, 19 Jun 2013 06:41:08 +0000
parents 16315ed6401a
children 38664e0b7c32
line wrap: on
line diff
--- a/loadtools/Makefile	Mon Jun 17 08:15:30 2013 +0000
+++ b/loadtools/Makefile	Wed Jun 19 06:41:08 2013 +0000
@@ -1,6 +1,7 @@
 CC=	gcc
 CFLAGS=	-O2
 PROGS=	fc-loadtool fc-sertool fc-xram
+LASRC=	../target-utils/loadagent
 SCRIPTS=scripts/pirelli.config scripts/pirelli.init
 INSTBIN=/usr/local/bin
 INSTSCR=/usr/local/share/freecalypso
@@ -27,9 +28,35 @@
 fc-xram:	${XRAM_OBJS}
 	${CC} -o $@ ${XRAM_OBJS}
 
-install:
-	#install -c ${PROGS} ${INSTBIN}
-	install -c ${SCRIPTS} ${INSTSCR}
+# 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}