I       = ../include/
SYS = /usr/src
ROOT = /
CFLAGS = -m -O -I$(I) -DKERNEL

CMDS =  restor cat ls mkfs icheck adb boot

all:    $(CMDS)

cp cmp:
	@echo "standalone stuff-- examine this makefile before running"


xcp:	all
	cp restor cat mkfs icheck adb $(ROOT)/stand
	rm restor cat mkfs icheck adb
	cp boot boot.50 boot.lsu $(ROOT)
	rm boot boot.50 boot.lsu
	rm *.o
	rm sadb/*.o

libsa.a:
	cd libsa; make

restor : ../cmd/restor.c
mkfs   : ../cmd/mkfs.c
icheck : ../cmd/icheck.c

restor mkfs icheck : srt0.o libsa.a
	cc -c -O -DSTANDALONE ../cmd/$@.c
	ld -x -o $@ srt0.o $@.o libsa.a -lc
	rm $@.o
	chmod a-x $@

cat ls :    srt0.o libsa.a
	cc -c $@.c
	ld -x -o $@ srt0.o $@.o libsa.a -lc
	rm $@.o
	chmod a-x $@

adb:	srt0.o libsa.a
	cd sadb; make objects -f /usr/src/cmd/adb/makefile VERSION=-DSTANDALONE M=/usr/src/cmd/adb
	ld -x -o adb srt0.o sadb/*.o libsa.a -lc
	chmod a-x $@

boot:   boot.o copyunix.o boot0.o libsa.a last.o dfltboot.o
	ld -s -o boot boot0.o boot.o copyunix.o dfltboot.o libsa.a -lc last.o
	dd if=boot of=boot.50 bs=80 skip=2 conv=sync
	mktsk -b boot boot.lsu
	chmod a-x $@

bin_tape:
	dd if=/boot.50 of=/dev/rmmt0 bs=80 conv=sync
	dd if=/boot.lsu of=/dev/rmmt0 bs=256 conv=sync
	cat /stand/mkfs > /dev/mmt0
	cat /stand/restor > /dev/mmt0
	cat /stand/icheck > /dev/mmt0
	cat /stand/adb > /dev/mmt0
	dump 0f /dev/rmmt0 /dev/msm0a root
	dump 0f /dev/rmmt0 /dev/msm0c usr
	( cd $(SYS); tar cbf 20 /dev/rmmt0 doc )
#       tar cbf 20 /dev/rmmt0 $(SYS)/sys
#       tar cbf 20 /dev/rmmt0 $(SYS)/src

src_tape:
	dd if=boot.50 of=/dev/rmmt0 bs=80 conv=sync
	dd if=boot.lsu of=/dev/rmmt0 bs=256 conv=sync
	/bin/cat mkfs > /dev/mmt0
	/bin/cat restor > /dev/mmt0
	/bin/cat icheck > /dev/mmt0
	/bin/cat adb > /dev/mmt0
	dump 0f /dev/rmmt0 /dev/msm0a root
	dump 0f /dev/rmmt0 /dev/msm0c usr
	( cd $(SYS); tar cbf 20 /dev/rmmt0 doc )
	( cd $(SYS); tar cbf 20 /dev/rmmt0 sys )
	( cd $(SYS); tar cbf 20 /dev/rmmt0 src )

src_tar:
	( cd $(SYS); tar cbf 20 /dev/rmmt0 sys )
	( cd $(SYS); tar cbf 20 /dev/rmmt0 src )

add_learn:
	( cd $(SYS); tar cbf 20 /dev/rmmt0 learn )


add_sccs:
	( cd $(SYS); tar cbf 20 /dev/rmmt0 sccs )

twg_tape:
	dd if=/boot.50 of=/dev/rmmt0 bs=80 conv=sync
	dd if=/boot.lsu of=/dev/rmmt0 bs=256 conv=sync
	cat /stand/mkfs > /dev/mmt0
	cat /stand/restor > /dev/mmt0
	cat /stand/icheck > /dev/mmt0
	cat /stand/adb > /dev/mmt0
	dump 0f /dev/rmmt0 /dev/msm0c root
	dump 0f /dev/rmmt0 /dev/msm0d usr

clean:
	rm -f $(CMDS) *.o

rmcmds:
	rm -f $(CMDS)

boot.o : $(I)sys/local.h
boot.o : $(I)sys/param.h
boot.o : $(I)sys/ino.h
boot.o : $(I)sys/inode.h
boot.o : $(I)sys/filsys.h
boot.o : $(I)sys/dir.h
boot.o : dfltboot.h
boot.o : saio.h
dfltboot.o : dfltboot.h
restor : $(I)sys/local.h
restor : $(I)stdio.h
restor : $(I)signal.h
restor : $(I)sys/param.h
restor : $(I)sys/inode.h
restor : $(I)sys/ino.h
restor : $(I)sys/fblk.h
restor : $(I)sys/filsys.h
restor : $(I)sys/dir.h
restor : $(I)dumprestor.h
mkfs : $(I)sys/local.h
mkfs : $(I)stdio.h
mkfs : $(I)a.out.h
mkfs : $(I)sys/param.h
mkfs : $(I)sys/ino.h
mkfs : $(I)sys/inode.h
mkfs : $(I)sys/filsys.h
mkfs : $(I)sys/fblk.h
mkfs : $(I)sys/dir.h
ls : $(I)sys/param.h
ls : $(I)sys/inode.h
ls : $(I)sys/ino.h
ls : $(I)sys/dir.h
ls : saio.h
icheck : $(I)sys/local.h
icheck : $(I)stdio.h
icheck : $(I)sys/param.h
icheck : $(I)sys/inode.h
icheck : $(I)sys/ino.h
icheck : $(I)sys/fblk.h
icheck : $(I)sys/filsys.h
