hostcc=gcc
as=/home/arm/tools/bin/arm-unknown-linuxaout-as
ld=/home/arm/tools/bin/arm-unknown-linuxaout-ld

KERNELPATH=/home/arm/linux/arch/arm/boot/Image

OBJS=start.o pagetable.o imgsize.o

.s.o:
	$(as) -marm2 -mno-fpu -o $*.o $<

# hack to remove headers!
full: lkb config
	rm -f full
	cat lkb $(KERNELPATH) config > tmp
	dd if=tmp of=full bs=2048k conv=sync
	rm -f tmp

lkb: lkb.o
	rm -f lkb
	dd if=lkb.o bs=1 skip=32 > tmp
	dd if=tmp of=lkb bs=512k conv=sync
	rm -f tmp

lkb.o: $(OBJS)
	$(ld) -N -s -Ttext 0x37fffe0 -e _stext -olkb.o $(OBJS)

pagetable.s: mktranstable
	./mktranstable > pagetable.s

imgsize.s: imgfiddle
	./imgfiddle > imgsize.s

mktranstable: mktranstable.c
	$(hostcc) -o mktranstable mktranstable.c

imgfiddle: imgfiddle.c
	$(hostcc) -o imgfiddle imgfiddle.c -DKERNELPATH=\"$(KERNELPATH)\"

config: mkconfig
	mkconfig > config

mkconfig: mkconfig.c
	$(hostcc) -o mkconfig mkconfig.c

clean:
	rm -f $(OBJS) imgsize.s pagetable.s lkb full lkb.o imgfiddle mkconfig mktranstable
