1###############################################################################
2#
3# File:         PXU:Makefile
4# Description:  Makefile for psl vax specific utilities directory.
5# Author:       Harold Carr and Leigh Stoller.
6# Created:      08-Oct-86
7# Modified:
8# Mode:         Text
9# Package:
10# Status:       Open Source: BSD License
11#
12# (c) Copyright 1982, University of Utah
13# %
14# % Redistribution and use in source and binary forms, with or without
15# % modification, are permitted provided that the following conditions are met:
16# %
17# %    * Redistributions of source code must retain the relevant copyright
18# %      notice, this list of conditions and the following disclaimer.
19# %    * Redistributions in binary form must reproduce the above copyright
20# %      notice, this list of conditions and the following disclaimer in the
21# %      documentation and/or other materials provided with the distribution.
22# %
23# % THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24# % AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25# % THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26# % PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNERS OR
27# % CONTRIBUTORS
28# % BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29# % CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30# % SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31# % INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32# % CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33# % ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34# % POSSIBILITY OF SUCH DAMAGE.
35#
36#
37###############################################################################
38#
39#
40###############################################################################
41
42## PROOT	= /home/cons/reducedev/free_reduce/reduce-algebra/trunk/psl
43
44PSL	= $(PROOT)/dist
45PSYS	= $(PROOT)/bin
46PK	= $(PSL)/kernel
47PXK     = $(PK)/$(MACHINE)
48PNK	= $(PSL)/nonkernel
49PXNK    = $(PNK)/$(MACHINE)
50PNKL    = $(PSL)/nonkernel/$(MACHINE)/lap
51PC	= $(PSL)/comp
52PXC     = $(PC)/$(MACHINE)
53PU	= $(PSL)/util
54PXU     = $(PU)/$(MACHINE)
55PDIST   = $(PSL)/distrib
56PXDIST  = $(PDIST)/$(MACHINE)
57PL      = $(PSL)/lap/$(MACHINE)
58
59all: \
60	$(PL)/disassemble.b $(PL)/fc-indirect.b $(PL)/get-options.b \
61	$(PL)/l2cdatacon.b $(PL)/helferlein.b $(PL)/symget.b \
62	$(PL)/nbig30.b $(PL)/nbig30a.b $(PL)/double.b \
63	$(PL)/nbig32.b $(PL)/nbig32a.b $(PL)/double32.b \
64	$(PL)/mbarith.b \
65	$(PL)/qualcount.b $(PL)/qualified-timing.b $(PL)/spy.b
66
67# MODEL should be either AREGMODEL for 3.2 or DREGMODEL for 3.4.
68MODEL   = DREGMODEL
69
70$(PL)/c2l.o: $(PXU)/c2l.c
71	$(CC) -D$(MODEL) -D$(MACHINE) -S c2l.c
72	sed 's/_SYM/SYM/g' c2l.s > c2ltemp.s
73	rm -f c2l.s
74	as c2ltemp.s -o $(PL)/c2l.o
75	rm -f c2ltemp.s
76
77$(PL)/disassemble.b: $(PXU)/disassemble.sl
78	$(PDIST)/make-lap $(PXU) disassemble
79
80$(PL)/fc-indirect.b: $(PXU)/fc-indirect.sl
81	$(PDIST)/make-lap $(PXU) fc-indirect
82
83$(PL)/get-options.b: $(PXU)/get-options.sl
84	$(PDIST)/make-lap $(PXU) get-options
85
86$(PL)/l2cdatacon.b: $(PXU)/l2cdatacon.sl
87	$(PDIST)/make-lap $(PXU) l2cdatacon
88
89$(PL)/helferlein.b: $(PXU)/helferlein.sl $(PL)/inum.b
90	$(PDIST)/make-lap $(PXU) helferlein
91
92$(PL)/symget.b:  $(PXU)/symget.sl
93	$(PDIST)/make-lap $(PXU) symget
94
95$(PL)/spy.b: $(PXU)/spy.sl
96	$(PDIST)/make-lap $(PXU) spy
97
98$(PL)/qualcount.b: $(PXU)/qualcount.sl
99	$(PDIST)/make-lap $(PXU) qualcount
100
101$(PL)/qualified-timing.b: $(PXU)/qualified-timing.sl
102	$(PDIST)/make-lap $(PXU) qualified-timing
103
104$(PL)/oload.b: $(PXU)/oload.sl
105	$(PDIST)/make-lap $(PXU) oload
106
107$(PL)/nbig30.b:  $(PXU)/nbig30.sl
108	$(PDIST)/make-lap $(PXU) nbig30
109
110$(PL)/nbig30a.b: $(PXU)/nbig30a.sl $(PL)/vfvect.b $(PL)/muls.b $(PL)/double.b \
111           $(PL)/fast-vector.b
112	$(PDIST)/make-lap $(PXU) nbig30a
113
114$(PL)/double.b: $(PXU)/double.sl $(PL)/muls.b
115	$(PDIST)/make-lap $(PXU) double
116
117$(PL)/nbig32.b:  $(PXU)/nbig32.sl
118	$(PDIST)/make-lap $(PXU) nbig32
119
120$(PL)/nbig32a.b: $(PXU)/nbig32a.sl $(PL)/vfvect.b $(PL)/muls32.b $(PL)/double32.b \
121           $(PL)/fast-vector.b
122	$(PDIST)/make-lap $(PXU) nbig32a
123
124$(PL)/double32.b: $(PXU)/double.sl $(PL)/muls32.b
125	$(PDIST)/make-lap $(PXU) double32
126
127$(PL)/mbarith.b: $(PXU)/mbarith.sl $(PL)/muls.b
128	$(PDIST)/make-lap $(PXU) mbarith
129#
130
131$(PL)/inum.b: $(PU)/inum.sl
132	(cd $(PU) ; make $(MFLAGS) MACHINE=$(MACHINE) $(PL)/inum.b)
133
134$(PL)/vfvect.b: $(PXU)/vfvect.sl
135	$(PDIST)/make-lap $(PXU) vfvect
136
137$(PL)/muls.b: $(PXC)/muls.sl
138	(cd $(PXC) ; make $(MFLAGS) MACHINE=$(MACHINE) $(PL)/muls.b)
139
140$(PL)/muls32.b: $(PXU)/muls32.sl
141	$(PDIST)/make-lap $(PXU) muls32
142
143$(PL)/syslisp.b: $(PU)/syslisp.sl
144	(cd $(PU) ; make $(MFLAGS) MACHINE=$(MACHINE) $(PL)/syslisp.b)
145
146# Nothing needs to be done, but it needs to be here to interact with the
147#  top level Makefile.
148clean:
149
150