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