# $Header: /cvs/stx/stx/libbasic/Make.proto,v 1.135 2001-09-04 11:37:24 cg Exp $
#
# -------------- no need to change anything below ----------
TOP=..
SUBDIRS=
MODULE=stx
MODULE_DIR=libbasic
LIBNAME=libbasic
THIS_IS_A_BASE_LIBRARY="yes"
PACKAGE=$(MODULE):$(LIBNAME)
LIB_BASE=$(LIBBASIC_BASE)
NM_LIB_BASE=LIBBASIC_BASE
STCOPT=$(LIBBASIC_STCOPT)
STCLOCALOPT='-package=$(PACKAGE)' $(COMMONSYMBOLS) $(SEPINITCODE) -varPrefix=$(LIBNAME)
LINKOBJRULE=$(SEPINITLINKOBJRULE)
AIX_LOCAL_LIBS=-lm
all:: classLibRule
RCSSOURCES=*.st Make.proto resources/*.rs
#
# those are not time critical
# save a few kB by compiling them with +optspace
# (must still be listed in OBJS= to be compiled at all)
#
UNCRITICALOBJS= \
Autoload.$(O) \
AutoloadMetaclass.$(O) \
MiniDebugger.$(O) \
MiniInspector.$(O) \
UserPreferences.$(O) \
Project.$(O)
#
# SYSDEP_OBJS is mapped to one of the below,
# during Makefile building
#
UNIX_OBJS= \
UnixFilename.$(O) \
UnixFileHandle.$(O) \
UnixFileDescriptorHandle.$(O) \
UnixOperatingSystem.$(O)
WIN32_OBJS= \
PCFilename.$(O) \
Win32FileHandle.$(O) \
Win32Handle.$(O) \
Win32OperatingSystem.$(O)
VMS_OBJS= \
OpenVMSFilename.$(O) \
OpenVMSFileHandle.$(O) \
OpenVMSOperatingSystem.$(O)
OS2_OBJS= \
OS2Filename.$(O) \
OS2FileHandle.$(O) \
OS2OperatingSystem.$(O)
MAC_OBJS= \
MacFilename.$(O) \
MacFileHandle.$(O) \
MacOperatingSystem.$(O)
BEOS_OBJS= \
BEFilename.$(O) \
BEFileHandle.$(O) \
BEOperatingSystem.$(O)
OBJS= \
Object.$(O) \
Autoload.$(O) \
Project.$(O) \
NameSpace.$(O) \
Boolean.$(O) \
True.$(O) \
False.$(O) \
ClassCategoryReader.$(O) \
Collection.$(O) \
Bag.$(O) \
SequenceableCollection.$(O)\
ArrayedCollection.$(O) \
UninterpretedBytes.$(O) \
Array.$(O) \
WeakArray.$(O) \
ByteArray.$(O) \
CharacterArray.$(O) \
String.$(O) \
Symbol.$(O)\
DoubleArray.$(O) \
FloatArray.$(O) \
Interval.$(O) \
LinkedList.$(O) \
Semaphore.$(O) \
OrderedCollection.$(O) \
SortedCollection.$(O)\
Set.$(O) \
Dictionary.$(O) \
IdentityDictionary.$(O) \
WeakIdentityDictionary.$(O)\
WeakDependencyDictionary.$(O)\
WeakValueDictionary.$(O) \
IdentitySet.$(O) \
WeakIdentitySet.$(O)\
SignalSet.$(O) \
ExceptionHandlerSet.$(O) \
SemaphoreSet.$(O) \
Context.$(O) \
BlockContext.$(O) \
Delay.$(O) \
GenericException.$(O) \
Exception.$(O) \
Error.$(O) \
TimeoutError.$(O) \
ProceedableError.$(O) \
SignalError.$(O) \
WrongProceedabilityError.$(O) \
ArithmeticError.$(O) \
DomainError.$(O) \
ZeroDivide.$(O) \
RangeError.$(O) \
UnorderedNumbersError.$(O) \
Warning.$(O) \
ProceedError.$(O)\
Notification.$(O) \
UserNotification.$(O)\
NoHandlerError.$(O) \
RecursiveExceptionError.$(O) \
ClassBuilder.$(O) \
Behavior.$(O) \
ClassDescription.$(O)\
Class.$(O) \
Metaclass.$(O) \
PrivateMetaclass.$(O)\
AutoloadMetaclass.$(O) \
ExecutableFunction.$(O) \
CompiledCode.$(O) \
Block.$(O) \
VarArgBlock.$(O) \
CheapBlock.$(O) \
VarArgCheapBlock.$(O) \
Method.$(O) \
Filename.$(O) \
InterestConverter.$(O) \
WeakInterestConverter.$(O) \
Link.$(O) \
Process.$(O) \
Magnitude.$(O) \
LookupKey.$(O) \
Association.$(O) \
AbstractTime.$(O) \
AbsoluteTime.$(O) \
Time.$(O) \
ArithmeticValue.$(O) \
Number.$(O) \
Fraction.$(O) \
FixedPoint.$(O) \
Integer.$(O) \
LargeInteger.$(O) \
SmallInteger.$(O) \
LimitedPrecisionReal.$(O)\
Float.$(O) \
ShortFloat.$(O)\
LongFloat.$(O) \
Point.$(O) \
Character.$(O) \
Date.$(O) \
Message.$(O) \
MiniDebugger.$(O) \
MiniInspector.$(O) \
ObjectMemory.$(O) \
ProcessorScheduler.$(O)\
Geometric.$(O) \
Rectangle.$(O) \
Registry.$(O) \
HandleRegistry.$(O) \
Signal.$(O) \
QuerySignal.$(O) \
Smalltalk.$(O) \
Stream.$(O) \
PeekableStream.$(O) \
PositionableStream.$(O) \
ReadStream.$(O) \
WriteStream.$(O) \
ReadWriteStream.$(O) \
ExternalStream.$(O) \
FileStream.$(O) \
DirectoryStream.$(O) \
NonPositionableExternalStream.$(O) \
PipeStream.$(O) \
FileDirectory.$(O) \
UndefinedObject.$(O) \
ExternalAddress.$(O) \
ExternalBytes.$(O) \
ExternalFunction.$(O) \
MethodDictionary.$(O) \
OSHandle.$(O) \
OSFileHandle.$(O) \
AbstractOperatingSystem.$(O) \
UserPreferences.$(O) \
ObjectCoder.$(O) \
$(SYSDEP_OBJS)
#
# only needed for NeXT (2.1) - assembler dumps core with long name ?!?!
#
SeqColl.$(O):
@$(MAKE) $(LONGNAME_RULE) LONGNAME_FILE=$* OPT="$(OPT)" CC="$(CC)"
#
# on AIX, Object and Class cannot be compiled with -O2
# (CC running out of space)
#
#AIX::
# $(MAKE) Object.o OPT=
# $(MAKE) Behavior.o
# $(MAKE) ClassDescr.o
# $(MAKE) Class.o OPT=
#
# on HP, big classes blow the C-preprocessor (stops with 'too much defining' error)
#
#HP:: HPbigFiles
#HPbigFiles: abbrev.stc
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=Object CC=$(CC) OPT="$(OPT)" SEPINITCODE=$(SEPINITCODE)
# $(MAKE) Behavior.$(O)
# $(MAKE) ClassDescr.$(O)
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=Class CC=$(CC) OPT="$(OPT)" SEPINITCODE=$(SEPINITCODE)
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=Metaclass CC=$(CC) OPT="$(OPT)" SEPINITCODE=$(SEPINITCODE)
# $(MAKE) Coll.$(O)
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=SeqColl CC=$(CC) OPT="$(OPT)" SEPINITCODE=$(SEPINITCODE)
# $(MAKE) ArrayedCollection.$(O)
# $(MAKE) ByteArray.$(O)
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=CharArray CC=$(CC) OPT="$(OPT)" SEPINITCODE=$(SEPINITCODE)
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=Smalltalk CC=$(CC) OPT="$(OPT)" SEPINITCODE=$(SEPINITCODE)
# $(MAKE) Stream.$(O)
# $(MAKE) PeekStr.$(O)
# $(MAKE) PosStream.$(O)
# $(MAKE) ReadStr.$(O)
# $(MAKE) WriteStr.$(O)
# $(MAKE) RWStream.$(O)
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=ExtStream CC=$(CC) OPT="$(OPT)" SEPINITCODE=$(SEPINITCODE)
#
# special rule, to define the config-string while compiling
# this places the current config setting into the Smalltalk class binary
#
#CONF_STRING="$(CONF) / $(CONF_PACKS)"
#Smalltalk.$(O):
# $(STC) -CC="$(CC)" $(STCFLAGS) $(CFLAGS) -DCONFIGURATION_STRING='\"$(CONF_STRING)\"' -c Smalltalk.st
# @$(TOUCH) $*.$(O)
cleanjunk::
@-rm -f [A-Z]*.c [A-Z]*.H [A-Z]*.s i_[A-Z]*.s i_[A-Z]*.c
clean::
@-rm -f [A-Z]*.o [A-Z]*.c [A-Z]*.s i_[A-Z]*.s i_[A-Z]*.c *.H
clobber::
@-rm -f *.c [A-Z]*.c [A-Z]*.s i_[A-Z]*.c i_[A-Z]*.s *.H abbrev.stc classList.stc
tar:
(cd $(TOP); tar cvfh DISTRIB/libbasic.tar \
libbasic/Make.proto \
libbasic/.dir.info \
libbasic/*.st \
libbasic/resources)
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
# ENDMAKEDEPEND --- do not remove this line; make depend needs it