1# 2# Makefile for testing dbx. 3# 4 5.SUFFIXES: 6 7.SUFFIXES: .mod .def .pcd .s .o .x .t .in .tst .out 8 9MOD = mod 10TESTDBX = ../../tdbx 11TESTS = \ 12 arrayrec.t arrays.t assign.t bool.t bitfields.t \ 13 call.t const.t dynarrays.t \ 14 imports.t jsb.t multirefs.t nested.t opaque.t \ 15 procvars.t proftrace.t ptrarray.t \ 16 reals.t records.t recur.t \ 17 sets.t stkcmds.t trace.t 18 19PROGS = \ 20 arrayrec.x arrays.x assign.x bool.x bitfields.x \ 21 call.x const.x dynarrays.x \ 22 imports.x jsb.x multirefs.x nested.x opaque.x \ 23 procvars.x proftrace.x ptrarray.x \ 24 reals.x records.x recur.x \ 25 sets.x stkcmds.x trace.x 26 27# 28# Suffix conventions: 29# 30# .mod Modula-2 source 31# .def Modula-2 definitions file 32# .pcd P-code intermediate source 33# .s assembly code file 34# .o object file 35# .x executable file 36# .t dummy file represented last time tested 37# .in input for testing 38# .tst test output 39# .out expected output 40# 41 42.mod.x: 43 ${MOD} -g $*.mod -o tmp 44 mv tmp $*.x 45 46.mod.o: 47 @echo "compiling $*.mod" 48 @${MOD} -c -g $*.mod 49 50.in.tst: 51 @rm -f $*.tst 52 ../runtest ${TESTDBX} $* > $*.tst 53 54.x.t: 55 @echo " $*" 56 @rm -f tmp 57 @../runtest ${TESTDBX} $* > tmp 58 @../check tmp $*.out 59 @rm -f tmp 60 @rm -f $*.t 61 @touch $*.t 62 63passed: ${PROGS} beforemsg ${TESTS} 64 @echo "passed Modula-2 tests" 65 66beforemsg: 67 @echo "" 68 @echo "Modula-2 tests:" 69 70IMPORTSOBJ = imports.o imported.o imptypes.o 71 72imports.x: ${IMPORTSOBJ} 73 @echo "linking imports.x" 74 @${MOD} -g ${IMPORTSOBJ} -o tmp 75 @mv tmp imports.x 76 77jsb.x: jsb.mod 78 ${MOD} -O -g jsb.mod -o tmp 79 mv tmp jsb.x 80 81opaque.x: opaque.o imptypes.o 82 @echo "linking opaque.x" 83 @${MOD} -g opaque.o imptypes.o -o tmp 84 @mv tmp opaque.x 85 86proftrace.x: proftrace.mod 87 ${MOD} -pg -g proftrace.mod -o tmp 88 mv tmp proftrace.x 89 90MULTIOBJ = multirefs.o imp1.o imp2.o exp.o 91 92multirefs.x: ${MULTIOBJ} 93 @echo "linking multirefs.x" 94 @${MOD} -g ${MULTIOBJ} -o tmp 95 @mv tmp multirefs.x 96 97arrayrec.t: arrayrec.x ${TESTDBX} 98arrays.t: arrays.x ${TESTDBX} 99assign.t: assign.x ${TESTDBX} 100bool.t: bool.x ${TESTDBX} 101bitfields.t: bitfields.x ${TESTDBX} 102const.t: call.x ${TESTDBX} 103call.t: call.x ${TESTDBX} 104const.t: const.x ${TESTDBX} 105dynarrays.t: dynarrays.x ${TESTDBX} 106jsb.t: jsb.x ${TESTDBX} 107imports.t: imports.x ${TESTDBX} 108multirefs.t: multirefs.x ${TESTDBX} 109nested.t: nested.x ${TESTDBX} 110opaque.t: opaque.x ${TESTDBX} 111procvars.t: procvars.x ${TESTDBX} 112proftrace.t: proftrace.x ${TESTDBX} 113ptrarray.t: ptrarray.x ${TESTDBX} 114reals.t: reals.x ${TESTDBX} 115records.t: records.x ${TESTDBX} 116recur.t: recur.x ${TESTDBX} 117sets.t: sets.x ${TESTDBX} 118stkcmds.t: stkcmds.x ${TESTDBX} 119trace.t: trace.x ${TESTDBX} 120