--- a/Make.proto Sun Nov 17 13:33:39 1996 +0100
+++ b/Make.proto Tue Nov 19 22:35:13 1996 +0100
@@ -13,6 +13,14 @@
# make smalltalk
# generates a standard smalltalk executable only
#
+# make stx_static (ELF based systems only):
+# generates a smalltalk with statically linked
+# class libs. (still uses dynamic unix libraries)
+#
+# make stx_fullstatic (ELF based systems only):
+# generates a fully statically linked smalltalk
+# (even system libs are linked in)
+#
# make smalltalk ADDITIONAL_OBJS=<list of object files> \
# ADDITIONAL_CLASSES=<list of class names>
# generates a customized executable, containing additional
@@ -156,22 +164,54 @@
DemoApp2.st:
-cp $(CLIENTDIR)/Demos/DemoApp2.st .
-$(TARGET)_static:
- @echo "making statically linked smalltalk ..."
- @$(MAKE) linkIt LIBOBJS="$(LIBOBJS)" \
- ADDITIONAL_OBJECTS=$(ADDITIONAL_OBJECTS) \
- ADDITIONAL_CLASSES=$(ADDITIONAL_CLASSES) \
- EXTRA_OBJ="$(EXTRA_OBJ)" EXTRA_LINK_OBJ="$(EXTRA_LINK_OBJ)" \
- LIBLIST="$(LIBLIST)"
- $(MAKE) removeLinkLibs
+#
+# by default, the TARGET rule calls for one of the
+# rules below. Which one is controlled by the
+# architecture-specific definition file.
+#
+$(TARGET)_static: $(STATIC_LIBRUN)
+ @echo "making statically linked smalltalk ..."
+ @$(MAKE) linkIt \
+ LIBOBJS="" \
+ LINK_OBJS="$(STATIC_OBJS)" \
+ LINK_LIBOBJS="$(STATIC_LIBOBJS)" \
+ LINK_LIBRUN="$(STATIC_LIBRUN)" \
+ LIBRUN="$(STATIC_LIBRUN)" \
+ ADDITIONAL_OBJECTS=$(STATIC_ADDITIONAL_OBJECTS) \
+ ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \
+ EXTRA_OBJ="$(STATIC_EXTRA_OBJ)" \
+ EXTRA_LINK_OBJ="$(STATIC_EXTRA_OBJ)" \
+ LIBLIST="$(LIBLIST)"
+ $(MAKE) removeLinkLibs
$(TARGET)_shared:
- @echo "making shared library linked smalltalk ..."
- @$(MAKE) linkIt LIBOBJS="$(LIBOBJS)" \
- ADDITIONAL_OBJECTS=$(ADDITIONAL_OBJECTS) \
- ADDITIONAL_CLASSES=$(ADDITIONAL_CLASSES) \
- EXTRA_OBJ="$(EXTRA_OBJ)" EXTRA_LINK_OBJ="$(EXTRA_LINK_OBJ)" \
- LIBLIST="$(LIBLIST)"
+ @echo "making shared library linked smalltalk ..."
+ @$(MAKE) linkIt \
+ LIBOBJS="$(LIBOBJS)" \
+ ADDITIONAL_OBJECTS=$(ADDITIONAL_OBJECTS) \
+ ADDITIONAL_CLASSES=$(ADDITIONAL_CLASSES) \
+ EXTRA_OBJ="$(EXTRA_OBJ)" \
+ EXTRA_LINK_OBJ="$(EXTRA_LINK_OBJ)" \
+ LIBLIST="$(LIBLIST)"
+
+$(TARGET)_fullstatic: $(STATIC_LIBRUN)
+ @echo "making full statically linked smalltalk ..."
+ @$(MAKE) linkIt \
+ LIBOBJS="" \
+ LINK_OBJS="$(STATIC_OBJS)" \
+ LINK_LIBOBJS="$(STATIC_LIBOBJS)" \
+ LINK_LIBRUN="$(STATIC_LIBRUN)" \
+ LIBRUN="$(STATIC_LIBRUN)" \
+ ADDITIONAL_OBJECTS=$(STATIC_ADDITIONAL_OBJECTS) \
+ ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \
+ EXTRA_OBJ="$(STATIC_EXTRA_OBJ)" \
+ EXTRA_LINK_OBJ="$(STATIC_EXTRA_OBJ)" \
+ LIBLIST="$(LIBLIST)" \
+ MATHLIB="$(STATIC_MATHLIB)" \
+ EXTRA_LIBS="$(STATIC_EXTRA_LIBS)" \
+ SYSLIBS="$(STATIC_SYSLIBS)"
+
+ $(MAKE) removeLinkLibs
AIX_SHARED_LIBOBJS= \
$(LIBBASICDIR)/libbasic.so \
@@ -248,6 +288,9 @@
$(LIBCOMPDIR)/ObjFLoader.so:
(cd $(LIBCOMPDIR) ; $(MAKE) ObjFLoader.so)
+$(LIBRUNDIR)/librun.a:
+ (cd $(LIBRUNDIR) ; $(MAKE) librun.a)
+
#
# make list of classes for a standard smalltalk
# (includes basic, view & widgets and Persistency)