Make.proto
author claus
Wed, 15 Feb 1995 11:29:31 +0100
changeset 58 bd6753bf0401
parent 56 fb0de2a95990
child 59 38adf5d2121b
permissions -rw-r--r--
*** empty log message ***

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

TOP=..
SUBDIRS=

LIBNAME=libbasic2

STCOPT=$(LIBBASIC2_STCOPT)
STCLOCALOPT=-Padditional-basic-classes $(COMMONSYMBOLS)

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

#
# these are uncritical - save some bytes by compiling with optspace
#
UNCRITICAL=     Change.$(O) ChangeSet.$(O) ClassChg.$(O) ClsDefChg.$(O) \
		ClsComChg.$(O) MethodChg.$(O) \
		PrintStr.$(O) PSPrStr.$(O) HPIIPrStr.$(O) FX1PrStr.$(O)
compact::
	$(RM) $(UNCRITICAL); $(MAKE) LIBBASIC2_STCOPT=+optspace2 $(UNCRITICAL)

objs::                                                    \
	      Change.$(O)                                 \
		ClassChg.$(O)                             \
		  ClsComChg.$(O)                          \
		  ClsDefChg.$(O)                          \
		  MethodChg.$(O)                          \
		    MthdCatChg.$(O)                       \
	      ExtFunc.$(O)                                \
		MappedColl.$(O)                           \
			TwoByteStr.$(O)                   \
		      Polygon.$(O)                        \
		    VarArray.$(O)                         \
		      StrColl.$(O)                        \
			FileText.$(O)                     \
		    VarString.$(O)                        \
		  ChangeSet.$(O)                          \
		    CacheDict.$(O)                        \
		ValLink.$(O)                              \
	      MsgTally.$(O)                               \
	      MsgTracer.$(O)                              \
	      MsgSend.$(O)                                \
	      Project.$(O)                                \
			  Socket.$(O)                     \
			  SoundStr.$(O)                   \
			    PrintStr.$(O)                 \
			      PSPRSTR                     \
			      HPIIPRSTR                   \
			      FX1PRSTR                    \
		Random.$(O)                               \
	      WMethod.$(O)

classList.stc: Make.proto
		$(MAKE) genClassList

#
# these nest too deep on some systems (see discussion about LIMITSUPERINCLUDE
# in configurations/COMMON/defines
#
PSPRSTR:
	@$(MAKE) PSPrStr.$(O) STCFLAGS="$(STCFLAGS) $(LIMITSUPERINCLUDE)"

HPIIPRSTR:
	@$(MAKE) HPIIPrStr.$(O) STCFLAGS="$(STCFLAGS) $(LIMITSUPERINCLUDE)"

FX1PRSTR:
	@$(MAKE) FX1PrStr.$(O) STCFLAGS="$(STCFLAGS) $(LIMITSUPERINCLUDE)"

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

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

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

tar:
	(cd $(TOP); tar cvf DISTRIB/libbasic2.tar \
				libbasic2/.dir.info \
				libbasic2/*.st \
				libbasic2/Make.proto)

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

MsgTally.$(O):  MsgTally.st $(OBJECT)
MsgTracer.$(O): MsgTracer.st $(OBJECT)
MsgSend.$(O):   MsgSend.st $(I)/Message.H $(OBJECT)

BCCReader.$(O): BCCReader.st $(I)/CCReader.H $(OBJECT)
Project.$(O):   Project.st $(OBJECT)
WMethod.$(O):   WMethod.st $(I)/Method.H $(I)/CompCode.H $(I)/ExecFunc.H $(OBJECT)

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)

MappedColl.$(O):MappedColl.st $(COLL)
CacheDict.$(O): CacheDict.st $(DICT)
ChangeSet.$(O): ChangeSet.st $(I)/OrdColl.H $(SEQCOLL)
ValLink.$(O):   ValLink.st $(I)/Link.H $(OBJECT)
VarArray.$(O):  VarArray.st $(ARRCOLL)
VarString.$(O): VarString.st $(ARRCOLL)
Text.$(O):      Text.st $(VARARRAY)
FileText.$(O):  FileText.st $(I)/Text.H $(VARARRAY)
Polygon.$(O):   Polygon.st $(ARRAY)
TwoByteStr.$(O):TwoByteStr.st $(I)/AbstrStr.H $(BYTEARRAY)

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)

Random.$(O):    Random.st $(STREAM)
TTYStream.$(O): TTYStream.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)
SoundStr.$(O):  SoundStr.st $(I)/FileStr.H $(EXTSTREAM)

ExtFunc.$(O):   ExtFunc.st $(I)/ExecFunc.H $(OBJECT)