Commit | Line | Data |
---|---|---|
37547b14 C |
1 | # |
2 | # Makefile for testing dbx. | |
3 | # | |
4 | ||
5 | .SUFFIXES: | |
6 | ||
7 | .SUFFIXES: .mod .def .pcd .s .o .x .t .in .tst .out | |
8 | ||
9 | MOD = mod | |
10 | TESTDBX = ../../tdbx | |
11 | TESTS = \ | |
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 | ||
19 | PROGS = \ | |
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 | ||
63 | passed: ${PROGS} beforemsg ${TESTS} | |
64 | @echo "passed Modula-2 tests" | |
65 | ||
66 | beforemsg: | |
67 | @echo "" | |
68 | @echo "Modula-2 tests:" | |
69 | ||
70 | IMPORTSOBJ = imports.o imported.o imptypes.o | |
71 | ||
72 | imports.x: ${IMPORTSOBJ} | |
73 | @echo "linking imports.x" | |
74 | @${MOD} -g ${IMPORTSOBJ} -o tmp | |
75 | @mv tmp imports.x | |
76 | ||
77 | jsb.x: jsb.mod | |
78 | ${MOD} -O -g jsb.mod -o tmp | |
79 | mv tmp jsb.x | |
80 | ||
81 | opaque.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 | ||
86 | proftrace.x: proftrace.mod | |
87 | ${MOD} -pg -g proftrace.mod -o tmp | |
88 | mv tmp proftrace.x | |
89 | ||
90 | MULTIOBJ = multirefs.o imp1.o imp2.o exp.o | |
91 | ||
92 | multirefs.x: ${MULTIOBJ} | |
93 | @echo "linking multirefs.x" | |
94 | @${MOD} -g ${MULTIOBJ} -o tmp | |
95 | @mv tmp multirefs.x | |
96 | ||
97 | arrayrec.t: arrayrec.x ${TESTDBX} | |
98 | arrays.t: arrays.x ${TESTDBX} | |
99 | assign.t: assign.x ${TESTDBX} | |
100 | bool.t: bool.x ${TESTDBX} | |
101 | bitfields.t: bitfields.x ${TESTDBX} | |
102 | const.t: call.x ${TESTDBX} | |
103 | call.t: call.x ${TESTDBX} | |
104 | const.t: const.x ${TESTDBX} | |
105 | dynarrays.t: dynarrays.x ${TESTDBX} | |
106 | jsb.t: jsb.x ${TESTDBX} | |
107 | imports.t: imports.x ${TESTDBX} | |
108 | multirefs.t: multirefs.x ${TESTDBX} | |
109 | nested.t: nested.x ${TESTDBX} | |
110 | opaque.t: opaque.x ${TESTDBX} | |
111 | procvars.t: procvars.x ${TESTDBX} | |
112 | proftrace.t: proftrace.x ${TESTDBX} | |
113 | ptrarray.t: ptrarray.x ${TESTDBX} | |
114 | reals.t: reals.x ${TESTDBX} | |
115 | records.t: records.x ${TESTDBX} | |
116 | recur.t: recur.x ${TESTDBX} | |
117 | sets.t: sets.x ${TESTDBX} | |
118 | stkcmds.t: stkcmds.x ${TESTDBX} | |
119 | trace.t: trace.x ${TESTDBX} |