Make.proto
author Stefan Vogel <sv@exept.de>
Wed, 04 Aug 1999 16:13:32 +0200
changeset 4527 2ddbe34bab87
parent 4510 f15eaeeedf9b
child 4532 4def31c10f19
permissions -rw-r--r--
Make error classes public. Error is proceedable for now.

# $Header: /cvs/stx/stx/libbasic/Make.proto,v 1.112 1999-08-03 12:12:00 stefan Exp $
#
# -------------- no need to change anything below ----------

TOP=..
SUBDIRS=

LIBNAME=libbasic
PACKAGE=stx:$(LIBNAME)
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)                  \
	MiniDebug.$(O)                          \
	MiniInsp.$(O)                           \
	Project.$(O)

WIN_OBJS=       \
	PCFilename.$(O) \
	Win32OS.$(O)

VMS_OBJS=       \
	OpenVMSFilename.$(O) \
	OpenVMSOS.$(O)

OS2_OBJS= \
	OS2OS.$(O)

MAC_OBJS= \
	MacOS.$(O)

OBJS=                        \
    Object.$(O)              \
      Autoload.$(O)          \
      AutoloadMetaclass.$(O) \
      Behavior.$(O)          \
	ClassDescr.$(O)      \
	  Class.$(O)         \
	  Metaclass.$(O)     \
	    PMetaclass.$(O)  \
      Project.$(O)           \
      Namespace.$(O)         \
      Boolean.$(O)           \
	True.$(O)            \
	False.$(O)           \
      CCReader.$(O)          \
      Coll.$(O)              \
	Bag.$(O)             \
	SeqColl.$(O)         \
	  ArrColl.$(O)       \
	    UIBytes.$(O)     \
	    Array.$(O)       \
	      WeakArr.$(O)   \
	    ByteArray.$(O)   \
	      CharArray.$(O) \
		String.$(O)  \
		  Symbol.$(O)\
	    DoubleArray.$(O) \
	    FloatArray.$(O)  \
	Interval.$(O)        \
	LinkList.$(O)        \
	  Semaphore.$(O)     \
	OrdColl.$(O)         \
	  SortColl.$(O)      \
	Set.$(O)             \
	  Dict.$(O)          \
	    IdDict.$(O)      \
	      WeakIdDict.$(O)\
		WeakDepDict.$(O)\
	    WeakVDict.$(O)   \
	  IdSet.$(O)         \
	    WeakIdSet.$(O)   \
	    SignalSet.$(O)   \
	    ExceptionHandlerSet.$(O) \
	    SemaSet.$(O)     \
      Context.$(O)           \
	BContext.$(O)        \
      Delay.$(O)             \
      GenericException.$(O)  \
	Exception.$(O)       \
	  Error.$(O)         \
	  Warning.$(O)       \
	  Notification.$(O)  \
	  Query.$(O)         \
      ExecFunc.$(O)          \
	CompCode.$(O)        \
	  Block.$(O)         \
	    VarArgBlock.$(O) \
	    CheapBlk.$(O)    \
	      VarArgCheapBlock.$(O) \
	  Method.$(O)        \
      Filename.$(O)          \
	UnixFilename.$(O)    \
      InterestC.$(O)         \
      WeakInterestConverter.$(O)         \
      Link.$(O)              \
	Process.$(O)         \
      Magnitude.$(O)         \
	LookupKey.$(O)       \
	  Assoc.$(O)         \
	AbstrTime.$(O)       \
	  AbsTime.$(O)       \
	  Time.$(O)          \
	ArithVal.$(O)        \
	  Number.$(O)        \
	    Fraction.$(O)    \
	    Integer.$(O)     \
	      LargeInt.$(O)  \
	      SmallInt.$(O)  \
	    LPReal.$(O)      \
	      Float.$(O)     \
	      SFloat.$(O)    \
	      LongFloat.$(O) \
	  Point.$(O)         \
	Character.$(O)       \
	Date.$(O)            \
      Message.$(O)           \
      MiniDebug.$(O)         \
      MiniIns.$(O)           \
      ObjMem.$(O)            \
      ProcSched.$(O)         \
      Geometric.$(O)         \
	Rectangle.$(O)       \
      Registry.$(O)          \
	HRegistry.$(O)       \
      Signal.$(O)            \
	QuerySig.$(O)        \
      Smalltalk.$(O)         \
      Stream.$(O)            \
	PeekStr.$(O)         \
	  PosStream.$(O)     \
	    ReadStr.$(O)     \
	    WriteStr.$(O)    \
	      RWStream.$(O)  \
	      ExtStream.$(O) \
		FileStr.$(O) \
		  DirStr.$(O)    \
		  NPExtStr.$(O)  \
		    PipeStr.$(O) \
      FileDir.$(O)           \
      UndefObj.$(O)          \
      ExtAddr.$(O)           \
      ExtBytes.$(O)          \
      ExtFunc.$(O)           \
      MthdDict.$(O)          \
      AbstractOperatingSystem.$(O) \
	UnixOS.$(O)          \
      Obsolete.$(O)          \
      UserPreferences.$(O)   \
      BOSS.$(O)              \
      BinIOMgr.$(O)          \
	BinInMgr.$(O)        \
	BinOutMgr.$(O)

#
# only needed for NeXT (2.1) - assembler dumps core with long name ?!?!
#
SeqColl.$(O):
	@$(MAKE) $(LONGNAME_RULE) LONGNAME_FILE=$* OPT="$(OPT)" CC="$(CC)"

#
# special BIG-rule (kludge for HP)
#
Unix.$(O):
	$(MAKE) $(BIG_STFILE_RULE) BIG_FILE=Unix CC="$(CC)" OPT="$(OPT)"

#
# 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) ArrColl.$(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