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