Make.proto
author claus
Mon, 10 Oct 1994 01:29:28 +0100
changeset 159 514c749165c3
parent 147 f4c597e879ef
child 190 55501b719668
permissions -rw-r--r--
*** empty log message ***

# $Header: /cvs/stx/stx/libbasic/Make.proto,v 1.16 1994-10-10 00:29:28 claus Exp $
#
# -------------- no need to change anything below ----------

TOP=..
SUBDIRS=

LIBNAME=libbasic

STCOPT=$(LIBBASIC_STCOPT) -warnGlobalAssign

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

objs::                                                    \
	    Object.$(O)                                   \
	      Autoload.$(O)                               \
	      Behavior.$(O)                               \
		ClassDescr.$(O)                           \
		  Class.$(O)                              \
		  Metaclass.$(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)                        \
		      AbstrStr.$(O)                       \
			String.$(O)                       \
			  Symbol.$(O)                     \
		      UIBytes.$(O)                        \
		    DoubleArray.$(O)                      \
		    ExtBytes.$(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)                               \
		ExecCode.$(O)                             \
		  Block.$(O)                              \
		    CheapBlk.$(O)                         \
		  Method.$(O)                             \
	      Filename.$(O)                               \
	      Link.$(O)                                   \
		Process.$(O)                              \
	      Magnitude.$(O)                              \
		LookupKey.$(O)                            \
		  Assoc.$(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)                              \
	      Queue.$(O)                                  \
		SharedQueue.$(O)                          \
	      Rectangle.$(O)                              \
	      Registry.$(O)                               \
	      Signal.$(O)                                 \
	      SMALLTALK                                   \
	      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)                                   

#
# generate class list from what is found here 
#
classList.stc:: Make.proto
		$(MAKE) genClassList

#
# only needed for NeXT - assembler dumps core with long name ?!?!
#
SeqColl.$(O):
	$(STC) -CC="$(CC)" $(STCFLAGS) +shortNames $(CFLAGS) -c $*.st

#
# special rule, to define the config-string while compiling
#
CONF_STRING="$(CONF)"

SMALLTALK:
	 $(MAKE) Smalltalk.$(O) \
		 DEFS="$(DEFS) -DCONFIGURATION_STRING='\\\"$(CONF_STRING)\\\"' "

# Class:
#       $(MAKE) Class.$(O) OPT=""
#
# Metaclass:
#       $(MAKE) Metaclass.$(O) OPT=""
#
# i_Class.$(O):
#       $(MAKE) I_CLASS OPT=""
#
# i_Metaclass.$(O):
#       $(MAKE) I_METACLASS OPT=""
#
# I_CLASS:
#       $(CC) -c $(CFLAGS) i_Class.c
#
# I_METACLASS:
#       $(CC) -c $(CFLAGS) i_Metaclass.c

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

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

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

tar:
	rm -f $(TOP)/DISTRIB/libbasic.tar*
	(cd $(TOP); tar cvf DISTRIB/libbasic.tar \
				libbasic/Make.proto \
				libbasic/*.st \
				libbasic/resources) \
	compress $(TOP)/DISTRIB/libbasic.tar


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

I       = $(INCLUDE)
STCHDR  =$(I)/stc.h $(I)/stcIntern.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)
Queue.$(O):        Queue.st $(OBJECT)
Delay.$(O):        Delay.st $(OBJECT)
SharedQueue.$(O):  SharedQueue.st $(I)/Queue.H $(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)
ExecCode.$(O):     ExecCode.st $(I)/ExecFunc.H $(OBJECT)
Method.$(O):       Method.st $(I)/ExecCode.H $(I)/ExecFunc.H $(OBJECT)
Block.$(O):        Block.st $(I)/ExecCode.H $(I)/ExecFunc.H $(OBJECT)
CheapBlk.$(O):     CheapBlk.st $(I)/Block.H $(I)/ExecCode.H $(I)/ExecFunc.H $(OBJECT)
BlckContext.$(O):  BlckContext.st $(OBJECT)

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

Exception.$(O):    Exception.st $(OBJECT)
Rectangle.$(O):    Rectangle.st $(OBJECT)

Boolean.$(O):      Boolean.st $(OBJECT)
True.$(O):         True.st $(BOOLEAN)
False.$(O):        False.st $(BOOLEAN)
ExtSource.$(O):    ExtSource.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)
BCCReader.$(O):    BCCReader.st $(I)/CCReader.H $(OBJECT)
Project.$(O):      Project.st $(OBJECT)

MAGNITUDE=$(I)/Magnitude.H $(OBJECT)
ABSTIME=$(I)/AbsTime.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)
AbsTime.$(O):      AbsTime.st $(MAGNITUDE)
Time.$(O):         Time.st $(ABSTIME)
Date.$(O):         Date.st $(ABSTIME)

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)
ARRCOLL=$(I)/ArrColl.H $(SEQCOLL)
ARRAY=$(I)/Array.H $(ARRCOLL)
VARARRAY=$(I)/VarArray.H $(ARRCOLL)
BYTEARRAY=$(I)/ByteArray.H $(ARRCOLL)
STRING=$(I)/String.H $(I)/AbstrStr.H $(BYTEARRAY)

Registry.$(O):     Registry.st $(OBJECT)
Coll.$(O):         Coll.st $(OBJECT)
FileDir.$(O):      FileDir.st $(COLL)
SeqColl.$(O):      SeqColl.st $(COLL)
# MappedColl.$(O):   MappedColl.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)
# CacheDict.$(O):    CacheDict.st $(DICT)
WeakIdDict.$(O):   WeakIdDict.st $(IDDICT)
OrdColl.$(O):      OrdColl.st $(SEQCOLL)
SortColl.$(O):     SortColl.st $(I)/OrdColl.H $(SEQCOLL)
# ChangeSet.$(O):    ChangeSet.st $(I)/OrdColl.H $(SEQCOLL)
Interval.$(O):     Interval.st $(SEQCOLL)
# Node.$(O):         Node.st $(COLL)
# Tree.$(O):         Tree.st $(COLL)
LinkList.$(O):     LinkList.st $(SEQCOLL)
Link.$(O):         Link.st $(OBJECT)
# ValLink.$(O):      ValLink.st $(I)/Link.H $(OBJECT)
ArrColl.$(O):      ArrColl.st $(SEQCOLL)
# VarArray.$(O):     VarArray.st $(ARRCOLL)
# VarString.$(O):    VarString.st $(ARRCOLL)
# Text.$(O):         Text.st $(VARARRAY)
# FileText.$(O):     FileText.st $(I)/Text.H $(VARARRAY)
Array.$(O):        Array.st $(ARRCOLL)
WeakArr.$(O):      WeakArr.st $(ARRAY)
FloatArray.$(O):   FloatArray.st $(ARRCOLL)
DoubleArray.$(O):  DoubleArray.st $(ARRCOLL)
ExtBytes.$(O):     ExtBytes.st $(ARRCOLL)
ByteArray.$(O):    ByteArray.st $(ARRCOLL)
UIBytes.$(O):      UIBytes.st $(BYTEARRAY)
AbstrStr.$(O):     AbstrStr.st $(BYTEARRAY)
String.$(O):       String.st $(I)/AbstrStr.H $(BYTEARRAY)
# TwoByteStr.$(O):   TwoByteStr.st $(I)/AbstrStr.H $(BYTEARRAY)
Symbol.$(O):       Symbol.st $(STRING)
Filename.$(O):     Filename.st $(STRING)

# Change.$(O):       Change.st $(OBJECT)
# ClassChg.$(O):     ClassChg.st $(OBJECT)
# ClsDefChg.$(O):    ClsDefChg.st $(OBJECT)
# ClsComChg.$(O):    ClsComChg.st $(OBJECT)
# MethodChg.$(O):    MethodChg.st $(OBJECT)

STREAM=$(I)/Stream.H $(OBJECT)
POSSTREAM=$(I)/PosStream.H $(STREAM)
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 $(UNBNDEXTSTREAM)

Stream.$(O):       Stream.st $(OBJECT)
# Random.$(O):       Random.st $(STREAM)
PeekStr.$(O):      PeekStr.st $(STREAM)
PosStream.$(O):    PosStream.st $(I)/PeekStr.H $(STREAM)
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)
# TTYStream.$(O):    TTYStream.st $(UNBNDEXTSTREAM)
PipeStr.$(O):      PipeStr.st $(UNBNDEXTSTREAM)
# Socket.$(O):       Socket.st $(NPEXTSTREAM)
FileStr.$(O):      FileStr.st $(EXTSTREAM)
# SoundStr.$(O):     SoundStr.st $(I)/FileStr.H $(EXTSTREAM)
DirStr.$(O):       DirStr.st $(I)/FileStr.H $(EXTSTREAM)