xref: /csrg-svn/old/dbx/tests/mod/Makefile (revision 44135)
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