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