Make.proto
author claus
Thu, 02 Jun 1994 18:22:49 +0200
changeset 88 81dacba7a63a
parent 86 158aa6d1c8fa
child 95 d22739a0c6e9
permissions -rw-r--r--
*** empty log message ***

# %W% %E%
#
# -------------- no need to change anything below ----------

LIBNAME=libbasic
LIB=libbasic.$(A)
SUBDIRS=

STCOPT=$(LIBBASIC_STCOPT)

TOP=..
I       = $(INCLUDE)

STCFLAGS= -H../include -warnGlobalAssign -warnNonStandard $(STCOPT)

all::   $(OBJTARGET)

shared:
	make STCOPT=$(STCOPT)" +sharedLibCode" O=so objs auxobjs

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)                              \
	            SignalSet.$(O)                        \
	      Context.$(O)                                \
	        BContext.$(O)                             \
	      Delay.$(O)                            	  \
	      Exception.$(O)                              \
	      ExecFunc.$(O)                               \
	        ExecCode.$(O)                             \
	          Block.$(O)                              \
	          Method.$(O)                             \
	      Filename.$(O)                               \
	      Link.$(O)                                   \
	        Process.$(O)                              \
	      Magnitude.$(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)                                \
	      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)                     \
	                NPExtStr.$(O)                     \
	                  PipeStr.$(O)                    \
	      UndefObj.$(O)                               \
	      Unix.$(O)                                   

auxobjs::

install:: 
	-mkdir $(DESTLIBDIR)
	-$(INSTALL) $(LIBNAME)$(OBJNAME) $(DESTLIBDIR)

qinstall::
	-mkdir $(DESTLIBDIR)
	-$(INSTALL) $(LIBNAME)$(OBJNAME) $(DESTLIBDIR)

libe:   $(LIB)

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

PSPrStr.$(O):
	$(STC) -CC="$(CC)" $(STCFLAGS) +limitSuperInclude $(CFLAGS) -c $*.st

HPIIPrStr.$(O):
	$(STC) -CC="$(CC)" $(STCFLAGS) +limitSuperInclude $(CFLAGS) -c $*.st

FX1PrStr.$(O):
	$(STC) -CC="$(CC)" $(STCFLAGS) +limitSuperInclude $(CFLAGS) -c $*.st

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

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

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

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

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)

Unix.$(O):         Unix.st $(OBJECT)
Autoload.$(O):     Autoload.st $(OBJECT)
Smalltalk.$(O):    Smalltalk.st $(OBJECT)
ObjMem.$(O):       ObjMem.st $(OBJECT)
Process.$(O):      Process.st $(OBJECT)
ProcSched.$(O):    ProcSched.st $(OBJECT)
Semaphore.$(O):    Semaphore.st $(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)
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)
Assoc.$(O):        Assoc.st $(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)
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)
NPEXTSTREAM=$(I)/NPExtStr.H $(EXTSTREAM)
PIPESTREAM=$(I)/PipeStr.H $(NPEXTSTREAM)

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)
NPExtStr.$(O):     NPExtStr.st $(EXTSTREAM)
TTYStream.$(O):    TTYStream.st $(NPEXTSTREAM)
PipeStr.$(O):      PipeStr.st $(NPEXTSTREAM)
Socket.$(O):       Socket.st $(NPEXTSTREAM)
PrintStr.$(O):     PrintStr.st $(PIPESTREAM)
PSPrStr.$(O):      PSPrStr.st $(I)/PrintStr.H $(PIPESTREAM)
HPIIPrStr.$(O):    HPIIPrStr.st $(I)/PrintStr.H $(PIPESTREAM)
FX1PrStr.$(O):     FX1PrStr.st $(I)/PrintStr.H $(PIPESTREAM)
FileStr.$(O):      FileStr.st $(EXTSTREAM)
SoundStr.$(O):     SoundStr.st $(I)/FileStr.H $(EXTSTREAM)
DirStr.$(O):       DirStr.st $(I)/FileStr.H $(EXTSTREAM)