XWorkstation and GLXWorkstation are no longer built as separate dlls.
Instead, they are in libview.
added deploy rule to generate a dmg on mac and a tgz on unix systems.
needs more work for nullsoft and linux packages.
#
# $Header$
#
# ATTENTION: this Make.proto is still maintained manually.
# i.e. not generated from the ApplicationDefinition
#
# -------------- no need to change anything below ----------
#
# This makefile generatfes the smalltalk executable itself;
# it can be invoked as:
#
# make
# generates a standard smalltalk, and sets up symbolic links
# for local execution.
#
# make smalltalk
# generates a standard smalltalk executable only
#
# make smalltalk ADDITIONAL_OBJS=<list of object files> \
# ADDITIONAL_CLASSES=<list of class names>
# generates a customized executable, containing additional
# class (list of classes) which are to be found in the object
# files (list of object files).
# Example:
# make smalltalk ADDITIONAL_OBJS=Foo.o ADDITIONAL_CLASSES=Foo
#
# No longer maintained (make could fail):
#
# 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)
#
TOP=../..
SUBDIRS=
SUPPRESS_LOCAL_ABBREVS="yes"
#
# these are installed when installing their
# package dir ...
#
SUPPRESS_INSTALL_BITMAPS="yes"
SUPPRESS_INSTALL_RESOURCES="yes"
INSTALLBIN_DIR=$(INSTALLBASE)/bin
INSTALLLIB_DIR=$(INSTALLBASE)/lib
RCSSOURCES=*.rc patches Make.proto
LINKSOURCES=*.rc patches Make.proto
DELIVERBINARIES=stx
#
# other definitions to use for things compiled here
#
LOCALDEFS=-DDEBUG
#ST_LDFLAG=
# st files found here wont go into the global abbrev list
SUPPRESS_LOCAL_ABBREVS=1
#
# this defines where the show starts
#
STARTUP_CLASS="Smalltalk"
STARTUP_SELECTOR="start"
#
# including your own private lib in the make process and executable:
#
# for example, if you have a libprivate directory,
# where libprivate.obj is built, and that one should be included,
# add lines as below to your configuration/.../defines file:
# PRIVATEOBJ=$(TOP)/libprivate/libprivate.obj
# PRIVATE_SO=$(TOP)/libprivate/libprivate.so
# PRIVATELIBS=libprivate
# This defines which library packages are linked in.
# See COMMON/defines for what those XXX_LIB etc. are
#
# MINI_LIB = libbasic, libcomp $(PRIVATELIBS)
# FUNDAMENTAL_LIB = above PLUS libview, libwidg
# DEVELOP_LIB = above PLUS libtool refactoring
# STANDARD_LIB = above PLUS libwidg2, libdbase
# EXTENDED_LIB = above PLUS libwidg3
CLASSLIBDIRS = $(STANDARD_DIR) $(PRIVATE_CLASSLIBDIRS) $(ARCH_CLASSLIBDIRS)
LIBOBJS = $(STANDARD_LIB) $(PRIVATE_OBJS)
LINK_LIBOBJS = $(LINK_STANDARD_LIB) $(PRIVATE_OBJS)
STATIC_LIBOBJS = $(STATIC_STANDARD_LIB) $(PRIVATE_OBJS)
LIBLIST = $(STANDARD_LIST) $(PRIVATE_LIBS)
# WORKSTAT1 = XWorkstation
# WORKSTAT2 = GLXWorkstation
# now in libview
# EXTRA_UI_CLASSES= $(WORKSTAT1) $(WORKSTAT2)
#EXTRA_UI_OBJ=\
# $(OPTIONAL_XWORKSTATION_OBJ) \
# $(OPTIONAL_GLXWORKSTATION_OBJ)
#
#STATIC_EXTRA_UI_OBJ=\
# $(STATIC_OPTIONAL_XWORKSTATION_OBJ) \
# $(STATIC_OPTIONAL_GLXWORKSTATION_OBJ)
#
#EXTRA_LINK_UI_OBJ=\
# $(OPTIONAL_LINK_XWORKSTATION_OBJ) \
# $(OPTIONAL_LINK_GLXWORKSTATION_OBJ)
OPTIONAL_LIBGL_TARGET = $(LIB_GL_TARGET)
OPTIONAL_GL_LIB = $(LIB_GL)
OPTIONAL_LINK_GL_LIB = $(LINK_LIB_GL)
# ---------------------- end additional stuff --------------------
#
# default target: create the TARGET (usually smalltalk)
#
all:: $(TARGET)$(TARGET_RULE_EXTENSION) symlinks
@-if [ "$(ALSO_MAKE_STATIC_TARGET)" = "1" ]; then \
mv stx stx_dynamic; \
$(MAKE) stx_fullstatic; \
fi
#
# same, force recreation of link-directories
#
allNew: $(TARGET)$(TARGET_RULE_EXTENSION) misc
@-if [ "$(ALSO_MAKE_STATIC_TARGET)" = "1" ]; then \
mv stx stx_dynamic; \
$(MAKE) stx_fullstatic; \
fi
#
# create symbolic links to sources, resources etc.
# normally (on an end-user system) these should go into usr/local/lib/smalltalk
#
symlinks: includeLink misc
#
# the standard smalltalk executable:
# basic classes + view & widgets + tools + persistency
#
smalltalk:: $(TARGET)$(TARGET_RULE_EXTENSION)
#
# a specialized mySmalltalk with additional class(es) and additional
# C-library builtIn
#
MY_ADDITIONAL_OBJECTS=Foo.$(O)
MY_ADDITIONAL_CLASSES=Foo
MY_ADDITIONAL_LIBS=$(TOP)/../myClasses/libFoo.a
mySmalltalk: $(MY_ADDITIONAL_OBJECTS)
@echo "making special smalltalk ..."
@$(MAKE) linkTarget \
LIBOBJS="$(LIBOBJS) $(EXTRA_UI_OBJ)" \
LINK_OBJS="$(LINK_OBJS)" \
LINK_LIBOBJS="$(LINK_LIBOBJS) $(EXTRA_LINK_UI_OBJ)" \
LINK_LIBRUN="$(LINK_LIBRUN)" \
LIBRUN="$(LIBRUN)" \
ADDITIONAL_OBJS=$(MY_ADDITIONAL_OBJECTS) \
ADDITIONAL_CLASSES=$(MY_ADDITIONAL_CLASSES) \
ADDITIONAL_LIBS=$(MY_ADDITIONAL_LIBS) \
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)_shared:
@echo "making shared library linked smalltalk ..."
echo EXTRA_LINK_UI_OBJ = $(EXTRA_LINK_UI_OBJ)
$(MAKE) linkTarget \
LIBOBJS="$(LIBOBJS) $(EXTRA_UI_OBJ)" \
LINK_LIBOBJS="$(LINK_LIBOBJS) $(EXTRA_LINK_UI_OBJ)" \
LINK_LIBRUN=$(LINK_LIBRUN) \
LIBRUN=$(LIBRUN) \
ADDITIONAL_OBJS=$(ADDITIONAL_OBJS) \
ADDITIONAL_CLASSES=$(ADDITIONAL_CLASSES) \
LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)"
$(TARGET)_static: $(STATIC_LIBRUN)
@echo "making statically linked smalltalk ..."
@$(MAKE) linkTarget \
LIBOBJS="" \
LINK_OBJS="$(STATIC_OBJS) $(STATIC_EXTRA_UI_OBJ)" \
LINK_LIBOBJS="$(STATIC_LIBOBJS) $(STATIC_EXTRA_UI_OBJ)" \
LINK_LIBRUN="$(STATIC_LIBRUN)" \
LIBRUN="$(STATIC_LIBRUN)" \
ADDITIONAL_OBJS=$(STATIC_ADDITIONAL_OBJS) \
ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \
EXTRA_LIBS="$(STATIC_EXTRA_LIBS)" \
LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)"
@$(MAKE) removeLinkLibs
$(TARGET)_fullstatic: $(STATIC_LIBRUN)
if [ -f $(LIBRUNDIR)/librun.a ]; then \
echo "librun.a already made."; \
else \
cd $(LIBRUNDIR) && $(MAKE) librun.a; \
fi
@echo "making full statically linked smalltalk ..."
@$(MAKE) linkTarget \
LIBOBJS="" \
LINK_OBJS="$(STATIC_OBJS) $(STATIC_EXTRA_UI_OBJ)" \
LINK_LIBOBJS="$(STATIC_LIBOBJS) $(STATIC_EXTRA_UI_OBJ)" \
LINK_LIBRUN="$(STATIC_LIBRUN)" \
LIBRUN="$(STATIC_LIBRUN)" \
ADDITIONAL_OBJS=$(STATIC_ADDITIONAL_OBJS) \
ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \
LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)" \
MATHLIB="$(STATIC_MATHLIB)" \
EXTRA_LIBS="$(STATIC_EXTRA_LIBS)" \
SYSLIBS="$(STATIC_SYSLIBS)"
@$(MAKE) removeLinkLibs
AIX_SHARED_LIBOBJS= \
$(LIBBASICDIR)/libstx_libbasic.so \
$(LIBCOMPDIR)/libstx_libcomp.so \
$(LIBVIEWDIR)/libstx_libview.so \
$(LIBVIEW2DIR)/libstx_libview2.so \
$(LIBWIDGDIR)/libstx_libwidg.so \
$(LIBTOOLDIR)/libstx_libtool.so \
$(LIBBASIC2DIR)/libstx_libbasic2.so \
$(LIBBASIC3DIR)/libstx_libbasic3.so \
$(LIBHTMLDIR)/libstx_libhtml.so \
$(LIBWIDG2DIR)/libstx_libwidg2.so \
$(PERSDIR)/libstx_libdbase.so
aix:
@echo "making shared library linked smalltalk for aix ..."
@$(MAKE) linkTarget \
LIBOBJS="$(AIX_SHARED_LIBOBJS)" \
EXTRA_OBJ="$(EXTRA_OBJ)" \
EXTRA_LINK_OBJ="$(EXTRA_LINK_OBJ)" \
LIBLIST="$(LIBLIST)" \
LINK_LIBRUN=$(LINK_LIBDIR)librun.so \
LIBRUN=$(LIBRUNDIR)/librun.so
aix_librun_only:
@echo "making partial shared library linked smalltalk ..."
@$(MAKE) linkTarget LIBRUN=$(LIBRUNDIR)/librun.so
forceStatic:
(cd $(LIBBASICDIR) ; $(MAKE) libbasicInit.o)
-rm -f $(LIBBASICDIR)/libbasic.o
$(MAKE) linkTarget LIBRUN="$(LIBRUNDIR)/*.o" LIBBASIC="$(LIBBASICDIR)/*.o"
$(LIBVIEWDIR)/XWorkstation.o:
cd $(LIBVIEWDIR) && $(MAKE) XWorkstation.o
$(LIBVIEWDIR)/XWorkstation.so:
cd $(LIBVIEWDIR) && $(MAKE) XWorkstation.so
$(LIBVIEWDIR)/GLXWorkstation.o:
cd $(LIBVIEWDIR) && $(MAKE) GLXWorkstation.o
$(LIBVIEWDIR)/GLXWorkstation.so:
cd $(LIBVIEWDIR) && $(MAKE) GLXWorkstation.so
#
# dont want these ttt-tempfile abbrevs to be included ...
#
abbrev.stc::
@-rm -f ttt*.*
#
# currently, abbrev,stc must be made cross
#
ntAbbrev.stc: include/abbrev.stc
cp include/abbrev.stc ntAbbrev.stc
#
# dont want local abbrevs to be included ...
#
collectAbbrev::
@-rm -f abbrev.stc
@-if [ "$(SUPPRESS_ABBREVS)" = "" ]; then \
if [ -d include ]; then \
if [ ! -f include/abbrev.stc ]; then \
(cd include; $(LNS) ../$(INCLUDE)/abbrev.stc . ); \
fi; \
fi; \
fi
collectAutoload::
@-rm -f autoloadList.stc
@-if [ -d include ]; then \
if [ ! -f include/autoloadList.stc ]; then \
(cd include; $(LNS) ../$(INCLUDE)/autoloadList.stc . ); \
fi; \
fi
classes::
test -d classes || mkdir classes
-for i in source/*.st; do \
stcomp -i stcomp.img $$i; \
done
include: includeLink
misc: examples
examples:
test -d examples || mkdir examples examples/3D
-cd examples/3D && $(LNS) ../../$(TOP)/clients/GLdemos/*.data . 2>/dev/null
#
# clean out intermediate chunk
#
cleanjunk::
@-rm -f a.out SymbolTable ttt main.c
@-rm -f classList.c fclassList.c nxclassList.c basicclassList.c
@-rm -f betaclassList.c miniList.c tinyList.c
@-rm -f modulList.stc modulList.c modulList.o
@-rm -f pers* pers2 data data2 data.boss tetris.scores
cleanlinks:
@-rm -rf source bitmaps binaries resources examples include
#
# clean out all that is not needed to run smalltalk
#
clean::
@-rm -f a.out SymbolTable ttt main.c
@-rm -f modulList.stc modulList.c modulList.o
@-rm -f classList.stc classList.c classList.o
@-rm -f fclassList.stc fclassList.c
@-rm -f nxclassList.stc nxclassList.c
@-rm -f basicclassList.stc basicclassList.c
@-rm -f betaclassList.stc betaclassList.c
@-rm -f miniList.stc miniList.c
@-rm -f tinyList.stc tinyList.c
@-rm -f pers pers2 data data2 data.boss tetris.scores
@-rm -f st.img st2.img st.img.sav errorOutput
@-rm -f .stx*.mem
@-rm -rf modules stxtmp*
#
# clean out all that can be regenerated
#
clobber::
@$(MAKE) removeLinkLibs
@-rm -f modulList.stc modulList.c modulList.o
@-rm -rf resources source bitmaps include examples lib
@-rm -f stx st.img st.img.sav st.sav
@-rm -f main.o
@-rm -rf modules
@-rm -rf stxtmp_*
main.o:: $(INCLUDE)/stc.h $(INCLUDE)/stcIntern.h Make.proto
installProgsIf:: $(INSTALLBIN_DIR)
@-echo "installing smalltalk..."
$(INSTALL_SCRIPT_CMD) smalltalk $(INSTALLBIN_DIR)
@-echo "installing stx..."
$(INSTALL_BIN_CMD) stx $(INSTALLBIN_DIR)
-strip $(INSTALLBIN_DIR)/stx
installAux:: installRCScripts
installRCScripts::
@-echo "installing rc scripts..."
$(INSTALL_AUX_CMD) *.rc $(INSTALLLIB_DIR)
$(INSTALL_AUX_CMD) *.xpm $(INSTALLLIB_DIR)
###################################################################
#
# packaging for deployment
# DEPLOY_PACKAGE is (currently) one of "dmg", "tgz"
# and coming from the arch-specific configuration file
#
deploy:
$(MAKE) deploy_$(DEPLOY_PACKAGE)
################### begin mac specific #################
# creates /tmp/stx.dmg
#
DMG_TMP=/tmp/stx_dmg
deploy_dmg:
$(MAKE) newDMG
$(MAKE) hdUtil
newDMG:
rm -rf $(DMG_TMP)
$(MAKE) $(DMG_TMP)
hdUtil:
-rm -f stx.dmg /tmp/stx.dmg
(cd /tmp ; hdiutil create -fs HFSX -layout SPUD "stx.dmg" -srcfolder "$(DMG_TMP)" -format UDZO -volname "stx" -quiet)
dmg: $(DMG_TMP)
$(DMG_TMP):
-mkdir "$(DMG_TMP)"
cp "../../README.macosx" "$(DMG_TMP)"/README.txt
-mkdir "$(DMG_TMP)"/stx.app
-mkdir "$(DMG_TMP)"/stx.app/Contents
-mkdir "$(DMG_TMP)"/stx.app/Contents/MacOS
$(MAKE) dmgBINContents
$(MAKE) dmgSTXPackages
#
# the actual executable and its binaries
#
dmgBINContents:
cp "stx" "$(DMG_TMP)"/stx.app/Contents/MacOS/stx
-cp -r *.so "$(DMG_TMP)"/stx.app/Contents/MacOS/.
-cp -r symbols.stc "$(DMG_TMP)"/stx.app/Contents/MacOS/.
-cp -r *.stx "$(DMG_TMP)"/stx.app/Contents/MacOS/.
-cp -r *.rc "$(DMG_TMP)"/stx.app/Contents/MacOS/.
-cp -r resources "$(DMG_TMP)"/stx.app/Contents/MacOS/.
#
# sources and all other package stuff
#
dmgSTXPackages: "$(DMG_TMP)/stx.app/Packages"
"$(DMG_TMP)/stx.app/Packages":
@-mkdir "$(DMG_TMP)"
@-mkdir "$(DMG_TMP)/stx.app"
@-mkdir "$(DMG_TMP)/stx.app/Packages"
@-rm -f stx.dmg
-cp -r $(TOP)/../stx "$(DMG_TMP)/stx.app/Packages/."
$(MAKE) clean_dmg
clean_dmg:
$(MAKE) cleanTemporaryDeploymentHierarchy TMP_TOP="$(DMG_TMP)/stx.app/Packages"
################### end of mac specific #################
################### begin of tgz specific #################
# creates /tmp/stx.tgz
#
# should work on all systems
#
TGZ_TMP=/tmp/stx_tgz
deploy_tgz:
$(MAKE) newTGZ
$(MAKE) tarIt
tarIt:
rm -f stx.tgz
(cd $(TGZ_TMP); tar cvfz /tmp/stx.tgz stx)
newTGZ:
rm -rf $(TGZ_TMP)
$(MAKE) $(TGZ_TMP)
$(TGZ_TMP):
@-mkdir "$(TGZ_TMP)"
-cp -r $(TOP)/../stx "$(TGZ_TMP)/."
$(MAKE) clean_tgz
clean_tgz:
$(MAKE) cleanTemporaryDeploymentHierarchy TMP_TOP="$(TGZ_TMP)"
################### end of tgz specific #################
################### common #################
#
# all of the following depend on TMP_TOP to be set to "stx"
# in a temporary copy of the whole work tree.
# The tree below that will be cleaned from any leftover build files.
# No hardcoding of any architecture specifics below, please.
#
FIND_PRINT=-print
#FIND_PRINT=
cleanTemporaryDeploymentHierarchy:
$(MAKE) cleanNeverDeliveredStuff TMP_TOP=$(TMP_TOP)
$(MAKE) cleanPackages TMP_TOP=$(TMP_TOP)
$(MAKE) cleanUnfinished TMP_TOP=$(TMP_TOP)
$(MAKE) cleanObsoleteStuff TMP_TOP=$(TMP_TOP)
# $(MAKE) cleanObsoleteArchitectureSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanArchitectureSpecific TMP_TOP=$(TMP_TOP)
cleanArchitectureSpecific:
$(MAKE) cleanStuffNotForArch_$(ARCH) TMP_TOP=$(TMP_TOP)
cleanStuffNotForArch_macosx:
$(MAKE) cleanWindowsSpecific TMP_TOP=$(TMP_TOP)
cleanStuffNotForArch_linux:
$(MAKE) cleanMacOSXSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanWindowsSpecific TMP_TOP=$(TMP_TOP)
cleanStuffNotForArch_raspian:
$(MAKE) cleanMacOSXSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanWindowsSpecific TMP_TOP=$(TMP_TOP)
cleanWindowsSpecific:
find "$(TMP_TOP)"/stx -name "*.mak" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "*.bat" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "nt.def" $(FIND_PRINT) -exec rm -f {} \;
rm -rf "$(TMP_TOP)"/stx/support/win32
rm -rf "$(TMP_TOP)"/stx/configurations/NT
cleanMacOSXSpecific:
rm -rf "$(TMP_TOP)"/stx/libobjc
cleanObsoleteArchitectureSpecific:
$(MAKE) cleanSunSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanSgiSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanNeXTSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanAixSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanDecSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanHpSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanMotorolaSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanQnxSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanUnixwareSpecific TMP_TOP=$(TMP_TOP)
$(MAKE) cleanLinuxAoutOnElfSpecific TMP_TOP=$(TMP_TOP)
cleanLinuxAoutOnElfSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/linux_a.out_onELF
cleanFreeBSDSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/freeBSD
cleanSunSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/sun
cleanSgiSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/sgi
cleanNeXTSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/NeXT
cleanAixSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/aix
cleanDecSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/dec
cleanHpSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/hp
cleanMotorolaSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/motorola
cleanQnxSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/qnx
cleanUnixwareSpecific:
rm -rf "$(TMP_TOP)"/stx/configurations/unixware
#
# work in progress or not-yet-fully ported stuff
#
cleanUnfinished:
rm -rf "$(TMP_TOP)"/stx/libdb/nosql/ken
rm -rf "$(TMP_TOP)"/stx/libdb/nosql/sedna
rm -rf "$(TMP_TOP)"/stx/libdb/libopenDBX
rm -rf "$(TMP_TOP)"/stx/goodies/roelTyper
rm -rf "$(TMP_TOP)"/stx/goodies/raytracing
rm -rf "$(TMP_TOP)"/stx/goodies/imageSegments
rm -rf "$(TMP_TOP)"/stx/goodies/hotdraw
rm -rf "$(TMP_TOP)"/stx/goodies/goods
rm -rf "$(TMP_TOP)"/stx/goodies/gitocello
rm -rf "$(TMP_TOP)"/stx/goodies/glorp0_4
rm -rf "$(TMP_TOP)"/stx/goodies/constraints
rm -rf "$(TMP_TOP)"/stx/goodies/cassovary
-find "$(TMP_TOP)"/stx -name "not_ported" $(FIND_PRINT) -exec rm -rf {} \;
#
# baby baby baby you're out of tiiiime...
#
cleanObsoleteStuff:
rm -rf "$(TMP_TOP)"/stx/librt
rm -rf "$(TMP_TOP)"/stx/libsnmp
rm -rf "$(TMP_TOP)"/stx/goodies/stx
rm -rf "$(TMP_TOP)"/stx/liboracle8
rm -rf "$(TMP_TOP)"/stx/support/DLD
rm -rf "$(TMP_TOP)"/stx/support/unixware
rm -rf "$(TMP_TOP)"/stx/support/db
rm -rf "$(TMP_TOP)"/stx/projects/drawtool
-find "$(TMP_TOP)"/stx -name "obsolete" $(FIND_PRINT) -exec rm -rf {} \;
-find "$(TMP_TOP)"/stx -name "obsolete_*" $(FIND_PRINT) -exec rm -rf {} \;
-find "$(TMP_TOP)"/stx -name "*_old" $(FIND_PRINT) -exec rm -rf {} \;
-find "$(TMP_TOP)"/stx -name "*_old2" $(FIND_PRINT) -exec rm -rf {} \;
-find "$(TMP_TOP)"/stx -name "*.old" $(FIND_PRINT) -exec rm -rf {} \;
#
# stuff we keep secret - that's live
#
cleanNeverDeliveredStuff:
mv "$(TMP_TOP)"/stx/librun/main.c "$(TMP_TOP)"/stx/librun/main_c
-mv "$(TMP_TOP)"/stx/librun/buildDate.h "$(TMP_TOP)"/stx/librun/buildDate_h
-mv "$(TMP_TOP)"/stx/librun/symbolAddress.h "$(TMP_TOP)"/stx/librun/symbolAddress_h
-mv "$(TMP_TOP)"/stx/librun/symbols.h "$(TMP_TOP)"/stx/librun/symbols_h
rm -f "$(TMP_TOP)"/stx/librun/*.c
rm -f "$(TMP_TOP)"/stx/librun/*.h
mv "$(TMP_TOP)"/stx/librun/main_c "$(TMP_TOP)"/stx/librun/main.c
-mv "$(TMP_TOP)"/stx/librun/buildDate_h "$(TMP_TOP)"/stx/librun/buildDate.h
-mv "$(TMP_TOP)"/stx/librun/symbolAddress_h "$(TMP_TOP)"/stx/librun/symbolAddress.h
-mv "$(TMP_TOP)"/stx/librun/symbols_h "$(TMP_TOP)"/stx/librun/symbols.h
rm -rf "$(TMP_TOP)"/stx/librun/doc
rm -rf "$(TMP_TOP)"/stx/librun/ieee754_support
rm -rf "$(TMP_TOP)"/stx/librun/libffi*
rm -rf "$(TMP_TOP)"/stx/librun/genDate*
rm -rf "$(TMP_TOP)"/stx/librun/*.bpr
rm -rf "$(TMP_TOP)"/stx/librun/*.BPR
rm -rf "$(TMP_TOP)"/stx/librun/*.cpp
rm -rf "$(TMP_TOP)"/stx/librun/*.dbg
rm -rf "$(TMP_TOP)"/stx/librun/*.gdb
rm -rf "$(TMP_TOP)"/stx/librun/*.s
rm -rf "$(TMP_TOP)"/stx/librun/*.asm
rm -rf "$(TMP_TOP)"/stx/librun/*.sln
rm -rf "$(TMP_TOP)"/stx/librun/*.def
rm -rf "$(TMP_TOP)"/stx/librun/*.exp
rm -rf "$(TMP_TOP)"/stx/librun/*.rc
rm -rf "$(TMP_TOP)"/stx/librun/*.vcproj
rm -rf "$(TMP_TOP)"/stx/librun/*.vcExpress
rm -f "$(TMP_TOP)"/stx/stc/*.c
rm -f "$(TMP_TOP)"/stx/stc/*.y
rm -f "$(TMP_TOP)"/stx/stc/*.l
rm -f "$(TMP_TOP)"/stx/stc/*.bpr
rm -f "$(TMP_TOP)"/stx/stc/*.BPR
rm -f "$(TMP_TOP)"/stx/stc/global.h
rm -f "$(TMP_TOP)"/stx/stc/nttokens.h
rm -f "$(TMP_TOP)"/stx/stc/tokens.h
rm -f "$(TMP_TOP)"/stx/stc/sha1.h
rm -f "$(TMP_TOP)"/stx/stc/*.cpp
rm -f "$(TMP_TOP)"/stx/stc/*.sln
rm -f "$(TMP_TOP)"/stx/stc/*.vcproj
rm -f "$(TMP_TOP)"/stx/stc/*.depend
rm -f "$(TMP_TOP)"/stx/stc/defs.h
rm -rf "$(TMP_TOP)"/stx/stc/bin
rm -rf "$(TMP_TOP)"/stx/stc/obj
rm -f "$(TMP_TOP)"/stx/stc/tests/*.xc
rm -f "$(TMP_TOP)"/stx/stc/tests/*.c
-find "$(TMP_TOP)"/stx -name "not_delivered" $(FIND_PRINT) -exec rm -rf {} \;
cleanPackages:
# (cd "$(TMP_TOP)"/stx ; make cleanjunk)
(cd "$(TMP_TOP)"/stx/stc/tests ; make clobber)
rm -rf "$(TMP_TOP)"/stx/libjava.both
rm -rf "$(TMP_TOP)"/stx/libjava.cvs
rm -rf "$(TMP_TOP)"/stx/libjava.old
rm -rf "$(TMP_TOP)"/stx/librun-*
rm -rf "$(TMP_TOP)"/stx/librun_*
rm -rf "$(TMP_TOP)"/stx/librun.*
rm -rf "$(TMP_TOP)"/stx/stc/*.dSYM
rm -rf "$(TMP_TOP)"/stx/stc/*/*.dSYM
rm -rf "$(TMP_TOP)"/stx/stc/libfl
rm -rf "$(TMP_TOP)"/stx/stc/tests/test[0-9]*
rm -rf "$(TMP_TOP)"/stx/stc/tests/hw
rm -rf "$(TMP_TOP)"/stx/stc/tests
rm -rf "$(TMP_TOP)"/stx/libscm.cvs
rm -rf "$(TMP_TOP)"/stx/libscm.hg
rm -f "$(TMP_TOP)"/stx/libbasic*/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/libcomp/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/libview/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/libwidg/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/libtool*/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/libui/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/libdb/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/libdb/*/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/libopengl/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/goodies/chronos/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/goodies/chronos/*/[A-Z]*.c
rm -f "$(TMP_TOP)"/stx/goodies/*/i_[A-Z]*.c
rm -rf "$(TMP_TOP)"/stx/monticello_packages
rm -rf "$(TMP_TOP)"/stx/support/tools/splint-*
rm -rf "$(TMP_TOP)"/stx/support/tools/cscope-*
rm -rf "$(TMP_TOP)"/stx/support/xft
rm -rf "$(TMP_TOP)"/stx/support/libjpeg
rm -rf "$(TMP_TOP)"/stx/support/libjpeg-7
rm -rf "$(TMP_TOP)"/stx/projects/tinytalk
rm -rf "$(TMP_TOP)"/stx/projects/minitalk
rm -rf "$(TMP_TOP)"/stx/projects/smalltalk/package-cache
rm -rf "$(TMP_TOP)"/stx/projects/smalltalk/modules
rm -rf "$(TMP_TOP)"/stx/projects/smalltalk/stcTests
rm -rf "$(TMP_TOP)"/stx/projects/smalltalk/crashdumps
rm -rf "$(TMP_TOP)"/stx/projects/smalltalk/examples
rm -rf "$(TMP_TOP)"/stx/projects/smalltalk/expeccoPatches
rm -rf "$(TMP_TOP)"/stx/projects/smalltalk/.SandstoneDb
rm -rf "$(TMP_TOP)"/stx/projects/smalltalk/changes_*
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/[A-Z]*.st
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/old_settings.stx
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.txt
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.uprj
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.js
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/evo*.wsp
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.html
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.log
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.png
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/data
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/out
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/err
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/outfile
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/ss
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/stbc.rc
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.bos
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.swf
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.sln
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.vcproj
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.vcxproj
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.tgz
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*.dmg
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*_dmg
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/*_tgz
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/X
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/ZZ
rm -f "$(TMP_TOP)"/stx/projects/smalltalk/test*
find "$(TMP_TOP)"/stx/projects -name "*.mcz" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx/projects -name "*.sav" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx/projects -name "*.img" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx/projects -name "*.dmg" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx/projects -name "*.chg" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx/projects -name "*.dat" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "cscope.out" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "a.out" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name ".stxgdb" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "*.o" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "*.st-e" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "*.bad" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "*.bak" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "*.sav" $(FIND_PRINT) -exec rm -f {} \;
find "$(TMP_TOP)"/stx -name "*.swp" $(FIND_PRINT) -exec rm -f {} \;
-find "$(TMP_TOP)"/stx -name "stxtmp_*" $(FIND_PRINT) -exec rm -f {} \;
-find "$(TMP_TOP)"/stx -name ".DS_Store" $(FIND_PRINT) -exec rm -f {} \;
-find "$(TMP_TOP)"/stx -name "CVS" $(FIND_PRINT) -exec rm -rf {} \;
-find "$(TMP_TOP)"/stx -name ".CVS" $(FIND_PRINT) -exec rm -rf {} \;
-find "$(TMP_TOP)"/stx -name ".hg" $(FIND_PRINT) -exec rm -rf {} \;
-find "$(TMP_TOP)"/stx -name "..hg" $(FIND_PRINT) -exec rm -rf {} \;
-find "$(TMP_TOP)"/stx -name ".#*" $(FIND_PRINT) -exec rm -rf {} \;