Make.proto
author Claus Gittinger <cg@exept.de>
Tue, 04 Sep 2001 13:39:17 +0200
changeset 5957 bfe534c912f6
parent 5953 b79774b05f58
child 5972 3f5e2f62cfec
permissions -rw-r--r--
*** empty log message ***

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