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