author | Claus Gittinger <cg@exept.de> |
Tue, 07 Jan 1997 13:26:54 +0100 | |
changeset 184 | 86f223b6db99 |
parent 178 | 7ab96c8246bd |
child 185 | 536623e21eb0 |
permissions | -rw-r--r-- |
0 | 1 |
# |
6 | 2 |
# $Header$ |
0 | 3 |
# |
4 |
# -------------- no need to change anything below ---------- |
|
135 | 5 |
# |
6 |
# This makefile generates the smalltalk executable itself; |
|
7 |
# it can be invoked as: |
|
8 |
# |
|
9 |
# make |
|
150 | 10 |
# generates a standard smalltalk, and sets up symbolic links |
11 |
# for local execution. |
|
135 | 12 |
# |
13 |
# make smalltalk |
|
150 | 14 |
# generates a standard smalltalk executable only |
135 | 15 |
# |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
16 |
# make stx_static (ELF based systems only): |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
17 |
# generates a smalltalk with statically linked |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
18 |
# class libs. (still uses dynamic unix libraries) |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
19 |
# |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
20 |
# make stx_fullstatic (ELF based systems only): |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
21 |
# generates a fully statically linked smalltalk |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
22 |
# (even system libs are linked in) |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
23 |
# |
135 | 24 |
# make smalltalk ADDITIONAL_OBJS=<list of object files> \ |
150 | 25 |
# ADDITIONAL_CLASSES=<list of class names> |
26 |
# generates a customized executable, containing additional |
|
27 |
# class (list of classes) which are to be found in the object |
|
28 |
# files (list of object files). |
|
29 |
# Example: |
|
30 |
# make smalltalk ADDITIONAL_OBJS=Foo.o ADDITIONAL_CLASSES=Foo |
|
135 | 31 |
# |
0 | 32 |
|
7 | 33 |
TOP=../.. |
0 | 34 |
SUBDIRS= |
35 |
||
13 | 36 |
RCSSOURCES=*.rc patches Make.proto |
26 | 37 |
LINKSOURCES=*.rc patches Make.proto |
13 | 38 |
|
150 | 39 |
DELIVERBINARIES=stx |
71 | 40 |
|
6 | 41 |
# |
42 |
# other definitions to use for things compiled here |
|
43 |
# |
|
44 |
LOCALDEFS=-DDEBUG |
|
26 | 45 |
# ST_LDFLAG= |
0 | 46 |
|
6 | 47 |
# |
7 | 48 |
# see COMMON/defines for what those XXX_LIB etc. are |
6 | 49 |
# |
11 | 50 |
# MINI_LIB = libbasic, libcomp $(PRIVATELIBS) |
7 | 51 |
# FUNDAMENTAL_LIB = above PLUS libview, libwidg |
52 |
# DEVELOP_LIB = above PLUS libtool |
|
53 |
# STANDARD_LIB = above PLUS libwidg2, libdbase |
|
54 |
# EXTENDED_LIB = above PLUS libwidg3 |
|
6 | 55 |
|
7 | 56 |
# |
57 |
# this defines where the show starts |
|
58 |
# |
|
59 |
STARTUP_CLASS="Smalltalk" |
|
0 | 60 |
STARTUP_SELECTOR="start" |
61 |
||
10 | 62 |
# |
63 |
# directories from which bitmap files in bitmap subdirectories are to be symlinked |
|
64 |
# to the bitmaps subdirectory |
|
65 |
# |
|
66 |
BITMAPDIRS= \ |
|
145 | 67 |
$(LIBBASIC2DIR) $(LIBHTMLDIR) $(LIBVIEWDIR) $(LIBVIEW2DIR) $(LIBWIDGDIR) $(LIBWIDG2DIR) \ |
16 | 68 |
$(LIBWIDG3DIR) $(LIBTABLEDIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \ |
69 |
$(OTHERLIBDIRS) \ |
|
26 | 70 |
$(TOP)/fileIn $(TOP)/fileIn/* $(TOP)/goodies \ |
176 | 71 |
$(TOP)/goodies/* $(TOP)/goodies/*/* \ |
72 |
$(EXTRA_BITMAPDIRS) |
|
10 | 73 |
|
51 | 74 |
MOREBITMAPDIRS= \ |
75 |
$(TOP)/goodies/bitmaps/* |
|
76 |
||
10 | 77 |
# |
78 |
# directories from which binary files are to be symlinked |
|
79 |
# to the binary subdirectory |
|
80 |
# |
|
81 |
BINARYDIRS= \ |
|
145 | 82 |
$(LIBBASICDIR) $(LIBBASIC2DIR) $(LIBBASIC3DIR) $(LIBHTMLDIR) $(LIBVIEWDIR) $(LIBVIEW2DIR) $(LIBWIDGDIR) \ |
16 | 83 |
$(LIBWIDG2DIR) $(LIBWIDG3DIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \ |
40 | 84 |
$(LIBCOMPDIR) $(LIBTABLEDIR) $(LIBCOMPATDIR) $(LIBPRODIR) $(OTHERLIBDIRS) \ |
16 | 85 |
$(TOP)/fileIn $(TOP)/libtomcat $(TOP)/goodies $(TOP)/goodies/* \ |
176 | 86 |
$(TOP)/goodies/*/* \ |
87 |
$(EXTRA_BINARYDIRS) |
|
10 | 88 |
|
89 |
# |
|
90 |
# directories from which source files are to be symlinked |
|
91 |
# to the source subdirectory |
|
92 |
# |
|
93 |
SOURCEDIRS= \ |
|
145 | 94 |
$(LIBBASICDIR) $(LIBBASIC2DIR) $(LIBBASIC3DIR) $(LIBHTMLDIR) $(LIBCOMPDIR) $(LIBVIEWDIR) $(LIBVIEW2DIR) \ |
176 | 95 |
$(LIBWIDGDIR) $(LIBWIDG2DIR) $(LIBWIDG3DIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \ |
96 |
$(LIBTABLEDIR) $(LIBUIDIR) $(LIBCOMPATDIR) $(LIBPRODIR) $(OTHERLIBDIRS) \ |
|
97 |
$(TOP)/fileIn $(TOP)/libtomcat $(TOP)/goodies $(TOP)/goodies/* \ |
|
98 |
$(TOP)/goodies/*/* $(TOP)/contrib/* $(TOP)/doc/coding \ |
|
99 |
$(EXTRA_SOURCEDIRS) |
|
10 | 100 |
|
11 | 101 |
# |
102 |
# including your own private lib in the make process and executable: |
|
103 |
# |
|
8 | 104 |
# for example, if you have a libprivate directory, |
11 | 105 |
# where libprivate.obj is built, and that one should be included, |
106 |
# add lines as below to your configuration/.../defines file: |
|
8 | 107 |
# PRIVATEOBJ=$(TOP)/libprivate/libprivate.obj |
108 |
# PRIVATE_SO=$(TOP)/libprivate/libprivate.so |
|
109 |
# PRIVATELIBS=libprivate |
|
110 |
||
111 |
# ---------------------- end additional stuff -------------------- |
|
112 |
||
113 |
||
6 | 114 |
# |
115 |
# default target: create the TARGET (usually smalltalk), |
|
116 |
# create subdirectories with source-links, bitmap-links and resource-links |
|
117 |
# |
|
24 | 118 |
all:: $(TARGET)$(TARGET_RULE_EXTENSION) symlinks |
6 | 119 |
|
120 |
# |
|
121 |
# same, force recreation of link-directories |
|
122 |
# |
|
25 | 123 |
allNew: $(TARGET)$(TARGET_RULE_EXTENSION) newResources styles newSource newBitmaps binary newInclude misc |
0 | 124 |
|
6 | 125 |
# |
11 | 126 |
# create symbolic links to sources, resources etc. |
127 |
# normally (on an end-user system) these should go into usr/local/lib/smalltalk |
|
128 |
# |
|
71 | 129 |
symlinks: resources styles newSource bitmaps bitmapLink binary binaryLink includeLink misc |
11 | 130 |
|
131 |
# |
|
6 | 132 |
# the standard smalltalk executable: |
133 |
# basic classes + view & widgets + tools + persistency |
|
134 |
# |
|
24 | 135 |
xsmalltalk: $(TARGET) |
136 |
||
137 |
smalltalk:: $(TARGET)$(TARGET_RULE_EXTENSION) |
|
7 | 138 |
|
82 | 139 |
# |
140 |
# demo for a graphical standAlone application (simply opening a FileBrowser) |
|
141 |
# |
|
142 |
demoApp1: |
|
93 | 143 |
-rm main.o modulList.* |
184 | 144 |
$(MAKE) main.o STARTUP_CLASS='"FileBrowser"' STARTUP_SELECTOR='"open"' |
82 | 145 |
$(MAKE) linkTarget TARGET=demoApp1 |
93 | 146 |
-rm main.o modulList.* |
82 | 147 |
|
148 |
# |
|
149 |
# demo for a non-graphical standAlone application (simply computing 100 factorial) |
|
150 |
# |
|
151 |
demoApp2: DemoApp2.o |
|
93 | 152 |
-rm main.o modulList.* |
184 | 153 |
$(MAKE) main.o STARTUP_CLASS='"DemoApp2"' STARTUP_SELECTOR='"start"' |
82 | 154 |
$(MAKE) linkTarget \ |
155 |
LIBLIST="$(MINI_LIST)" \ |
|
156 |
LIBOBJS="$(MINI_LIB)" \ |
|
157 |
TARGET=demoApp2 \ |
|
184 | 158 |
ADDITIONAL_OBJS="DemoApp2.o" \ |
159 |
ADDITIONAL_CLASSES="DemoApp2" |
|
94 | 160 |
-rm main.o modulList.* DemoApp2.st DemoApp2.o |
161 |
||
162 |
DemoApp2.o:: DemoApp2.st |
|
82 | 163 |
|
94 | 164 |
DemoApp2.st: |
165 |
-cp $(CLIENTDIR)/Demos/DemoApp2.st . |
|
130 | 166 |
|
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
167 |
# |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
168 |
# by default, the TARGET rule calls for one of the |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
169 |
# rules below. Which one is controlled by the |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
170 |
# architecture-specific definition file. |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
171 |
# |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
172 |
$(TARGET)_static: $(STATIC_LIBRUN) |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
173 |
@echo "making statically linked smalltalk ..." |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
174 |
@$(MAKE) linkIt \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
175 |
LIBOBJS="" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
176 |
LINK_OBJS="$(STATIC_OBJS)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
177 |
LINK_LIBOBJS="$(STATIC_LIBOBJS)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
178 |
LINK_LIBRUN="$(STATIC_LIBRUN)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
179 |
LIBRUN="$(STATIC_LIBRUN)" \ |
184 | 180 |
ADDITIONAL_OBJS=$(STATIC_ADDITIONAL_OBJS) \ |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
181 |
ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
182 |
EXTRA_OBJ="$(STATIC_EXTRA_OBJ)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
183 |
EXTRA_LINK_OBJ="$(STATIC_EXTRA_OBJ)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
184 |
LIBLIST="$(LIBLIST)" |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
185 |
$(MAKE) removeLinkLibs |
8 | 186 |
|
150 | 187 |
$(TARGET)_shared: |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
188 |
@echo "making shared library linked smalltalk ..." |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
189 |
@$(MAKE) linkIt \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
190 |
LIBOBJS="$(LIBOBJS)" \ |
184 | 191 |
ADDITIONAL_OBJS=$(ADDITIONAL_OBJS) \ |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
192 |
ADDITIONAL_CLASSES=$(ADDITIONAL_CLASSES) \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
193 |
EXTRA_OBJ="$(EXTRA_OBJ)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
194 |
EXTRA_LINK_OBJ="$(EXTRA_LINK_OBJ)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
195 |
LIBLIST="$(LIBLIST)" |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
196 |
|
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
197 |
$(TARGET)_fullstatic: $(STATIC_LIBRUN) |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
198 |
@echo "making full statically linked smalltalk ..." |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
199 |
@$(MAKE) linkIt \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
200 |
LIBOBJS="" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
201 |
LINK_OBJS="$(STATIC_OBJS)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
202 |
LINK_LIBOBJS="$(STATIC_LIBOBJS)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
203 |
LINK_LIBRUN="$(STATIC_LIBRUN)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
204 |
LIBRUN="$(STATIC_LIBRUN)" \ |
184 | 205 |
ADDITIONAL_OBJS=$(STATIC_ADDITIONAL_OBJS) \ |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
206 |
ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
207 |
EXTRA_OBJ="$(STATIC_EXTRA_OBJ)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
208 |
EXTRA_LINK_OBJ="$(STATIC_EXTRA_OBJ)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
209 |
LIBLIST="$(LIBLIST)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
210 |
MATHLIB="$(STATIC_MATHLIB)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
211 |
EXTRA_LIBS="$(STATIC_EXTRA_LIBS)" \ |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
212 |
SYSLIBS="$(STATIC_SYSLIBS)" |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
213 |
|
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
214 |
$(MAKE) removeLinkLibs |
8 | 215 |
|
130 | 216 |
AIX_SHARED_LIBOBJS= \ |
217 |
$(LIBBASICDIR)/libbasic.so \ |
|
218 |
$(LIBCOMPDIR)/libcomp.so \ |
|
150 | 219 |
$(LIBVIEWDIR)/libview.so \ |
130 | 220 |
$(LIBVIEW2DIR)/libview2.so \ |
221 |
$(LIBWIDGDIR)/libwidg.so \ |
|
150 | 222 |
$(LIBTOOLDIR)/libtool.so \ |
130 | 223 |
$(LIBBASIC2DIR)/libbasic2.so \ |
224 |
$(LIBBASIC3DIR)/libbasic3.so \ |
|
145 | 225 |
$(LIBHTMLDIR)/libhtml.so \ |
150 | 226 |
$(LIBWIDG2DIR)/libwidg2.so \ |
130 | 227 |
$(PERSDIR)/libdbase.so |
228 |
||
229 |
aix: |
|
162 | 230 |
@echo "making shared library linked smalltalk for aix ..." |
142 | 231 |
@$(MAKE) linkIt \ |
232 |
LIBOBJS="$(AIX_SHARED_LIBOBJS)" \ |
|
233 |
EXTRA_OBJ="$(EXTRA_OBJ)" \ |
|
234 |
EXTRA_LINK_OBJ="$(EXTRA_LINK_OBJ)" \ |
|
235 |
LIBLIST="$(LIBLIST)" \ |
|
162 | 236 |
LINK_LIBRUN=$(LINK_LIBDIR)librun.so \ |
142 | 237 |
LIBRUN=$(LIBRUNDIR)/librun.so |
130 | 238 |
|
132 | 239 |
aix_librun_only: |
240 |
@echo "making partial shared library linked smalltalk ..." |
|
241 |
@$(MAKE) linkIt LIBRUN=$(LIBRUNDIR)/librun.so |
|
242 |
||
101 | 243 |
forceStatic: |
244 |
(cd $(LIBBASICDIR) ; make libbasicInit.o) |
|
245 |
-rm $(LIBBASICDIR)/libbasic.o |
|
246 |
$(MAKE) linkIt LIBRUN="$(LIBRUNDIR)/*.o" LIBBASIC="$(LIBBASICDIR)/*.o" |
|
247 |
||
10 | 248 |
# |
249 |
# a "smaller" smalltalk (does not include development classes) |
|
250 |
# |
|
251 |
smalltalk_exec: |
|
24 | 252 |
-rm modulList.stc |
253 |
@$(MAKE) modulList.stc \ |
|
134 | 254 |
EXTRA_CLASSES="$(EXTRA_CLASSES) DebugView" \ |
255 |
EXTRA_OBJ="$(EXTRA_OBJ) $(LIBTOOLDIR)/DebugView$(BIN_O)" \ |
|
256 |
LIBLIST="$(FUNDAMENTAL_LIST)" |
|
15 | 257 |
@$(MAKE) smalltalk \ |
134 | 258 |
LIBLIST="$(FUNDAMENTAL_LIST)" \ |
259 |
EXTRA_CLASSES="$(EXTRA_CLASSES) DebugView" \ |
|
142 | 260 |
EXTRA_OBJ="$(EXTRA_OBJ) EXTRA_LINK_OBJ="$(EXTRA_LINK_OBJ)" \ |
261 |
$(LIBTOOLDIR)/DebugView$(BIN_O)" \ |
|
134 | 262 |
LIBOBJS="$(FUNDAMENTAL_LIB)" |
26 | 263 |
if [ ! -f binary/DebugView$(BIN_O) ]; then \ |
264 |
(cd binary ; ln -s ../../../libtool/DebugView.so .); \ |
|
265 |
fi |
|
7 | 266 |
|
24 | 267 |
$(LIBTOOLDIR)/DebugView.so: |
268 |
(cd $(LIBTOOLDIR) ; $(MAKE) DebugView.so) |
|
0 | 269 |
|
25 | 270 |
$(LIBTOOLDIR)/DebugView.o: |
271 |
(cd $(LIBTOOLDIR) ; $(MAKE) DebugView.o) |
|
272 |
||
273 |
$(LIBVIEWDIR)/XWorkstat.o: |
|
274 |
(cd $(LIBVIEWDIR) ; $(MAKE) XWorkstat.o) |
|
275 |
||
276 |
$(LIBVIEWDIR)/XWorkstat.so: |
|
277 |
(cd $(LIBVIEWDIR) ; $(MAKE) XWorkstat.so) |
|
278 |
||
279 |
$(LIBVIEWDIR)/GLXWorkstat.o: |
|
280 |
(cd $(LIBVIEWDIR) ; $(MAKE) GLXWorkstat.o) |
|
281 |
||
282 |
$(LIBVIEWDIR)/GLXWorkstat.so: |
|
283 |
(cd $(LIBVIEWDIR) ; $(MAKE) GLXWorkstat.so) |
|
284 |
||
285 |
$(LIBCOMPDIR)/ObjFLoader.o: |
|
286 |
(cd $(LIBCOMPDIR) ; $(MAKE) ObjFLoader.o) |
|
287 |
||
288 |
$(LIBCOMPDIR)/ObjFLoader.so: |
|
289 |
(cd $(LIBCOMPDIR) ; $(MAKE) ObjFLoader.so) |
|
290 |
||
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
291 |
$(LIBRUNDIR)/librun.a: |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
292 |
(cd $(LIBRUNDIR) ; $(MAKE) librun.a) |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
293 |
|
0 | 294 |
# |
295 |
# make list of classes for a standard smalltalk |
|
2 | 296 |
# (includes basic, view & widgets and Persistency) |
0 | 297 |
# |
7 | 298 |
BASICLIST: $(CLASSLISTS) |
299 |
-cat $(CLASSLISTS) > $(CLASSLIST) |
|
6 | 300 |
|
301 |
# |
|
27 | 302 |
# dont want these ttt-tempfile abbrevs to be included ... |
15 | 303 |
# |
16 | 304 |
abbrev.stc:: |
27 | 305 |
@-rm -f ttt*.* |
16 | 306 |
|
27 | 307 |
# |
308 |
# dont want local abbrevs to be included ... |
|
309 |
# |
|
15 | 310 |
collectAbbrev:: |
27 | 311 |
@-rm -f abbrev.stc |
112 | 312 |
-@if [ -d include ]; then \ |
130 | 313 |
if [ ! -f include/abbrev.stc ]; then \ |
314 |
(cd include; $(LNS) ../$(INCLUDE)/abbrev.stc . ); \ |
|
315 |
fi; \ |
|
112 | 316 |
fi |
317 |
||
318 |
collectAutoload:: |
|
319 |
@-rm -f autoloadList.stc |
|
320 |
-@if [ -d include ]; then \ |
|
130 | 321 |
if [ ! -f include/autoloadList.stc ]; then \ |
322 |
(cd include; $(LNS) ../$(INCLUDE)/autoloadList.stc . ); \ |
|
323 |
fi; \ |
|
112 | 324 |
fi |
15 | 325 |
|
82 | 326 |
classes:: |
327 |
-mkdir classes |
|
328 |
-for i in source/*.st; do \ |
|
130 | 329 |
stcomp -i stcomp.img $$i; \ |
82 | 330 |
done |
331 |
||
15 | 332 |
# |
0 | 333 |
# make a new source subdirectory |
6 | 334 |
# the source directory consists of sym-links to all .st files we find |
0 | 335 |
# |
336 |
newSource: |
|
337 |
-rm -rf source |
|
35 | 338 |
@-$(MAKE) sourceLink |
0 | 339 |
|
340 |
Source: source |
|
341 |
||
7 | 342 |
source: |
35 | 343 |
@-$(MAKE) sourceLink |
0 | 344 |
|
38 | 345 |
sourcelink:: sourceLink |
346 |
||
6 | 347 |
# |
7 | 348 |
# make a new include subdirectory and link to abbreviation file |
349 |
newInclude: |
|
350 |
-rm -rf include |
|
35 | 351 |
@-$(MAKE) includeLink |
7 | 352 |
|
38 | 353 |
includelink:: includeLink |
354 |
||
25 | 355 |
includeLink: |
35 | 356 |
@-rm -f ttt*.H |
38 | 357 |
@-if [ ! -d include ]; then \ |
358 |
mkdir include; \ |
|
35 | 359 |
fi |
38 | 360 |
@-if [ ! -r include/abbrev.stc ]; then \ |
361 |
if [ -f $(INCLUDE)/abbrev.stc ]; then \ |
|
362 |
echo "linking abbrev.stc ..."; \ |
|
363 |
(cd include; $(LNS) ../$(INCLUDE)/abbrev.stc .); \ |
|
364 |
else \ |
|
365 |
echo "oops - no $(INCLUDE)/abbrev.stc"; \ |
|
366 |
fi \ |
|
35 | 367 |
fi |
38 | 368 |
@-if [ ! -r include/liblist.stc ]; then \ |
369 |
if [ -f $(INCLUDE)/liblist.stc ]; then \ |
|
370 |
echo "linking liblist.stc ..."; \ |
|
371 |
(cd include; $(LNS) ../$(INCLUDE)/liblist.stc .); \ |
|
372 |
else \ |
|
373 |
echo "oops - no $(INCLUDE)/liblist.stc"; \ |
|
374 |
fi \ |
|
35 | 375 |
fi |
38 | 376 |
@-if [ ! -r include/symbols.stc ]; then \ |
377 |
if [ -f $(INCLUDE)/symbols.stc ]; then \ |
|
378 |
echo "linking symbols.stc ..."; \ |
|
35 | 379 |
(cd include; $(LNS) ../$(INCLUDE)/symbols.stc .); \ |
38 | 380 |
fi \ |
33 | 381 |
fi |
111 | 382 |
@-if [ ! -r include/autoloadList.stc ]; then \ |
383 |
if [ -f $(INCLUDE)/autoloadList.stc ]; then \ |
|
384 |
echo "linking autoloadList.stc ..."; \ |
|
385 |
(cd include; $(LNS) ../$(INCLUDE)/autoloadList.stc .); \ |
|
386 |
fi \ |
|
387 |
fi |
|
33 | 388 |
@-rm -f include/RCS include/CVS |
8 | 389 |
|
390 |
misc: examples |
|
391 |
||
392 |
examples: |
|
393 |
-mkdir examples examples/3D |
|
394 |
-(cd examples/3D; $(LNS) ../../$(TOP)/clients/GLdemos/*.data .) |
|
0 | 395 |
|
2 | 396 |
# |
397 |
# make a new binary subdirectory |
|
398 |
# (this is only useful on systems that support dynamic loading; |
|
399 |
# autoloaded classes will then be loaded from machine code files |
|
400 |
# instead of source) |
|
401 |
# |
|
0 | 402 |
newBinary: |
403 |
-rm -rf binary |
|
35 | 404 |
@-$(MAKE) binaryLink |
0 | 405 |
|
406 |
binary: |
|
35 | 407 |
@-$(MAKE) binaryLink |
0 | 408 |
|
38 | 409 |
binarylink:: binaryLink |
410 |
||
0 | 411 |
# |
412 |
# make a new bitmaps subdirectory |
|
2 | 413 |
# (simply collect the contents of all bitmap directories) |
0 | 414 |
# |
415 |
newBitmaps: |
|
416 |
-rm -rf bitmaps |
|
35 | 417 |
@-$(MAKE) bitmaps |
0 | 418 |
|
419 |
Bitmaps: bitmaps |
|
420 |
||
10 | 421 |
bitmaps: |
35 | 422 |
@-$(MAKE) bitmapLink |
0 | 423 |
|
38 | 424 |
bitmaplink:: bitmapLink |
425 |
||
2 | 426 |
# |
427 |
# clean out intermediate chunk |
|
428 |
# |
|
0 | 429 |
cleanjunk:: |
66
70bbef4d5737
Do not clean or clobber changes file.
Stefan Vogel <sv@exept.de>
parents:
51
diff
changeset
|
430 |
-rm -f a.out SymbolTable ttt main.c |
6 | 431 |
-rm -f classList.c fclassList.c nxclassList.c basicclassList.c |
432 |
-rm -f betaclassList.c miniList.c tinyList.c |
|
67
734370f8d967
clean rule has to remove modulList
Claus Gittinger <cg@exept.de>
parents:
66
diff
changeset
|
433 |
-rm -f modulList.stc modulList.c modulList.o |
16 | 434 |
-rm -f pers* pers2 data data2 data.boss tetris.scores |
0 | 435 |
|
26 | 436 |
cleanlinks: |
437 |
-rm -rf source bitmaps binaries resources examples include |
|
438 |
||
2 | 439 |
# |
440 |
# clean out all that is not needed to run smalltalk |
|
441 |
# |
|
0 | 442 |
clean:: |
66
70bbef4d5737
Do not clean or clobber changes file.
Stefan Vogel <sv@exept.de>
parents:
51
diff
changeset
|
443 |
-rm -f a.out SymbolTable ttt main.c |
67
734370f8d967
clean rule has to remove modulList
Claus Gittinger <cg@exept.de>
parents:
66
diff
changeset
|
444 |
-rm -f modulList.stc modulList.c modulList.o |
11 | 445 |
-rm -f classList.stc classList.c classList.o |
0 | 446 |
-rm -f fclassList.stc fclassList.c |
447 |
-rm -f nxclassList.stc nxclassList.c |
|
6 | 448 |
-rm -f basicclassList.stc basicclassList.c |
449 |
-rm -f betaclassList.stc betaclassList.c |
|
2 | 450 |
-rm -f miniList.stc miniList.c |
451 |
-rm -f tinyList.stc tinyList.c |
|
16 | 452 |
-rm -f pers pers2 data data2 data.boss tetris.scores |
124
65335ebbbc01
also remove modules in clobber
Claus Gittinger <cg@exept.de>
parents:
113
diff
changeset
|
453 |
-rm -f st.img st2.img st.img.sav errorOutput |
25 | 454 |
-rm -f .stx*.mem |
124
65335ebbbc01
also remove modules in clobber
Claus Gittinger <cg@exept.de>
parents:
113
diff
changeset
|
455 |
-rm -rf modules stxtmp* |
0 | 456 |
|
2 | 457 |
# |
458 |
# clean out all that can be regenerated |
|
459 |
# |
|
0 | 460 |
clobber:: |
146 | 461 |
$(MAKE) removeLinkLibs |
67
734370f8d967
clean rule has to remove modulList
Claus Gittinger <cg@exept.de>
parents:
66
diff
changeset
|
462 |
-rm -f modulList.stc modulList.c modulList.o |
66
70bbef4d5737
Do not clean or clobber changes file.
Stefan Vogel <sv@exept.de>
parents:
51
diff
changeset
|
463 |
-rm -rf resources source binary bitmaps include examples |
172 | 464 |
-rm -f stx st.img st.img.sav |
465 |
-rm -f main.o symbols.h |
|
124
65335ebbbc01
also remove modules in clobber
Claus Gittinger <cg@exept.de>
parents:
113
diff
changeset
|
466 |
-rm -rf modules |
0 | 467 |
|
468 |
# |
|
469 |
# make a new resources subdirectory |
|
470 |
# |
|
471 |
newResources: |
|
472 |
rm -rf resources |
|
32 | 473 |
@$(MAKE) resources styles |
0 | 474 |
|
475 |
resources: |
|
476 |
-mkdir resources |
|
32 | 477 |
@$(MAKE) resourceLink |
478 |
||
38 | 479 |
resourcelink: resourceLink |
480 |
||
16 | 481 |
resourceLink: |
32 | 482 |
@-if [ "`echo $(LIBBASICDIR)/resources/*`" != '$(LIBBASICDIR)/resources/*' ]; then \ |
38 | 483 |
echo "linking resource files from $(LIBBASICDIR) ..."; \ |
8 | 484 |
(cd resources; $(LNS) ../$(LIBBASICDIR)/resources/* .); \ |
32 | 485 |
rm -f resources/RCS resources/CVS; \ |
8 | 486 |
fi |
32 | 487 |
@-if [ "`echo $(LIBVIEWDIR)/resources/*`" != '$(LIBVIEWDIR)/resources/*' ]; then \ |
38 | 488 |
echo "linking resource files from $(LIBVIEWDIR) ..."; \ |
8 | 489 |
(cd resources; $(LNS) ../$(LIBVIEWDIR)/resources/* .); \ |
32 | 490 |
rm -f resources/RCS resources/CVS; \ |
8 | 491 |
fi |
32 | 492 |
@-if [ "`echo $(LIBVIEW2DIR)/resources/*`" != '$(LIBVIEW2DIR)/resources/*' ]; then \ |
38 | 493 |
echo "linking resource files from $(LIBVIEW2DIR) ..."; \ |
26 | 494 |
(cd resources; $(LNS) ../$(LIBVIEW2DIR)/resources/* .); \ |
32 | 495 |
rm -f resources/RCS resources/CVS; \ |
26 | 496 |
fi |
32 | 497 |
@-if [ "`echo $(LIBWIDGDIR)/resources/*`" != '$(LIBWIDGDIR)/resources/*' ]; then \ |
38 | 498 |
echo "linking resource files from $(LIBWIDGDIR) ..."; \ |
8 | 499 |
(cd resources; $(LNS) ../$(LIBWIDGDIR)/resources/* .); \ |
32 | 500 |
rm -f resources/RCS resources/CVS; \ |
8 | 501 |
fi |
32 | 502 |
@-if [ "`echo $(LIBWIDG2DIR)/resources/*`" != '$(LIBWIDG2DIR)/resources/*' ]; then \ |
38 | 503 |
echo "linking resource files from $(LIBWIDG2DIR) ..."; \ |
8 | 504 |
(cd resources; $(LNS) ../$(LIBWIDG2DIR)/resources/* .); \ |
32 | 505 |
rm -f resources/RCS resources/CVS; \ |
8 | 506 |
fi |
32 | 507 |
@-if [ "`echo $(LIBWIDG3DIR)/resources/*`" != '$(LIBWIDG3DIR)/resources/*' ]; then \ |
38 | 508 |
echo "linking resource files from $(LIBWIDG3DIR) ..."; \ |
8 | 509 |
(cd resources; $(LNS) ../$(LIBWIDG3DIR)/resources/* .); \ |
32 | 510 |
rm -f resources/RCS resources/CVS; \ |
8 | 511 |
fi |
32 | 512 |
@-if [ "`echo $(LIBTOOLDIR)/resources/*`" != '$(LIBTOOLDIR)/resources/*' ]; then \ |
38 | 513 |
echo "linking resource files from $(LIBTOOLDIR) ..."; \ |
8 | 514 |
(cd resources; $(LNS) ../$(LIBTOOLDIR)/resources/* .); \ |
32 | 515 |
rm -f resources/RCS resources/CVS; \ |
8 | 516 |
fi |
32 | 517 |
@-if [ "`echo $(LIBTABLEDIR)/resources/*`" != '$(LIBTABLEDIR)/resources/*' ]; then \ |
38 | 518 |
echo "linking resource files from $(LIBTABLEDIR) ..."; \ |
16 | 519 |
(cd resources; $(LNS) ../$(LIBTABLEDIR)/resources/* .); \ |
32 | 520 |
rm -f resources/RCS resources/CVS; \ |
16 | 521 |
fi |
32 | 522 |
@-if [ "`echo $(TOP)/fileIn/resources/*`" != '$(TOP)/fileIn/resources/*' ]; then \ |
38 | 523 |
echo "linking resource files from $(TOP)/fileIn ..."; \ |
8 | 524 |
(cd resources; $(LNS) ../$(TOP)/fileIn/resources/* .); \ |
32 | 525 |
rm -f resources/RCS resources/CVS; \ |
8 | 526 |
fi |
32 | 527 |
@-if [ "`echo $(CLIENTDIR)/*/resources/*`" != '$(CLIENTDIR)/*/resources/*' ]; then \ |
38 | 528 |
echo "linking resource files from $(CLIENTDIR) ..."; \ |
8 | 529 |
(cd resources; $(LNS) ../$(CLIENTDIR)/*/resources/* .); \ |
32 | 530 |
rm -f resources/RCS resources/CVS; \ |
8 | 531 |
fi |
0 | 532 |
|
26 | 533 |
styles: resources |
32 | 534 |
@-echo "linking style files from $(LIBVIEWDIR)/styles ..." |
35 | 535 |
@-rm -f resources/*.style resources/*.common |
32 | 536 |
@-(cd resources; $(LNS) ../$(LIBVIEWDIR)/styles/* .) |
537 |
@rm -f resources/RCS resources/CVS |
|
0 | 538 |
|
158 | 539 |
main.o:: $(INCLUDE)/stc.h $(INCLUDE)/stcIntern.h Makefile |
0 | 540 |
|
6 | 541 |
# |
542 |
# installation rules |
|
543 |
# |
|
0 | 544 |
|
6 | 545 |
install:: installThis |
546 |
||
547 |
# |
|
548 |
# install binary only |
|
549 |
# |
|
0 | 550 |
binInstall:: |
551 |
-mkdir $(DESTLIBDIR) |
|
552 |
-mkdir $(DESTBINDIR) |
|
553 |
$(INSTALL) smalltalk $(DESTBINDIR) |
|
554 |
-strip $(DESTBINDIR)/smalltalk |
|
555 |
||
6 | 556 |
# |
557 |
# install all local stuff |
|
0 | 558 |
# |
559 |
# notice the [x-y]* patterns; some unixes (at&t) dont like too many arguments ... |
|
560 |
# |
|
561 |
installThis:: |
|
562 |
-mkdir $(DESTLIBDIR) |
|
563 |
-mkdir $(DESTBINDIR) |
|
564 |
$(INSTALL) smalltalk $(DESTBINDIR) |
|
565 |
-strip $(DESTBINDIR)/smalltalk |
|
566 |
-mkdir $(DESTLIBDIR)/source |
|
567 |
-chmod a+rx $(DESTLIBDIR)/source |
|
568 |
-cp source/[A-G]* $(DESTLIBDIR)/source |
|
569 |
-cp source/[H-P]* $(DESTLIBDIR)/source |
|
570 |
-cp source/[Q-Z]* $(DESTLIBDIR)/source |
|
571 |
-chmod a+r $(DESTLIBDIR)/source/[A-G]* |
|
572 |
-chmod a+r $(DESTLIBDIR)/source/[H-P]* |
|
573 |
-chmod a+r $(DESTLIBDIR)/source/[Q-Z]* |
|
574 |
-mkdir $(DESTLIBDIR)/bitmaps |
|
575 |
-chmod a+rx $(DESTLIBDIR)/bitmaps |
|
576 |
-cp bitmaps/[A-I]* $(DESTLIBDIR)/bitmaps |
|
577 |
-cp bitmaps/[J-Z]* $(DESTLIBDIR)/bitmaps |
|
578 |
-cp bitmaps/[a-i]* $(DESTLIBDIR)/bitmaps |
|
579 |
-cp bitmaps/[j-z]* $(DESTLIBDIR)/bitmaps |
|
580 |
-chmod a+r $(DESTLIBDIR)/bitmaps/[A-I]* |
|
581 |
-chmod a+r $(DESTLIBDIR)/bitmaps/[J-Z]* |
|
582 |
-chmod a+r $(DESTLIBDIR)/bitmaps/[a-i]* |
|
583 |
-chmod a+r $(DESTLIBDIR)/bitmaps/[j-z]* |
|
584 |
-chmod a+rx $(DESTLIBDIR)/resources |
|
585 |
-mkdir $(DESTLIBDIR)/resources |
|
586 |
-cp resources/* $(DESTLIBDIR)/resources |
|
587 |
-chmod a+r $(DESTLIBDIR)/resources/*.rs |
|
588 |
-cp *.rc *.stc patches $(DESTLIBDIR) |
|
589 |
-chmod a+r $(DESTLIBDIR)/*.rc $(DESTLIBDIR)/*.stc $(DESTLIBDIR)/patches |
|
590 |
||
591 |
qinstall:: installThis |