K32LIB = /u/ksos/ksos32/kernel/lib
KILIB = /u/ksos/ksos32/kernel_interface/lib

testXX.out: testXX.ld.sh testXX.gfo
	@sh -v testXX.ld.sh
	size $@

testXX.gfo: testXX.gfs2
	as -o $@ testXX.gfs2

testXX.gfs2: testXX.gfs fix.testXX.gfs.ed
	ed - testXX.gfs < fix.testXX.gfs.ed

testXX.ld.sh testXX.gfs: .lnk/testXX $(K32LIB)/.lnk/K32machine \
  $(K32LIB)/.lnk/K32baseTypes $(K32LIB)/.lnk/K32types \
  $(K32LIB)/.lnk/K32except $(KILIB)/.lnk/KernelCalls $(KILIB)/.lnk/userFdt \
  $(KILIB)/.lnk/PseudoInterruptVectors m2path
	m2l -c -S -E -L -X -n testXX\
	  | sed -e 's/^/ld /'\
		-e 's= \./= =g'\
		-e 's/ -lc//' > testXX.ld.sh
# The preceding invocation of sed prepends the "ld" command, removes
# superfluous "./" pathname components, and prevents loading the C library.

.lnk/testXX: testXX.mod $(K32LIB)/.sym/K32machine \
  $(K32LIB)/.sym/K32baseTypes $(K32LIB)/.sym/K32types \
  $(K32LIB)/.sym/K32except $(KILIB)/.sym/KernelCalls $(KILIB)/.sym/userFdt \
  $(KILIB)/.sym/PseudoInterruptVectors m2path
	run.m2c -T -E testXX.mod

testXX.mod: RCS/testXX.mod,v
	co -b -q $@

m2path:	RCS/m2path,v
	co -b -q $@

fix.testXX.gfs.ed: RCS/fix.testXX.gfs.ed,v
	co -b -q $@

namelist: testXX.out
	nm -n testXX.out > $@

install: testXX.out installInit.kwr
	csh -c ~ksos/tools/kwr.out < installInit.kwr
	@echo ' '

clean:
	rm -f testXX.gf[os] testXX.gfs2 testXX.ld.sh
