# # 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}