xref: /original-bsd/old/dbx/tests/mod/Makefile (revision e59fb703)
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