Make.proto
author Claus Gittinger <cg@exept.de>
Wed, 26 Nov 2003 14:32:12 +0100
changeset 7781 03095ade1b75
parent 7773 4801dec51584
child 7783 9a555a686c73
permissions -rw-r--r--
*** empty log message ***

# $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