CC=/home/michael/ts/arm/75XX/tools/arm-uclibc-3.4.6/bin/arm-linux-gcc
STRIP=/home/michael/ts/arm/75XX/tools/arm-uclibc-3.4.6/bin/arm-linux-strip
LDFLAGS=-Wl,--rpath,/slib -Wl,-dynamic-linker,/slib/ld-uClibc.so.0
CFLAGS=-march=armv4 -Os

all: canctl-cavium-uclibc nandctl sdctl spictl spiflashctl ts7500ctl xuartctl dmxctl-cavium-uclibc

install: mnt/sbin/canctl mnt/sbin/nandctl mnt/sbin/sdctl mnt/sbin/spictl mnt/sbin/spiflashctl mnt/sbin/ts7500ctl mnt/sbin/xuartctl mnt/sbin/dmxctl

mnt:
	mkdir mnt

mnt/sbin:
	sudo mount /dev/sda3 mnt

mnt/sbin/canctl: mnt mnt/sbin canctl-cavium-uclibc
	$(STRIP) canctl-cavium-uclibc
	sudo cp canctl-cavium-uclibc mnt/sbin/canctl

mnt/sbin/nandctl: mnt mnt/sbin nandctl
	$(STRIP) nandctl
	sudo cp nandctl mnt/sbin/nandctl

mnt/sbin/sdctl: mnt mnt/sbin sdctl
	$(STRIP) sdctl
	sudo cp sdctl mnt/sbin/sdctl

mnt/sbin/spictl: mnt mnt/sbin spictl-cavium-uclibc
	$(STRIP) spictl-cavium-uclibc
	sudo cp spictl-cavium-uclibc mnt/sbin/spictl

mnt/sbin/spiflashctl: mnt mnt/sbin spiflashctl
	$(STRIP) spiflashctl
	sudo cp spiflashctl mnt/sbin/spiflashctl

mnt/sbin/ts7500ctl: mnt mnt/sbin ts7500ctl
	$(STRIP) ts7500ctl
	sudo cp ts7500ctl mnt/sbin/ts7500ctl

mnt/sbin/xuartctl: mnt mnt/sbin xuartctl
	$(STRIP) xuartctl
	sudo cp xuartctl mnt/sbin/xuartctl

mnt/sbin/dmxctl: mnt mnt/sbin dmxctl-cavium-uclibc
	$(STRIP) dmxctl-cavium-uclibc
	sudo cp dmxctl-cavium-uclibc /mnt/sbin/dmxctl

canctl-orig: canctl-orig.c

canctl-cavium-uclibc: canctl/canctl

canctl/canctl::
	cd canctl && make && cp canctl ../canctl-cavium-uclibc

nandctl: nandctl.c

sdctl: sdctl.c

spictl-cavium-uclibc: spictl/spictl

spictl/spictl::
	cd spictl && make && cp spictl ../spictl-cavium-uclibc

spiflashctl: spiflashctl.c

ts7500ctl: ts7500ctl.c ispvm.c

xuartctl: xuartctl.c
	$(CC) $(CFLAGS) $(LDFLAGS) -lutil xuartctl.c -o xuartctl

dmxctl-cavium-uclibc: dmxctl/dmxctl

dmxctl/dmxctl::
	cd dmxctl && make && cp dmxctl ../dmxctl-cavium-uclibc

