1###############################################################################
2#
3# File:         PC:Makefile
4# Description:  Makefile for psl compiler system dependent modules.
5# Author:       Harold Carr and Leigh Stoller.
6# Created:      08-Oct-86
7# Modified:
8# Mode:         Text
9# Package:
10# Status:
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## PROOT	= /home/cons/reducedev/free_reduce/reduce-algebra/trunk/psl
42
43PSL	= $(PROOT)/dist
44PSYS	= $(PROOT)/bin
45PK	= $(PSL)/kernel
46PXK     = $(PK)/$(MACHINE)
47PNK	= $(PSL)/nonkernel
48PXNK    = $(PNK)/$(MACHINE)
49PNKL    = $(PSL)/nonkernel/$(MACHINE)/lap
50PC	= $(PSL)/comp
51PXC     = $(PC)/$(MACHINE)
52PU	= $(PSL)/util
53PXU     = $(PU)/$(MACHINE)
54PDIST   = $(PSL)/distrib
55PXDIST  = $(PDIST)/$(MACHINE)
56PL      = $(PSL)/lap/$(MACHINE)
57
58all: \
59	$(PL)/big-faslend.b \
60	$(PL)/datamachine.b \
61	$(PL)/faslout.b \
62	$(PL)/lap-to-asm.b \
63	$(PL)/pass-1.b \
64	$(PL)/p1-decls.b \
65	$(PL)/pass-1-lap.b \
66	$(PL)/pass-2-3.b \
67	$(PL)/putprint.b \
68	$(PL)/carcdrnil.b \
69	$(PL)/comasm.b \
70	$(PL)/pslcomp.b
71
72$(PL)/big-faslend.b: $(PC)/big-faslend.sl
73	$(PDIST)/make-lap $(PC) big-faslend
74
75$(PL)/datamachine.b: $(PC)/datamachine.sl \
76	$(PL)/sys-consts.b $(PL)/sys-dm.b $(PL)/if-system.b
77	$(PDIST)/make-lap $(PC) datamachine
78
79$(PL)/faslout.b: $(PC)/faslout.sl \
80	$(PL)/fasl-decls.b $(PL)/fast-vector.b
81	$(PDIST)/make-lap $(PC) faslout
82
83$(PL)/lap-to-asm.b: $(PC)/lap-to-asm.sl
84	$(PDIST)/make-lap $(PC) lap-to-asm
85
86$(PL)/pass-1.b: $(PC)/pass-1.sl	$(PL)/p1-decls.b $(PL)/if-system.b \
87	$(PL)/strings.b
88	$(PDIST)/make-lap $(PC) pass-1
89
90$(PL)/p1-decls.b: $(PC)/p1-decls.sl
91	$(PDIST)/make-lap $(PC) p1-decls
92
93$(PL)/pass-1-lap.b: $(PC)/pass-1-lap.sl \
94	$(PC)/anyreg-cmac.sl $(PC)/cmacros.sl \
95	$(PC)/predicates.sl \
96	$(PL)/fast-vector.b
97	$(PDIST)/make-lap $(PC) pass-1-lap
98
99$(PL)/pass-2-3.b: $(PC)/pass-2-3.sl
100	$(PDIST)/make-lap $(PC) pass-2-3
101
102$(PL)/putprint.b: $(PC)/putprint.sl
103	$(PDIST)/make-lap $(PC) putprint
104
105$(PL)/carcdrnil.b: $(PC)/carcdrnil.sl
106	$(PDIST)/make-lap $(PC) carcdrnil
107
108$(PL)/comasm.b: $(PC)/comasm.sl
109	$(PDIST)/make-lap $(PC) comasm
110
111$(PL)/pslcomp.b: $(PC)/pslcomp.sl
112	$(PDIST)/make-lap $(PC) pslcomp
113
114
115# The dependencies
116
117$(PL)/if-system.b: $(PU)/if-system.sl
118	(cd $(PU) ; make $(MFLAGS) MACHINE=$(MACHINE) $(PL)/if-system.b)
119
120$(PL)/fasl-decls.b: $(PXK)/fasl-decls.sl
121	(cd $(PXK) ; make $(MFLAGS) MACHINE=$(MACHINE)  $(PL)/fasl-decls.b)
122
123$(PL)/fast-vector.b: $(PU)/fast-vector.sl
124	(cd $(PU) ; make $(MFLAGS) MACHINE=$(MACHINE) $(PL)/fast-vector.b)
125
126$(PL)/strings.b: $(PU)/strings.sl
127	(cd $(PU) ; make $(MFLAGS) MACHINE=$(MACHINE) $(PL)/strings.b)
128
129$(PL)/sys-consts.b: $(PXC)/sys-consts.sl
130	(cd $(PXC) ; make $(MFLAGS) MACHINE=$(MACHINE) $(PL)/sys-consts.b)
131
132$(PL)/sys-dm.b: $(PXC)/sys-dm.sl
133	(cd $(PXC) ; make $(MFLAGS) MACHINE=$(MACHINE) $(PL)/sys-dm.b)
134
135# End of file.
136