# $Header: /cvs/stx/stx/libbasic/Make.proto,v 1.170 2003-11-26 13:32:12 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) -I../librun
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= \
$(OUTDIR)Autoload.$(O) \
$(OUTDIR)AutoloadMetaclass.$(O) \
$(OUTDIR)MiniDebugger.$(O) \
$(OUTDIR)MiniInspector.$(O) \
$(OUTDIR)UserPreferences.$(O) \
$(OUTDIR)Project.$(O)
#
# SYSDEP_OBJS is mapped to one of the below,
# during Makefile building
#
UNIX_OBJS= \
$(OUTDIR)UnixFilename.$(O) \
$(OUTDIR)UnixFileHandle.$(O) \
$(OUTDIR)UnixFileDescriptorHandle.$(O) \
$(OUTDIR)UnixOperatingSystem.$(O)
WIN32_OBJS= \
$(OUTDIR)PCFilename.$(O) \
$(OUTDIR)Win32Handle.$(O) \
$(OUTDIR)Win32FILEHandle.$(O) \
$(OUTDIR)Win32OperatingSystem.$(O)
VMS_OBJS= \
$(OUTDIR)OpenVMSFilename.$(O) \
$(OUTDIR)OpenVMSFileHandle.$(O) \
$(OUTDIR)OpenVMSOperatingSystem.$(O)
OS2_OBJS= \
$(OUTDIR)OS2Filename.$(O) \
$(OUTDIR)OS2FileHandle.$(O) \
$(OUTDIR)OS2OperatingSystem.$(O)
MAC_OBJS= \
$(OUTDIR)MacFilename.$(O) \
$(OUTDIR)MacFileHandle.$(O) \
$(OUTDIR)MacOperatingSystem.$(O)
BEOS_OBJS= \
$(OUTDIR)BEFilename.$(O) \
$(OUTDIR)BEFileHandle.$(O) \
$(OUTDIR)BEOperatingSystem.$(O)
OBJS= \
$(OUTDIR)Object.$(O) \
$(OUTDIR)Autoload.$(O) \
$(OUTDIR)ProtoObject.$(O) \
$(OUTDIR)Project.$(O) \
$(OUTDIR)NameSpace.$(O) \
$(OUTDIR)Boolean.$(O) \
$(OUTDIR)True.$(O) \
$(OUTDIR)False.$(O) \
$(OUTDIR)ClassCategoryReader.$(O) \
$(OUTDIR)Collection.$(O) \
$(OUTDIR)Bag.$(O) \
$(OUTDIR)SequenceableCollection.$(O)\
$(OUTDIR)ArrayedCollection.$(O) \
$(OUTDIR)UninterpretedBytes.$(O) \
$(OUTDIR)Array.$(O) \
$(OUTDIR)WeakArray.$(O) \
$(OUTDIR)ByteArray.$(O) \
$(OUTDIR)CharacterArray.$(O) \
String.$(O) \
Symbol.$(O)\
$(OUTDIR)DoubleArray.$(O) \
$(OUTDIR)FloatArray.$(O) \
$(OUTDIR)ReadOnlySequenceableCollection.$(O)\
$(OUTDIR)Interval.$(O) \
$(OUTDIR)LinkedList.$(O) \
$(OUTDIR)Semaphore.$(O) \
$(OUTDIR)RecursionLock.$(O) \
$(OUTDIR)OrderedCollection.$(O) \
$(OUTDIR)SortedCollection.$(O)\
$(OUTDIR)StringCollection.$(O)\
$(OUTDIR)Set.$(O) \
$(OUTDIR)Dictionary.$(O) \
$(OUTDIR)IdentityDictionary.$(O) \
$(OUTDIR)WeakIdentityDictionary.$(O)\
$(OUTDIR)WeakDependencyDictionary.$(O)\
$(OUTDIR)WeakValueDictionary.$(O) \
$(OUTDIR)IdentitySet.$(O) \
$(OUTDIR)WeakIdentitySet.$(O)\
$(OUTDIR)SignalSet.$(O) \
$(OUTDIR)ExceptionHandlerSet.$(O) \
$(OUTDIR)SemaphoreSet.$(O) \
$(OUTDIR)Context.$(O) \
$(OUTDIR)BlockContext.$(O) \
$(OUTDIR)Delay.$(O) \
$(OUTDIR)GenericException.$(O) \
$(OUTDIR)ControlInterrupt.$(O) \
$(OUTDIR)HaltInterrupt.$(O) \
$(OUTDIR)BreakPointInterrupt.$(O) \
$(OUTDIR)UserInterrupt.$(O) \
$(OUTDIR)Exception.$(O) \
$(OUTDIR)ControlRequest.$(O) \
$(OUTDIR)AbortOperationRequest.$(O) \
$(OUTDIR)AbortAllOperationRequest.$(O) \
$(OUTDIR)TerminateProcessRequest.$(O) \
$(OUTDIR)RestartProcessRequest.$(O) \
$(OUTDIR)Error.$(O) \
$(OUTDIR)MessageNotUnderstood.$(O) \
$(OUTDIR)TimeoutError.$(O) \
$(OUTDIR)ProceedableError.$(O) \
$(OUTDIR)SubclassResponsibilityError.$(O) \
$(OUTDIR)StreamError.$(O) \
$(OUTDIR)IncompleteNextCountError.$(O) \
$(OUTDIR)PositionOutOfBoundsError.$(O) \
$(OUTDIR)SignalError.$(O) \
$(OUTDIR)WrongProceedabilityError.$(O) \
$(OUTDIR)ContextError.$(O) \
$(OUTDIR)CannotResumeError.$(O) \
$(OUTDIR)CannotReturnError.$(O) \
$(OUTDIR)PrimitiveFailure.$(O) \
$(OUTDIR)ArithmeticError.$(O) \
$(OUTDIR)DomainError.$(O) \
$(OUTDIR)ZeroDivide.$(O) \
$(OUTDIR)RangeError.$(O) \
$(OUTDIR)UnderflowError.$(O) \
$(OUTDIR)OverflowError.$(O) \
$(OUTDIR)UnorderedNumbersError.$(O) \
$(OUTDIR)ConversionError.$(O) \
$(OUTDIR)NotFoundError.$(O) \
$(OUTDIR)IndexNotFoundError.$(O) \
$(OUTDIR)NonIntegerIndexError.$(O) \
$(OUTDIR)SubscriptOutOfBoundsError.$(O) \
$(OUTDIR)AllocationFailure.$(O) \
$(OUTDIR)MallocFailure.$(O) \
$(OUTDIR)RecursionError.$(O) \
$(OUTDIR)SnapshotError.$(O) \
$(OUTDIR)Notification.$(O) \
$(OUTDIR)Query.$(O) \
$(OUTDIR)QueryWithoutDefault.$(O) \
$(OUTDIR)EndOfStreamNotification.$(O) \
$(OUTDIR)UserNotification.$(O)\
$(OUTDIR)UserInformation.$(O)\
$(OUTDIR)Warning.$(O) \
$(OUTDIR)ProceedError.$(O)\
$(OUTDIR)NoHandlerError.$(O) \
$(OUTDIR)RecursiveExceptionError.$(O) \
$(OUTDIR)ClassBuilder.$(O) \
$(OUTDIR)Behavior.$(O) \
$(OUTDIR)ClassDescription.$(O)\
$(OUTDIR)Class.$(O) \
$(OUTDIR)Metaclass.$(O) \
$(OUTDIR)PrivateMetaclass.$(O)\
$(OUTDIR)AutoloadMetaclass.$(O) \
$(OUTDIR)ExecutableFunction.$(O) \
$(OUTDIR)CompiledCode.$(O) \
$(OUTDIR)Block.$(O) \
$(OUTDIR)VarArgBlock.$(O) \
$(OUTDIR)CheapBlock.$(O) \
$(OUTDIR)VarArgCheapBlock.$(O) \
$(OUTDIR)Method.$(O) \
$(OUTDIR)Filename.$(O) \
$(OUTDIR)InterestConverter.$(O) \
$(OUTDIR)WeakInterestConverter.$(O) \
$(OUTDIR)Link.$(O) \
$(OUTDIR)Process.$(O) \
$(OUTDIR)Magnitude.$(O) \
$(OUTDIR)LookupKey.$(O) \
$(OUTDIR)Association.$(O) \
$(OUTDIR)AbstractTime.$(O) \
$(OUTDIR)AbsoluteTime.$(O) \
$(OUTDIR)Time.$(O) \
$(OUTDIR)ArithmeticValue.$(O) \
$(OUTDIR)Number.$(O) \
$(OUTDIR)Fraction.$(O) \
$(OUTDIR)FixedPoint.$(O) \
$(OUTDIR)Integer.$(O) \
$(OUTDIR)LargeInteger.$(O) \
$(OUTDIR)SmallInteger.$(O) \
$(OUTDIR)LimitedPrecisionReal.$(O)\
$(OUTDIR)Float.$(O) \
$(OUTDIR)ShortFloat.$(O)\
$(OUTDIR)LongFloat.$(O) \
$(OUTDIR)Point.$(O) \
$(OUTDIR)Character.$(O) \
$(OUTDIR)Date.$(O) \
$(OUTDIR)Message.$(O) \
$(OUTDIR)MessageSend.$(O) \
$(OUTDIR)MiniDebugger.$(O) \
$(OUTDIR)MiniInspector.$(O) \
$(OUTDIR)ObjectMemory.$(O) \
$(OUTDIR)ProcessorScheduler.$(O)\
$(OUTDIR)Geometric.$(O) \
$(OUTDIR)Rectangle.$(O) \
$(OUTDIR)Registry.$(O) \
$(OUTDIR)HandleRegistry.$(O) \
$(OUTDIR)Signal.$(O) \
$(OUTDIR)QuerySignal.$(O) \
$(OUTDIR)Smalltalk.$(O) \
$(OUTDIR)Stream.$(O) \
$(OUTDIR)PeekableStream.$(O) \
$(OUTDIR)PositionableStream.$(O) \
$(OUTDIR)ReadStream.$(O) \
$(OUTDIR)WriteStream.$(O) \
$(OUTDIR)ReadWriteStream.$(O) \
$(OUTDIR)ExternalStream.$(O) \
$(OUTDIR)FileStream.$(O) \
$(OUTDIR)DirectoryStream.$(O) \
$(OUTDIR)NonPositionableExternalStream.$(O) \
$(OUTDIR)PipeStream.$(O) \
$(OUTDIR)UndefinedObject.$(O) \
$(OUTDIR)ExternalAddress.$(O) \
$(OUTDIR)ExternalBytes.$(O) \
$(OUTDIR)ExternalFunction.$(O) \
$(OUTDIR)MethodDictionary.$(O) \
$(OUTDIR)OSHandle.$(O) \
$(OUTDIR)OSFileHandle.$(O) \
$(OUTDIR)OSErrorHolder.$(O) \
$(OUTDIR)OsError.$(O) \
$(OUTDIR)OsInvalidArgumentsError.$(O) \
$(OUTDIR)OsNotification.$(O) \
$(OUTDIR)OsIllegalOperation.$(O) \
$(OUTDIR)OsNeedRetryError.$(O) \
$(OUTDIR)OsTransferFaultError.$(O) \
$(OUTDIR)OsInaccessibleError.$(O) \
$(OUTDIR)OsNoResourcesError.$(O) \
$(OUTDIR)AbstractOperatingSystem.$(O) \
$(OUTDIR)UserPreferences.$(O) \
$(OUTDIR)AbstractObjectCoder.$(O) \
$(OUTDIR)ObjectCoder.$(O) \
$(OUTDIR)HashStream.$(O) \
$(OUTDIR)MD5Stream.$(O) \
$(OUTDIR)ExecutionError.$(O) \
$(OUTDIR)ArgumentError.$(O) \
$(OUTDIR)WrongNumberOfArgumentsError.$(O) \
$(OUTDIR)InvalidCodeError.$(O) \
$(OUTDIR)BadLiteralsError.$(O) \
$(OUTDIR)InvalidByteCodeError.$(O) \
$(OUTDIR)InvalidInstructionError.$(O) \
$(OUTDIR)NoByteCodeError.$(O) \
$(OUTDIR)NonBooleanReceiverError.$(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 *.s2
clean::
@-rm -f [A-Z]*.o [A-Z]*.c [A-Z]*.s i_[A-Z]*.s i_[A-Z]*.c *.s2 *.H
clobber::
@-rm -f *.c [A-Z]*.c [A-Z]*.s i_[A-Z]*.c i_[A-Z]*.s *.H abbrev.stc classList.stc
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
# ENDMAKEDEPEND --- do not remove this line; make depend needs it