author | Claus Gittinger <cg@exept.de> |
Wed, 09 Nov 2005 15:55:16 +0100 | |
changeset 666 | b99465caf959 |
parent 640 | 6827ded1a510 |
child 703 | 88c6e68c37f5 |
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 |
# |
556
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
16 |
# make smalltalk ADDITIONAL_OBJS=<list of object files> \ |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
17 |
# ADDITIONAL_CLASSES=<list of class names> |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
18 |
# generates a customized executable, containing additional |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
19 |
# class (list of classes) which are to be found in the object |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
20 |
# files (list of object files). |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
21 |
# Example: |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
22 |
# make smalltalk ADDITIONAL_OBJS=Foo.o ADDITIONAL_CLASSES=Foo |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
23 |
# |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
24 |
# No longer maintained (make could fail): |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
25 |
# |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
26 |
# make stx_static (ELF based systems only): |
189 | 27 |
# generates a smalltalk with statically linked |
28 |
# 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
|
29 |
# |
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
30 |
# make stx_fullstatic (ELF based systems only): |
189 | 31 |
# generates a fully statically linked smalltalk |
32 |
# (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
|
33 |
# |
0 | 34 |
|
7 | 35 |
TOP=../.. |
0 | 36 |
SUBDIRS= |
384 | 37 |
SUPPRESS_LOCAL_ABBREVS="yes" |
398 | 38 |
# |
39 |
# these are installed when installing their |
|
40 |
# package dir ... |
|
41 |
# |
|
42 |
SUPPRESS_INSTALL_BITMAPS="yes" |
|
43 |
SUPPRESS_INSTALL_RESOURCES="yes" |
|
44 |
||
45 |
INSTALLBIN_DIR=$(INSTALLBASE)/bin |
|
46 |
INSTALLLIB_DIR=$(INSTALLBASE)/lib |
|
0 | 47 |
|
13 | 48 |
RCSSOURCES=*.rc patches Make.proto |
26 | 49 |
LINKSOURCES=*.rc patches Make.proto |
13 | 50 |
|
150 | 51 |
DELIVERBINARIES=stx |
71 | 52 |
|
6 | 53 |
# |
54 |
# other definitions to use for things compiled here |
|
55 |
# |
|
56 |
LOCALDEFS=-DDEBUG |
|
488
521e2d58f050
Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents:
486
diff
changeset
|
57 |
#ST_LDFLAG= |
0 | 58 |
|
259
a5e174f1ee6d
do not enter local abrbevs into common abbrev.stc file
Claus Gittinger <cg@exept.de>
parents:
248
diff
changeset
|
59 |
# 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
|
60 |
SUPPRESS_LOCAL_ABBREVS=1 |
a5e174f1ee6d
do not enter local abrbevs into common abbrev.stc file
Claus Gittinger <cg@exept.de>
parents:
248
diff
changeset
|
61 |
|
6 | 62 |
# |
7 | 63 |
# this defines where the show starts |
64 |
# |
|
65 |
STARTUP_CLASS="Smalltalk" |
|
0 | 66 |
STARTUP_SELECTOR="start" |
67 |
||
10 | 68 |
# |
11 | 69 |
# including your own private lib in the make process and executable: |
70 |
# |
|
8 | 71 |
# for example, if you have a libprivate directory, |
11 | 72 |
# where libprivate.obj is built, and that one should be included, |
73 |
# add lines as below to your configuration/.../defines file: |
|
8 | 74 |
# PRIVATEOBJ=$(TOP)/libprivate/libprivate.obj |
75 |
# PRIVATE_SO=$(TOP)/libprivate/libprivate.so |
|
76 |
# PRIVATELIBS=libprivate |
|
77 |
||
556
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
78 |
# This defines which library packages are linked in. |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
79 |
# See COMMON/defines for what those XXX_LIB etc. are |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
80 |
# |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
81 |
# MINI_LIB = libbasic, libcomp $(PRIVATELIBS) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
82 |
# FUNDAMENTAL_LIB = above PLUS libview, libwidg |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
83 |
# DEVELOP_LIB = above PLUS libtool refactoring |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
84 |
# STANDARD_LIB = above PLUS libwidg2, libdbase |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
85 |
# EXTENDED_LIB = above PLUS libwidg3 |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
86 |
|
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
87 |
CLASSLIBDIRS = $(STANDARD_DIR) $(PRIVATE_CLASSLIBDIRS) $(ARCH_CLASSLIBDIRS) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
88 |
LIBOBJS = $(STANDARD_LIB) $(PRIVATE_OBJS) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
89 |
LINK_LIBOBJS = $(LINK_STANDARD_LIB) $(PRIVATE_OBJS) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
90 |
STATIC_LIBOBJS = $(STATIC_STANDARD_LIB) $(PRIVATE_OBJS) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
91 |
LIBLIST = $(STANDARD_LIST) $(PRIVATE_LIBS) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
92 |
|
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
93 |
WORKSTAT1 = XWorkstation |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
94 |
WORKSTAT2 = GLXWorkstation |
569 | 95 |
EXTRA_UI_CLASSES= $(WORKSTAT1) $(WORKSTAT2) |
556
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
96 |
|
569 | 97 |
EXTRA_UI_OBJ=\ |
556
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
98 |
$(OPTIONAL_XWORKSTATION_OBJ) \ |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
99 |
$(OPTIONAL_GLXWORKSTATION_OBJ) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
100 |
|
569 | 101 |
STATIC_EXTRA_UI_OBJ=\ |
556
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
102 |
$(STATIC_OPTIONAL_XWORKSTATION_OBJ) \ |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
103 |
$(STATIC_OPTIONAL_GLXWORKSTATION_OBJ) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
104 |
|
569 | 105 |
EXTRA_LINK_UI_OBJ=\ |
556
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
106 |
$(OPTIONAL_LINK_XWORKSTATION_OBJ) \ |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
107 |
$(OPTIONAL_LINK_GLXWORKSTATION_OBJ) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
108 |
|
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
109 |
OPTIONAL_LIBGL_TARGET = $(LIB_GL_TARGET) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
110 |
OPTIONAL_GL_LIB = $(LIB_GL) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
111 |
OPTIONAL_LINK_GL_LIB = $(LINK_LIB_GL) |
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
112 |
|
8 | 113 |
# ---------------------- end additional stuff -------------------- |
114 |
||
115 |
||
6 | 116 |
# |
556
c2f0be91462a
all library definitions are now here - no need for a PACK file
Claus Gittinger <cg@exept.de>
parents:
555
diff
changeset
|
117 |
# default target: create the TARGET (usually smalltalk) |
6 | 118 |
# |
232 | 119 |
all:: $(TARGET)$(TARGET_RULE_EXTENSION) symlinks |
233 | 120 |
@-if [ "$(ALSO_MAKE_STATIC_TARGET)" = "1" ]; then \ |
232 | 121 |
mv stx stx_dynamic; \ |
122 |
$(MAKE) stx_fullstatic; \ |
|
123 |
fi |
|
6 | 124 |
|
125 |
# |
|
126 |
# same, force recreation of link-directories |
|
127 |
# |
|
522 | 128 |
allNew: $(TARGET)$(TARGET_RULE_EXTENSION) misc |
233 | 129 |
@-if [ "$(ALSO_MAKE_STATIC_TARGET)" = "1" ]; then \ |
232 | 130 |
mv stx stx_dynamic; \ |
131 |
$(MAKE) stx_fullstatic; \ |
|
132 |
fi |
|
0 | 133 |
|
6 | 134 |
# |
11 | 135 |
# create symbolic links to sources, resources etc. |
136 |
# normally (on an end-user system) these should go into usr/local/lib/smalltalk |
|
137 |
# |
|
522 | 138 |
symlinks: includeLink misc |
11 | 139 |
|
140 |
# |
|
6 | 141 |
# the standard smalltalk executable: |
142 |
# basic classes + view & widgets + tools + persistency |
|
143 |
# |
|
24 | 144 |
smalltalk:: $(TARGET)$(TARGET_RULE_EXTENSION) |
7 | 145 |
|
82 | 146 |
# |
522 | 147 |
# a specialized mySmalltalk with additional class(es) and additional |
148 |
# C-library builtIn |
|
186 | 149 |
# |
522 | 150 |
MY_ADDITIONAL_OBJECTS=Foo.$(O) |
151 |
MY_ADDITIONAL_CLASSES=Foo |
|
152 |
MY_ADDITIONAL_LIBS=$(TOP)/../myClasses/libFoo.a |
|
207 | 153 |
|
154 |
mySmalltalk: $(MY_ADDITIONAL_OBJECTS) |
|
155 |
@echo "making special smalltalk ..." |
|
568 | 156 |
@$(MAKE) linkTarget \ |
570 | 157 |
LIBOBJS="$(LIBOBJS) $(EXTRA_UI_OBJ)" \ |
207 | 158 |
LINK_OBJS="$(LINK_OBJS)" \ |
572
1b4ce1db0e52
Use EXTRA_LINK_UI_OBJ when linking smalltalk_shared
Stefan Vogel <sv@exept.de>
parents:
570
diff
changeset
|
159 |
LINK_LIBOBJS="$(LINK_LIBOBJS) $(EXTRA_LINK_UI_OBJ)" \ |
207 | 160 |
LINK_LIBRUN="$(LINK_LIBRUN)" \ |
161 |
LIBRUN="$(LIBRUN)" \ |
|
162 |
ADDITIONAL_OBJS=$(MY_ADDITIONAL_OBJECTS) \ |
|
163 |
ADDITIONAL_CLASSES=$(MY_ADDITIONAL_CLASSES) \ |
|
164 |
ADDITIONAL_LIBS=$(MY_ADDITIONAL_LIBS) \ |
|
165 |
LIBLIST="$(LIBLIST)" |
|
237 | 166 |
@$(MAKE) removeLinkLibs |
207 | 167 |
|
168 |
# |
|
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
169 |
# 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
|
170 |
# 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
|
171 |
# 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
|
172 |
# |
569 | 173 |
$(TARGET)_shared: |
174 |
@echo "making shared library linked smalltalk ..." |
|
640 | 175 |
echo EXTRA_LINK_UI_OBJ = $(EXTRA_LINK_UI_OBJ) |
569 | 176 |
$(MAKE) linkTarget \ |
177 |
LIBOBJS="$(LIBOBJS) $(EXTRA_UI_OBJ)" \ |
|
572
1b4ce1db0e52
Use EXTRA_LINK_UI_OBJ when linking smalltalk_shared
Stefan Vogel <sv@exept.de>
parents:
570
diff
changeset
|
178 |
LINK_LIBOBJS="$(LINK_LIBOBJS) $(EXTRA_LINK_UI_OBJ)" \ |
569 | 179 |
LINK_LIBRUN=$(LINK_LIBRUN) \ |
180 |
LIBRUN=$(LIBRUN) \ |
|
181 |
ADDITIONAL_OBJS=$(ADDITIONAL_OBJS) \ |
|
182 |
ADDITIONAL_CLASSES=$(ADDITIONAL_CLASSES) \ |
|
183 |
LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)" |
|
184 |
||
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
185 |
$(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
|
186 |
@echo "making statically linked smalltalk ..." |
568 | 187 |
@$(MAKE) linkTarget \ |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
188 |
LIBOBJS="" \ |
569 | 189 |
LINK_OBJS="$(STATIC_OBJS) $(STATIC_EXTRA_UI_OBJ)" \ |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
190 |
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
|
191 |
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
|
192 |
LIBRUN="$(STATIC_LIBRUN)" \ |
184 | 193 |
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
|
194 |
ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \ |
569 | 195 |
LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)" |
237 | 196 |
@$(MAKE) removeLinkLibs |
8 | 197 |
|
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
198 |
$(TARGET)_fullstatic: $(STATIC_LIBRUN) |
285 | 199 |
if [ -f $(LIBRUNDIR)/librun.a ]; then \ |
200 |
echo "librun.a already made."; \ |
|
201 |
else \ |
|
523 | 202 |
(cd $(LIBRUNDIR); $(MAKE) librun.a); \ |
285 | 203 |
fi |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
204 |
@echo "making full statically linked smalltalk ..." |
568 | 205 |
@$(MAKE) linkTarget \ |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
206 |
LIBOBJS="" \ |
569 | 207 |
LINK_OBJS="$(STATIC_OBJS) $(STATIC_EXTRA_UI_OBJ)" \ |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
208 |
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
|
209 |
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
|
210 |
LIBRUN="$(STATIC_LIBRUN)" \ |
184 | 211 |
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
|
212 |
ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \ |
569 | 213 |
LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)" \ |
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
214 |
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
|
215 |
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
|
216 |
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
|
217 |
|
237 | 218 |
@$(MAKE) removeLinkLibs |
8 | 219 |
|
130 | 220 |
AIX_SHARED_LIBOBJS= \ |
221 |
$(LIBBASICDIR)/libbasic.so \ |
|
222 |
$(LIBCOMPDIR)/libcomp.so \ |
|
150 | 223 |
$(LIBVIEWDIR)/libview.so \ |
130 | 224 |
$(LIBVIEW2DIR)/libview2.so \ |
225 |
$(LIBWIDGDIR)/libwidg.so \ |
|
150 | 226 |
$(LIBTOOLDIR)/libtool.so \ |
130 | 227 |
$(LIBBASIC2DIR)/libbasic2.so \ |
228 |
$(LIBBASIC3DIR)/libbasic3.so \ |
|
145 | 229 |
$(LIBHTMLDIR)/libhtml.so \ |
150 | 230 |
$(LIBWIDG2DIR)/libwidg2.so \ |
130 | 231 |
$(PERSDIR)/libdbase.so |
232 |
||
233 |
aix: |
|
162 | 234 |
@echo "making shared library linked smalltalk for aix ..." |
568 | 235 |
@$(MAKE) linkTarget \ |
142 | 236 |
LIBOBJS="$(AIX_SHARED_LIBOBJS)" \ |
237 |
EXTRA_OBJ="$(EXTRA_OBJ)" \ |
|
238 |
EXTRA_LINK_OBJ="$(EXTRA_LINK_OBJ)" \ |
|
239 |
LIBLIST="$(LIBLIST)" \ |
|
162 | 240 |
LINK_LIBRUN=$(LINK_LIBDIR)librun.so \ |
142 | 241 |
LIBRUN=$(LIBRUNDIR)/librun.so |
130 | 242 |
|
132 | 243 |
aix_librun_only: |
244 |
@echo "making partial shared library linked smalltalk ..." |
|
568 | 245 |
@$(MAKE) linkTarget LIBRUN=$(LIBRUNDIR)/librun.so |
132 | 246 |
|
101 | 247 |
forceStatic: |
523 | 248 |
(cd $(LIBBASICDIR) ; $(MAKE) libbasicInit.o) |
332
6cda703e3dd5
- Fixes to avoid using '-' rules to ignore an exit status:
manfred
parents:
330
diff
changeset
|
249 |
-rm -f $(LIBBASICDIR)/libbasic.o |
568 | 250 |
$(MAKE) linkTarget LIBRUN="$(LIBRUNDIR)/*.o" LIBBASIC="$(LIBBASICDIR)/*.o" |
101 | 251 |
|
393 | 252 |
$(LIBVIEWDIR)/XWorkstation.o: |
555 | 253 |
(cd $(LIBVIEWDIR) ; $(MAKE) XWorkstation.o) |
25 | 254 |
|
393 | 255 |
$(LIBVIEWDIR)/XWorkstation.so: |
555 | 256 |
(cd $(LIBVIEWDIR) ; $(MAKE) XWorkstation.so) |
25 | 257 |
|
393 | 258 |
$(LIBVIEWDIR)/GLXWorkstation.o: |
555 | 259 |
(cd $(LIBVIEWDIR) ; $(MAKE) GLXWorkstation.o) |
25 | 260 |
|
393 | 261 |
$(LIBVIEWDIR)/GLXWorkstation.so: |
555 | 262 |
(cd $(LIBVIEWDIR) ; $(MAKE) GLXWorkstation.so) |
25 | 263 |
|
178
7ab96c8246bd
added stx_static & stx_fullstatic support on shared lib systems (Linux-ELF)
Claus Gittinger <cg@exept.de>
parents:
176
diff
changeset
|
264 |
|
0 | 265 |
# |
266 |
# make list of classes for a standard smalltalk |
|
2 | 267 |
# (includes basic, view & widgets and Persistency) |
0 | 268 |
# |
7 | 269 |
BASICLIST: $(CLASSLISTS) |
270 |
-cat $(CLASSLISTS) > $(CLASSLIST) |
|
6 | 271 |
|
272 |
# |
|
27 | 273 |
# dont want these ttt-tempfile abbrevs to be included ... |
15 | 274 |
# |
16 | 275 |
abbrev.stc:: |
27 | 276 |
@-rm -f ttt*.* |
16 | 277 |
|
27 | 278 |
# |
362 | 279 |
# currently, abbrev,stc must be made cross |
280 |
# |
|
281 |
ntAbbrev.stc: include/abbrev.stc |
|
282 |
cp include/abbrev.stc ntAbbrev.stc |
|
283 |
||
284 |
# |
|
27 | 285 |
# dont want local abbrevs to be included ... |
286 |
# |
|
15 | 287 |
collectAbbrev:: |
27 | 288 |
@-rm -f abbrev.stc |
408 | 289 |
@-if [ "$(SUPPRESS_ABBREVS)" = "" ]; then \ |
290 |
if [ -d include ]; then \ |
|
130 | 291 |
if [ ! -f include/abbrev.stc ]; then \ |
383 | 292 |
(cd include; $(LNS) ../$(INCLUDE)/abbrev.stc . ); \ |
408 | 293 |
fi; \ |
294 |
fi; \ |
|
112 | 295 |
fi |
296 |
||
297 |
collectAutoload:: |
|
298 |
@-rm -f autoloadList.stc |
|
332
6cda703e3dd5
- Fixes to avoid using '-' rules to ignore an exit status:
manfred
parents:
330
diff
changeset
|
299 |
@-if [ -d include ]; then \ |
130 | 300 |
if [ ! -f include/autoloadList.stc ]; then \ |
301 |
(cd include; $(LNS) ../$(INCLUDE)/autoloadList.stc . ); \ |
|
302 |
fi; \ |
|
112 | 303 |
fi |
15 | 304 |
|
82 | 305 |
classes:: |
332
6cda703e3dd5
- Fixes to avoid using '-' rules to ignore an exit status:
manfred
parents:
330
diff
changeset
|
306 |
test -d classes || mkdir classes |
82 | 307 |
-for i in source/*.st; do \ |
130 | 308 |
stcomp -i stcomp.img $$i; \ |
82 | 309 |
done |
310 |
||
522 | 311 |
include: includeLink |
8 | 312 |
|
313 |
misc: examples |
|
314 |
||
315 |
examples: |
|
332
6cda703e3dd5
- Fixes to avoid using '-' rules to ignore an exit status:
manfred
parents:
330
diff
changeset
|
316 |
test -d examples || mkdir examples examples/3D |
6cda703e3dd5
- Fixes to avoid using '-' rules to ignore an exit status:
manfred
parents:
330
diff
changeset
|
317 |
-(cd examples/3D; $(LNS) ../../$(TOP)/clients/GLdemos/*.data . 2> /dev/null) |
0 | 318 |
|
2 | 319 |
# |
320 |
# clean out intermediate chunk |
|
321 |
# |
|
0 | 322 |
cleanjunk:: |
334 | 323 |
@-rm -f a.out SymbolTable ttt main.c |
324 |
@-rm -f classList.c fclassList.c nxclassList.c basicclassList.c |
|
325 |
@-rm -f betaclassList.c miniList.c tinyList.c |
|
326 |
@-rm -f modulList.stc modulList.c modulList.o |
|
327 |
@-rm -f pers* pers2 data data2 data.boss tetris.scores |
|
0 | 328 |
|
26 | 329 |
cleanlinks: |
334 | 330 |
@-rm -rf source bitmaps binaries resources examples include |
26 | 331 |
|
2 | 332 |
# |
333 |
# clean out all that is not needed to run smalltalk |
|
334 |
# |
|
0 | 335 |
clean:: |
334 | 336 |
@-rm -f a.out SymbolTable ttt main.c |
337 |
@-rm -f modulList.stc modulList.c modulList.o |
|
338 |
@-rm -f classList.stc classList.c classList.o |
|
339 |
@-rm -f fclassList.stc fclassList.c |
|
340 |
@-rm -f nxclassList.stc nxclassList.c |
|
341 |
@-rm -f basicclassList.stc basicclassList.c |
|
342 |
@-rm -f betaclassList.stc betaclassList.c |
|
343 |
@-rm -f miniList.stc miniList.c |
|
344 |
@-rm -f tinyList.stc tinyList.c |
|
345 |
@-rm -f pers pers2 data data2 data.boss tetris.scores |
|
346 |
@-rm -f st.img st2.img st.img.sav errorOutput |
|
486 | 347 |
@-rm -f .stx*.mem |
334 | 348 |
@-rm -rf modules stxtmp* |
0 | 349 |
|
2 | 350 |
# |
351 |
# clean out all that can be regenerated |
|
352 |
# |
|
0 | 353 |
clobber:: |
334 | 354 |
@$(MAKE) removeLinkLibs |
355 |
@-rm -f modulList.stc modulList.c modulList.o |
|
522 | 356 |
@-rm -rf resources source bitmaps include examples lib |
334 | 357 |
@-rm -f stx st.img st.img.sav st.sav |
486 | 358 |
@-rm -f main.o |
334 | 359 |
@-rm -rf modules |
360 |
@-rm -rf stxtmp_* |
|
0 | 361 |
|
666 | 362 |
main.o:: $(INCLUDE)/stc.h $(INCLUDE)/stcIntern.h makefile |
0 | 363 |
|
398 | 364 |
installProgsIf:: $(INSTALLBIN_DIR) |
400 | 365 |
@-echo "installing smalltalk..." |
398 | 366 |
$(INSTALL_SCRIPT_CMD) smalltalk $(INSTALLBIN_DIR) |
400 | 367 |
@-echo "installing stx..." |
383 | 368 |
$(INSTALL_BIN_CMD) stx $(INSTALLBIN_DIR) |
369 |
-strip $(INSTALLBIN_DIR)/stx |
|
370 |
||
398 | 371 |
installAux:: installRCScripts |
383 | 372 |
|
398 | 373 |
installRCScripts:: |
400 | 374 |
@-echo "installing rc scripts..." |
398 | 375 |
$(INSTALL_AUX_CMD) *.rc $(INSTALLLIB_DIR) |
418 | 376 |
$(INSTALL_AUX_CMD) *.xpm $(INSTALLLIB_DIR) |