Make.proto
author claus
Tue, 08 Aug 1995 02:49:43 +0200
changeset 375 e5019c22f40e
parent 362 4131e87e79ec
child 391 66bb97f4e41f
permissions -rw-r--r--
.

# $Header: /cvs/stx/stx/libbasic/Make.proto,v 1.34 1995-08-08 00:49:43 claus Exp $
#
# -------------- no need to change anything below ----------

TOP=..
SUBDIRS=

LIBNAME=libbasic

STCOPT=$(LIBBASIC_STCOPT)
STCLOCALOPT='-Pbasic-classes-(libbasic)' -warnGlobalAssign +optinline2 $(COMMONSYMBOLS)

UNCRITICALOPT=+optspace

all::   abbrev.stc objs genClassList $(OBJTARGET)

OBJFILES=$(OBJS)

OBJS=                                                     \
	    Object.$(O)                                   \
	      Autoload.$(O)                               \
	      Behavior.$(O)                               \
		ClassDescr.$(O)                           \
		  Class.$(O)                              \
		  Metaclass.$(O)                          \
	      Project.$(O)                                \
	      Boolean.$(O)                                \
		True.$(O)                                 \
		False.$(O)                                \
	      CCReader.$(O)                               \
	      Coll.$(O)                                   \
		Bag.$(O)                                  \
		FileDir.$(O)                              \
		SeqColl.$(O)                              \
		  ArrColl.$(O)                            \
		    Array.$(O)                            \
		      WeakArr.$(O)                        \
		    ByteArray.$(O)                        \
		      CharArray.$(O)                      \
			String.$(O)                       \
			  Symbol.$(O)                     \
		      UIBytes.$(O)                        \
		    DoubleArray.$(O)                      \
		    FloatArray.$(O)                       \
		Interval.$(O)                             \
		LinkList.$(O)                             \
		  Semaphore.$(O)                          \
		OrdColl.$(O)                              \
		  SortColl.$(O)                           \
		Set.$(O)                                  \
		  Dict.$(O)                               \
		    IdDict.$(O)                           \
		      WeakIdDict.$(O)                     \
		  IdSet.$(O)                              \
		    WeakIdSet.$(O)                        \
		    SignalSet.$(O)                        \
	      Context.$(O)                                \
		BContext.$(O)                             \
	      Delay.$(O)                                  \
	      Exception.$(O)                              \
	      ExecFunc.$(O)                               \
		CompCode.$(O)                             \
		  Block.$(O)                              \
		    CheapBlk.$(O)                         \
		  Method.$(O)                             \
	      Filename.$(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)                          \
		  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)                                 \
	      Smalltalk.$(O)                              \
	      Stream.$(O)                                 \
		PeekStr.$(O)                              \
		  PosStream.$(O)                          \
		    ReadStr.$(O)                          \
		    WriteStr.$(O)                         \
		      RWStream.$(O)                       \
		      ActorStr.$(O)                       \
		      ExtStream.$(O)                      \
			FileStr.$(O)                      \
			  DirStr.$(O)                     \
			UnbndExtStr.$(O)                  \
			  NPExtStr.$(O)                   \
			    PipeStr.$(O)                  \
	      UndefObj.$(O)                               \
	      Unix.$(O)                                   

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

#
# special rule, to define the config-string while compiling
# this places the current config setting into the Smalltalk class binary
#
CONF_STRING="$(CONF)"

Smalltalk.$(O):
	$(STC) -CC="$(CC)" $(STCFLAGS) $(CFLAGS) -DCONFIGURATION_STRING='\"$(CONF_STRING)\"' -c Smalltalk.st
	@$(TOUCH) $*.$(O)

Unix.$(O):
	$(STC) -CC="$(CC)" $(STCFLAGS) $(CFLAGS) $(UNCRITICALOPT) -c Unix.st
	@$(TOUCH) $*.$(O)

cleanjunk::
	-rm -f *.c *.H

clean::
	-rm -f [A-Z]*.o *.c *.H abbrev.stc classList.stc

clobber::
	-rm -f *.c *.H abbrev.stc classList.stc

tar:
	(cd $(TOP); tar cvfh DISTRIB/libbasic.tar \
				libbasic/Make.proto \
				libbasic/.dir.info \
				libbasic/*.st \
				libbasic/resources)

#
# next thing I'll build into stc is a makedepend feature for this ...
#

I       = $(INCLUDE)
STCHDR  =$(I)/stc.h $(I)/stcIntern.h $(CPUINTERN_H)
OBJECT  =$(I)/Object.H $(STCHDR)
BOOLEAN =$(I)/Boolean.H $(OBJECT)
BEHAVIOR=$(I)/Behavior.H $(OBJECT)
CLASS   =$(I)/Class.H $(I)/ClassDescr.H $(BEHAVIOR)

Object.$(O):       Object.st $(STCHDR)
UndefObj.$(O):     UndefObj.st $(OBJECT)

Message.$(O):      Message.st $(OBJECT)
MiniDebug.$(O):    MiniDebug.st $(OBJECT)
MiniIns.$(O):      MiniIns.st $(OBJECT)

Unix.$(O):         Unix.st $(OBJECT)
Autoload.$(O):     Autoload.st $(OBJECT)
Smalltalk.$(O):    Smalltalk.st $(OBJECT)
ObjMem.$(O):       ObjMem.st $(OBJECT)
Process.$(O):      Process.st $(I)/Link.H $(OBJECT)
ProcSched.$(O):    ProcSched.st $(OBJECT)
Semaphore.$(O):    Semaphore.st $(I)/LinkList.H $(OBJECT)
Delay.$(O):        Delay.st $(OBJECT)
MsgTally.$(O):     MsgTally.st  $(OBJECT)
MiniDebug.$(O):    MiniDebug.st $(OBJECT)
MiniIns.$(O):      MiniIns.st $(OBJECT)
Context.$(O):      Context.st $(OBJECT)
BContext.$(O):     BContext.st $(I)/Context.H $(OBJECT)
ExecFunc.$(O):     ExecFunc.st $(OBJECT)
CompCode.$(O):     CompCode.st $(I)/ExecFunc.H $(OBJECT)
Method.$(O):       Method.st $(I)/CompCode.H $(I)/ExecFunc.H $(OBJECT)
Block.$(O):        Block.st $(I)/CompCode.H $(I)/ExecFunc.H $(OBJECT)
CheapBlk.$(O):     CheapBlk.st $(I)/Block.H $(I)/CompCode.H $(I)/ExecFunc.H $(OBJECT)

Signal.$(O):       Signal.st $(OBJECT)

Exception.$(O):    Exception.st $(OBJECT)
Geometric.$(O):    Geometric.st $(OBJECT)
Rectangle.$(O):    Rectangle.st $(I)/Geometric.H $(OBJECT)

Boolean.$(O):      Boolean.st $(OBJECT)
True.$(O):         True.st $(BOOLEAN)
False.$(O):        False.st $(BOOLEAN)

# VMBehavior.$(O):   VMBehavior.st $(OBJECT)
Behavior.$(O):     Behavior.st $(OBJECT)
ClassDescr.$(O):   ClassDescr.st $(BEHAVIOR)
Class.$(O):        Class.st $(I)/ClassDescr.H $(BEHAVIOR)
Metaclass.$(O):    Metaclass.st $(CLASS)
CCReader.$(O):     CCReader.st $(OBJECT)
Project.$(O):      Project.st $(OBJECT)

MAGNITUDE=$(I)/Magnitude.H $(OBJECT)
ABSTRTIME=$(I)/AbstrTime.H $(MAGNITUDE)
ARITHVAL=$(I)/ArithVal.H $(MAGNITUDE)
NUMBER=$(I)/Number.H $(ARITHVAL)
INTEGER=$(I)/Integer.H $(NUMBER)

Magnitude.$(O):    Magnitude.st $(OBJECT)
LookupKey.$(O):    LookupKey.st $(MAGNITUDE)
Assoc.$(O):        Assoc.st $(I)/LookupKey.H $(MAGNITUDE)
Point.$(O):        Point.st $(MAGNITUDE)
Character.$(O):    Character.st $(MAGNITUDE)
ArithVal.$(O):     ArithVal.st $(MAGNITUDE)
Number.$(O):       Number.st $(ARITHVAL)
Integer.$(O):      Integer.st $(NUMBER)
LPReal.$(O):       LPReal.st $(NUMBER)
Float.$(O):        Float.st $(I)/LPReal.H $(NUMBER)
Fraction.$(O):     Fraction.st $(NUMBER)
SmallInt.$(O):     SmallInt.st $(INTEGER)
LargeInt.$(O):     LargeInt.st $(INTEGER)
AbstrTime.$(O):    AbstrTime.st $(MAGNITUDE)
AbsTime.$(O):      AbsTime.st $(ABSTRTIME)
Time.$(O):         Time.st $(ABSTRTIME)
Date.$(O):         Date.st $(MAGNITUDE)

COLL=$(I)/Coll.H $(OBJECT)
SET=$(I)/Set.H $(COLL)
DICT=$(I)/Dict.H $(COLL)
IDDICT=$(I)/IdDict.H $(DICT)
WEAKIDDICT=$(I)/WeakIdDict.H $(IDDICT)
SEQCOLL=$(I)/SeqColl.H $(COLL)
ORDCOLL=$(I)/OrdColl.H $(SEQCOLL)
ARRCOLL=$(I)/ArrColl.H $(SEQCOLL)
ARRAY=$(I)/Array.H $(ARRCOLL)
VARARRAY=$(I)/VarArray.H $(ARRCOLL)
BYTEARRAY=$(I)/ByteArray.H $(ARRCOLL)
CHARARRAY=$(I)/CharArray.H $(BYTEARRAY)
STRING=$(I)/String.H $(CHARARRAY)

Registry.$(O):     Registry.st $(OBJECT)
HRegistry.$(O):    HRegistry.st $(I)/Registry.H $(OBJECT)
Coll.$(O):         Coll.st $(OBJECT)
FileDir.$(O):      FileDir.st $(COLL)
SeqColl.$(O):      SeqColl.st $(COLL)
Set.$(O):          Set.st $(COLL)
IdSet.$(O):        IdSet.st $(SET)
SignalSet.$(O):    SignalSet.st $(I)/IdSet.H $(SET)
Bag.$(O):          Bag.st $(COLL)
Dict.$(O):         Dict.st $(COLL)
IdDict.$(O):       IdDict.st $(DICT)
WeakIdSet.$(O):    WeakIdSet.st $(IDDICT)
WeakIdDict.$(O):   WeakIdDict.st $(IDDICT)
OrdColl.$(O):      OrdColl.st $(SEQCOLL)
SortColl.$(O):     SortColl.st $(ORDCOLL)
Interval.$(O):     Interval.st $(SEQCOLL)
LinkList.$(O):     LinkList.st $(SEQCOLL)
Link.$(O):         Link.st $(OBJECT)
ArrColl.$(O):      ArrColl.st $(SEQCOLL)
Array.$(O):        Array.st $(ARRCOLL)
WeakArr.$(O):      WeakArr.st $(ARRAY)
FloatArray.$(O):   FloatArray.st $(ARRCOLL)
DoubleArray.$(O):  DoubleArray.st $(ARRCOLL)
ByteArray.$(O):    ByteArray.st $(ARRCOLL)
UIBytes.$(O):      UIBytes.st $(BYTEARRAY)
CharArray.$(O):    CharArray.st $(BYTEARRAY)
String.$(O):       String.st $(CHARARRAY)
Symbol.$(O):       Symbol.st $(STRING)
Filename.$(O):     Filename.st $(STRING)

STREAM=$(I)/Stream.H $(OBJECT)
PEEKSTREAM=$(I)/PeekStr.H $(STREAM)
POSSTREAM=$(I)/PosStream.H $(PEEKSTREAM)
WRITESTREAM=$(I)/WriteStr.H $(POSSTREAM)
RWSTREAM=$(I)/RWStream.H $(WRITESTREAM)
EXTSTREAM=$(I)/ExtStream.H $(RWSTREAM)
UNBNDEXTSTREAM=$(I)/UnbndExtStr.H $(EXTSTREAM)
NPEXTSTREAM=$(I)/NPExtStr.H $(UNBNDEXTSTREAM)
PIPESTREAM=$(I)/PipeStr.H $(NPEXTSTREAM)

Stream.$(O):       Stream.st $(OBJECT)
PeekStr.$(O):      PeekStr.st $(STREAM)
PosStream.$(O):    PosStream.st $(PEEKSTREAM)
ReadStr.$(O):      ReadStr.st $(POSSTREAM)
WriteStr.$(O):     WriteStr.st $(POSSTREAM)
RWStream.$(O):     RWStream.st $(WRITESTREAM)
ActorStr.$(O):     ActorStr.st $(RWSTREAM)
ExtStream.$(O):    ExtStream.st $(RWSTREAM)
UnbndExtStr.$(O):  UnbndExtStr.st $(EXTSTREAM)
NPExtStr.$(O):     NPExtStr.st $(UNBNDEXTSTREAM)
PipeStr.$(O):      PipeStr.st $(NPEXTSTREAM)
FileStr.$(O):      FileStr.st $(EXTSTREAM)
DirStr.$(O):       DirStr.st $(I)/FileStr.H $(EXTSTREAM)

Project.$(O):   Project.st $(OBJECT)