98
|
1 |
# $Header: /cvs/stx/stx/libcomp/Make.proto,v 1.25 1995-07-23 02:24:56 claus Exp $
|
43
|
2 |
#
|
0
|
3 |
# -------------- no need to change anything below ----------
|
|
4 |
|
22
|
5 |
TOP=..
|
|
6 |
SUBDIRS=
|
|
7 |
|
0
|
8 |
LIBNAME=libcomp
|
|
9 |
|
8
|
10 |
STCOPT=$(LIBCOMP_STCOPT)
|
95
|
11 |
STCLOCALOPT='-Pcompiler-classes-(libcomp)' $(COMMONSYMBOLS)
|
|
12 |
|
|
13 |
LOCALDEFS=$(DLDEFS)
|
8
|
14 |
|
74
|
15 |
all:: abbrev.stc $(UNCRITICALOBJS) objs classList.stc $(OBJTARGET) $(LIBCOMP_MORE)
|
36
|
16 |
|
|
17 |
#
|
|
18 |
# although all files are compiled in here,
|
|
19 |
# not everything goes into the target library
|
|
20 |
# ObjFLoader is optional
|
|
21 |
#
|
|
22 |
OBJFILES=`ls *.o \
|
67
|
23 |
| grep -v ObjFLoader.$(O) \
|
|
24 |
| grep -v libcompInit.$(O)`
|
0
|
25 |
|
74
|
26 |
#
|
|
27 |
# these are uncritical - save some bytes by compiling with optspace
|
|
28 |
#
|
|
29 |
UNCRITICALOBJS= \
|
|
30 |
Explainer.$(O) \
|
|
31 |
UndefVar.$(O) \
|
|
32 |
SrcFLoader.$(O)
|
|
33 |
|
|
34 |
OBJS= \
|
71
|
35 |
Scanner.$(O) \
|
|
36 |
Parser.$(O) \
|
|
37 |
BCompiler.$(O) \
|
74
|
38 |
Explainer.$(O) \
|
71
|
39 |
Variable.$(O) \
|
|
40 |
ParseNode.$(O) \
|
|
41 |
PrimaryNd.$(O) \
|
|
42 |
VarNode.$(O) \
|
|
43 |
SelfNode.$(O) \
|
|
44 |
SuperNode.$(O) \
|
|
45 |
ConstNode.$(O) \
|
|
46 |
StatNode.$(O) \
|
|
47 |
RetNode.$(O) \
|
|
48 |
PrimNd.$(O) \
|
|
49 |
AssignNd.$(O) \
|
|
50 |
BlockNode.$(O) \
|
|
51 |
MessageNd.$(O) \
|
|
52 |
UnaryNd.$(O) \
|
|
53 |
BinaryNd.$(O) \
|
|
54 |
CascadeNd.$(O) \
|
74
|
55 |
UndefVar.$(O) \
|
71
|
56 |
LazyMethod.$(O) \
|
74
|
57 |
SrcFLoader.$(O) \
|
71
|
58 |
ImmArray.$(O) \
|
22
|
59 |
$(EXTRA_LIBCOMP)
|
0
|
60 |
|
16
|
61 |
# only needed for NeXT - assembler dumps core with long name ?!?!
|
|
62 |
#
|
|
63 |
VarNode.$(O):
|
82
|
64 |
$(STC) -CC="$(CC)" $(STCFLAGS) $(SOMESHORTNAMES) $(CFLAGS) -c $*.st
|
71
|
65 |
|
|
66 |
#
|
74
|
67 |
# these are not time critical
|
71
|
68 |
#
|
74
|
69 |
$(UNCRITICALOBJS):
|
|
70 |
@$(MAKE) UNCRITICAL NAME=$*.st
|
71
|
71 |
|
74
|
72 |
UNCRITICAL:
|
|
73 |
$(STC) -CC="$(CC)" $(STCFLAGS) +optspace2 $(CFLAGS) -c $(NAME)
|
16
|
74 |
|
36
|
75 |
#
|
|
76 |
# install the extra objects
|
|
77 |
#
|
|
78 |
qinstall:: $(DESTLIBDIR)
|
67
|
79 |
if [ "$(EXTRA_LIBCOMP)"x != "x" ]; then \
|
|
80 |
$(INSTALL) $(EXTRA_LIBCOMP) $(DESTLIBDIR); \
|
36
|
81 |
fi
|
0
|
82 |
|
42
|
83 |
#
|
|
84 |
# ObjectFile and ObjectFileLoader are not included in
|
|
85 |
# the classLibrary (but as extra objects)
|
|
86 |
#
|
|
87 |
classList.stc: Make.proto
|
|
88 |
$(MAKE) genClassList
|
|
89 |
grep -v ObjectFileLoader < classList.stc > ttt
|
|
90 |
grep -v ObjectFile < ttt > classList.stc
|
|
91 |
rm -f ttt
|
|
92 |
|
0
|
93 |
cleanjunk::
|
|
94 |
-rm -f *.c *.H
|
|
95 |
|
|
96 |
clean::
|
98
|
97 |
-mv ObjFloader.o __ObjFLoader.o
|
|
98 |
-rm -f [A-Z]*.o
|
|
99 |
-mv __ObjFLoader.o ObjFloader.o
|
42
|
100 |
-rm -f *.c *.H abbrev.stc classList.stc
|
0
|
101 |
|
|
102 |
clobber::
|
42
|
103 |
-rm -f *.c *.H abbrev.stc classList.stc
|
0
|
104 |
|
|
105 |
tar:
|
96
|
106 |
(cd $(TOP); tar cvfh DISTRIB/libcomp.tar \
|
59
|
107 |
libcomp/.dir.info \
|
0
|
108 |
libcomp/*.st \
|
42
|
109 |
libcomp/Make.proto)
|
47
|
110 |
|
0
|
111 |
#
|
|
112 |
# next thing I'll build into stc is a makedepend feature for this ...
|
|
113 |
#
|
|
114 |
|
22
|
115 |
I = $(INCLUDE)
|
|
116 |
|
52
|
117 |
STCHDR=$(I)/stc.h $(I)/stcIntern.h $(CPUINTERN_H)
|
0
|
118 |
OBJECT=$(I)/Object.H $(STCHDR)
|
81
|
119 |
|
0
|
120 |
SCANNER=$(I)/Scanner.H $(OBJECT)
|
|
121 |
PARSER=$(I)/Parser.H $(SCANNER)
|
|
122 |
PARSENODE=$(I)/ParseNode.H $(OBJECT)
|
|
123 |
PRIMARYNODE=$(I)/PrimaryNd.H $(PARSENODE)
|
|
124 |
MESSAGENODE=$(I)/MessageNd.H $(PARSENODE)
|
|
125 |
|
81
|
126 |
ObjFLoader.$(O): ObjFLoader.st $(OBJECT)
|
|
127 |
LazyMethod.$(O): LazyMethod.st $(I)/Method.H $(I)/CompCode.H $(I)/ExecFunc.H $(OBJECT)
|
|
128 |
UndefVar.$(O): UndefVar.st $(OBJECT)
|
|
129 |
Scanner.$(O): Scanner.st $(OBJECT)
|
|
130 |
Parser.$(O): Parser.st $(SCANNER)
|
|
131 |
BCompiler.$(O): BCompiler.st $(PARSER)
|
|
132 |
Variable.$(O): Variable.st $(OBJECT)
|
|
133 |
ParseNode.$(O): ParseNode.st $(OBJECT)
|
|
134 |
StatNode.$(O): StatNode.st $(PARSENODE)
|
|
135 |
AssignNd.$(O): AssignNd.st $(PARSENODE)
|
|
136 |
BlockNode.$(O): BlockNode.st $(PARSENODE)
|
|
137 |
PrimaryNd.$(O): PrimaryNd.st $(PARSENODE)
|
|
138 |
VarNode.$(O): VarNode.st $(PRIMARYNODE)
|
|
139 |
SelfNode.$(O): SelfNode.st $(PRIMARYNODE)
|
|
140 |
ConstNode.$(O): ConstNode.st $(PRIMARYNODE)
|
|
141 |
VariableNode.$(O): VariableNode.st $(PRIMARYNODE)
|
|
142 |
SuperNode.$(O): SuperNode.st $(I)/SelfNode.H $(PRIMARYNODE)
|
|
143 |
MessageNd.$(O): MessageNd.st $(PARSENODE)
|
|
144 |
CascadeNd.$(O): CascadeNd.st $(MESSAGENODE)
|
|
145 |
BinaryNd.$(O): BinaryNd.st $(MESSAGENODE)
|
|
146 |
UnaryNd.$(O): UnaryNd.st $(MESSAGENODE)
|
|
147 |
PrimNd.$(O): PrimNd.st $(PARSENODE) $(I)/StatNode.H
|
|
148 |
RetNode.$(O): RetNode.st $(PARSENODE) $(I)/StatNode.H
|
|
149 |
CompErr.$(O): CompErr.st $(OBJECT)
|
|
150 |
ImmArray.$(O): ImmArray.st $(I)/Array.H $(OBJECT)
|
0
|
151 |
|
81
|
152 |
CMethod.$(O): CMethod.st $(I)/Method.H $(OBJECT)
|
|
153 |
MCompiler.$(O): MCompiler.st $(PARSER)
|
|
154 |
Explainer.$(O): Explainer.st $(PARSER)
|
|
155 |
|
|
156 |
SrcFLoader.$(O): SrcFLoader.st $(OBJECT)
|