4.4BSD/usr/src/old/dbx/tests/mod/Makefile

#
# Makefile for testing dbx.
#

.SUFFIXES:

.SUFFIXES: .mod .def .pcd .s .o .x .t .in .tst .out

MOD = mod
TESTDBX = ../../tdbx
TESTS = \
    arrayrec.t arrays.t assign.t bool.t bitfields.t \
    call.t const.t dynarrays.t \
    imports.t jsb.t multirefs.t nested.t opaque.t \
    procvars.t proftrace.t ptrarray.t \
    reals.t records.t recur.t \
    sets.t stkcmds.t trace.t

PROGS = \
    arrayrec.x arrays.x assign.x bool.x bitfields.x \
    call.x const.x dynarrays.x \
    imports.x jsb.x multirefs.x nested.x opaque.x \
    procvars.x proftrace.x ptrarray.x \
    reals.x records.x recur.x \
    sets.x stkcmds.x trace.x

#
# Suffix conventions:
#
#	.mod	Modula-2 source
#	.def	Modula-2 definitions file
#	.pcd	P-code intermediate source
#	.s	assembly code file
#	.o	object file
#	.x	executable file
#	.t	dummy file represented last time tested
#	.in	input for testing
#	.tst	test output
#	.out	expected output
#

.mod.x:
	${MOD} -g $*.mod -o tmp
	mv tmp $*.x

.mod.o:
	@echo "compiling $*.mod"
	@${MOD} -c -g $*.mod

.in.tst:
	@rm -f $*.tst
	../runtest ${TESTDBX} $* > $*.tst

.x.t:
	@echo "    $*"
	@rm -f tmp
	@../runtest ${TESTDBX} $* > tmp
	@../check tmp $*.out
	@rm -f tmp
	@rm -f $*.t
	@touch $*.t

passed: ${PROGS} beforemsg ${TESTS}
	@echo "passed Modula-2 tests"

beforemsg:
	@echo ""
	@echo "Modula-2 tests:"

IMPORTSOBJ = imports.o imported.o imptypes.o

imports.x: ${IMPORTSOBJ}
	@echo "linking imports.x"
	@${MOD} -g ${IMPORTSOBJ} -o tmp
	@mv tmp imports.x

jsb.x: jsb.mod
	${MOD} -O -g jsb.mod -o tmp
	mv tmp jsb.x

opaque.x: opaque.o imptypes.o
	@echo "linking opaque.x"
	@${MOD} -g opaque.o imptypes.o -o tmp
	@mv tmp opaque.x

proftrace.x: proftrace.mod
	${MOD} -pg -g proftrace.mod -o tmp
	mv tmp proftrace.x

MULTIOBJ = multirefs.o imp1.o imp2.o exp.o

multirefs.x: ${MULTIOBJ}
	@echo "linking multirefs.x"
	@${MOD} -g ${MULTIOBJ} -o tmp
	@mv tmp multirefs.x

arrayrec.t: arrayrec.x ${TESTDBX}
arrays.t: arrays.x ${TESTDBX}
assign.t: assign.x ${TESTDBX}
bool.t: bool.x ${TESTDBX}
bitfields.t: bitfields.x ${TESTDBX}
const.t: call.x ${TESTDBX}
call.t: call.x ${TESTDBX}
const.t: const.x ${TESTDBX}
dynarrays.t: dynarrays.x ${TESTDBX}
jsb.t: jsb.x ${TESTDBX}
imports.t: imports.x ${TESTDBX}
multirefs.t: multirefs.x ${TESTDBX}
nested.t: nested.x ${TESTDBX}
opaque.t: opaque.x ${TESTDBX}
procvars.t: procvars.x ${TESTDBX}
proftrace.t: proftrace.x ${TESTDBX}
ptrarray.t: ptrarray.x ${TESTDBX}
reals.t: reals.x ${TESTDBX}
records.t: records.x ${TESTDBX}
recur.t: recur.x ${TESTDBX}
sets.t: sets.x ${TESTDBX}
stkcmds.t: stkcmds.x ${TESTDBX}
trace.t: trace.x ${TESTDBX}