.SUFFIXES: .o .c .c++ .s

CC        = cc
CPP       = _C++ c++
LINK      = DRLink

ILIBS     = CathLibCPP:hoist.,CathLibCPP:,OS:,CLib:
STUBS     = CathLibCPP:o.Stubs
LLIBS     = CathLibCPP:o.CathLibCPP OSLib:o.OSLib ${STUBS}

CFLAGS    = -zo -fw -ff -throwback -I${ILIBS} -c -depend !Depend -D__swi=extern
CPPFLAGS  = ${CFLAGS} -C++ -DUSING_OSLIB
AFLAGS    = -desktop ^ -depend !Depend -throwback -nocache
LFLAGS    = -throwback -nounused -leaveweak -C++

ALL       = talgo talgo2 tbitset tcomplex tdeque texcept tfunction titerator tlist tlist2 tmap tmap2 tmap3 tmultimap tmultimap2 \
            tmultiset tpriqueue tqueue trtti tset tstack tstring tstterm tvecbool tvector

#ALL       = tstterm

TARGETS   = ${ALL}

all: ${TARGETS}

talgo: o.talgo ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.talgo ${LLIBS}

talgo2: o.talgo2 ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.talgo2 ${LLIBS}

tbitset: o.tbitset ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tbitset ${LLIBS}

tcomplex: o.tcomplex ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tcomplex ${LLIBS}

tdeque: o.tdeque ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tdeque ${LLIBS}

texcept: o.texcept ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.texcept ${LLIBS}

tfunction: o.tfunction ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tfunction ${LLIBS}

titerator: o.titerator ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.titerator ${LLIBS}

tlist: o.tlist ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tlist ${LLIBS}

tlist2: o.tlist2 ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tlist2 ${LLIBS}

tmap: o.tmap ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tmap ${LLIBS}

tmap2: o.tmap2 ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tmap2 ${LLIBS}

tmap3: o.tmap3 ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tmap3 ${LLIBS}

tmultimap: o.tmultimap ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tmultimap ${LLIBS}

tmultimap2: o.tmultimap2 ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tmultimap2 ${LLIBS}

tmultiset: o.tmultiset ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tmultiset ${LLIBS}

tpriqueue: o.tpriqueue ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tpriqueue ${LLIBS}

tqueue: o.tqueue ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tqueue ${LLIBS}

trtti: o.trtti ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.trtti ${LLIBS}

tset: o.tset ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tset ${LLIBS}

tstack: o.tstack ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tstack ${LLIBS}

tstring: o.tstring ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tstring ${LLIBS}

tstterm: o.tstterm ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tstterm ${LLIBS}

tvecbool: o.tvecbool ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tvecbool ${LLIBS}

tvector: o.tvector ${LLIBS}
   ${LINK} ${LFLAGS} -o $@ o.tvector ${LLIBS}

.c.o:; ${CC} ${CFLAGS} -o $@ $<
.c++.o:; ${CPP} ${CPPFLAGS} -o $@ $<
.s.o:; objasm ${AFLAGS} $< $@

# Dynamic dependencies:
o.texcept:	c++.texcept
o.texcept:	CathLibCPP:h.exception
o.texcept:	CathLibCPP:h.bool
o.texcept:	CathLibCPP:h.config
o.texcept:	CathLibCPP:h.ptypeinfo
o.texcept:	CathLibCPP:h.typeinfo
o.texcept:	CathLibCPP:c++.autodstry
o.tfunction:	c++.tfunction
o.tfunction:	CathLibCPP:h.functional
o.tfunction:	CathLibCPP:h.bool
o.tfunction:	CathLibCPP:h.config
o.trtti:	c++.trtti
o.trtti:	CathLibCPP:h.exception
o.trtti:	CathLibCPP:h.bool
o.trtti:	CathLibCPP:h.config
o.trtti:	CathLibCPP:h.ptypeinfo
o.trtti:	CathLibCPP:h.typeinfo
o.talgo:	c++.talgo
o.talgo:	CathLibCPP:h.algorithm
o.talgo:	CathLibCPP:h.config
o.talgo:	CathLibCPP:h.bool
o.talgo:	CathLibCPP:h.utility
o.talgo:	CathLibCPP:h.functional
o.talgo:	CathLibCPP:h.list
o.talgo:	CathLibCPP:h.iterator
o.talgo:	CathLibCPP:h.iosfwd
o.talgo:	CathLibCPP:h.listbase
o.talgo:	CathLibCPP:h.newcasts
o.talgo:	CathLibCPP:h.vector
o.talgo:	CathLibCPP:h.vectorbase
o.talgo:	CathLibCPP:c++.algorithm
o.talgo:	CathLibCPP:h.memory
o.talgo:	CathLibCPP:h.new
o.talgo:	CathLibCPP:h.exception
o.talgo:	CathLibCPP:h.ptypeinfo
o.talgo2:	c++.talgo2
o.talgo2:	CathLibCPP:h.algorithm
o.talgo2:	CathLibCPP:h.config
o.talgo2:	CathLibCPP:h.bool
o.talgo2:	CathLibCPP:h.utility
o.talgo2:	CathLibCPP:h.functional
o.talgo2:	CathLibCPP:h.list
o.talgo2:	CathLibCPP:h.iterator
o.talgo2:	CathLibCPP:h.iosfwd
o.talgo2:	CathLibCPP:h.listbase
o.talgo2:	CathLibCPP:h.newcasts
o.talgo2:	CathLibCPP:h.vector
o.talgo2:	CathLibCPP:h.vectorbase
o.talgo2:	CathLibCPP:c++.algorithm
o.talgo2:	CathLibCPP:h.memory
o.talgo2:	CathLibCPP:h.new
o.talgo2:	CathLibCPP:h.exception
o.talgo2:	CathLibCPP:h.ptypeinfo
o.tdeque:	c++.tdeque
o.tdeque:	CathLibCPP:h.algorithm
o.tdeque:	CathLibCPP:h.config
o.tdeque:	CathLibCPP:h.bool
o.tdeque:	CathLibCPP:h.utility
o.tdeque:	CathLibCPP:h.deque
o.tdeque:	CathLibCPP:h.dequebase
o.tdeque:	CathLibCPP:h.iterator
o.tdeque:	CathLibCPP:h.iosfwd
o.tlist:	c++.tlist
o.tlist:	CathLibCPP:h.algorithm
o.tlist:	CathLibCPP:h.config
o.tlist:	CathLibCPP:h.bool
o.tlist:	CathLibCPP:h.utility
o.tlist:	CathLibCPP:h.list
o.tlist:	CathLibCPP:h.iterator
o.tlist:	CathLibCPP:h.iosfwd
o.tlist:	CathLibCPP:h.listbase
o.tlist:	CathLibCPP:h.newcasts
o.tlist2:	c++.tlist2
o.tlist2:	CathLibCPP:h.algorithm
o.tlist2:	CathLibCPP:h.config
o.tlist2:	CathLibCPP:h.bool
o.tlist2:	CathLibCPP:h.utility
o.tlist2:	CathLibCPP:h.list
o.tlist2:	CathLibCPP:h.iterator
o.tlist2:	CathLibCPP:h.iosfwd
o.tlist2:	CathLibCPP:h.listbase
o.tlist2:	CathLibCPP:h.newcasts
o.tmap:	c++.tmap
o.tmap:	CathLibCPP:h.algorithm
o.tmap:	CathLibCPP:h.config
o.tmap:	CathLibCPP:h.bool
o.tmap:	CathLibCPP:h.utility
o.tmap:	CathLibCPP:h.map
o.tmap:	CathLibCPP:h.assocbase
o.tmap:	CathLibCPP:h.iterator
o.tmap:	CathLibCPP:h.iosfwd
o.tmap:	CathLibCPP:h.newcasts
o.tmap:	CathLibCPP:c++.map
o.tmap:	CathLibCPP:h.exception
o.tmap:	CathLibCPP:h.ptypeinfo
o.tmap:	CathLibCPP:hoist.h.hoistbp
o.tmap:	CathLibCPP:hoist.h.hoistbpp
o.tmap:	CathLibCPP:h.stringfwd
o.tmap:	CathLibCPP:hoist.h.hoistctdt
o.tmap:	CathLibCPP:hoist.h.hoistctdtp
o.tmap:	CathLibCPP:h.stdexcept
o.tmap:	CathLibCPP:h.tpltutil
o.tmap:	CathLibCPP:hoist.c++.hoistbp
o.tmap:	CathLibCPP:h.functional
o.tmap2:	c++.tmap2
o.tmap2:	CathLibCPP:h.algorithm
o.tmap2:	CathLibCPP:h.config
o.tmap2:	CathLibCPP:h.bool
o.tmap2:	CathLibCPP:h.utility
o.tmap2:	CathLibCPP:h.functional
o.tmap2:	CathLibCPP:h.map
o.tmap2:	CathLibCPP:h.assocbase
o.tmap2:	CathLibCPP:h.iterator
o.tmap2:	CathLibCPP:h.iosfwd
o.tmap2:	CathLibCPP:h.newcasts
o.tmap2:	CathLibCPP:c++.map
o.tmap2:	CathLibCPP:h.exception
o.tmap2:	CathLibCPP:h.ptypeinfo
o.tmap2:	CathLibCPP:hoist.h.hoistbp
o.tmap2:	CathLibCPP:hoist.h.hoistbpp
o.tmap2:	CathLibCPP:h.stringfwd
o.tmap2:	CathLibCPP:hoist.h.hoistctdt
o.tmap2:	CathLibCPP:hoist.h.hoistctdtp
o.tmap2:	CathLibCPP:h.stdexcept
o.tmap2:	CathLibCPP:h.tpltutil
o.tmap2:	CathLibCPP:hoist.c++.hoistbp
o.tmap3:	c++.tmap3
o.tmap3:	CathLibCPP:h.algorithm
o.tmap3:	CathLibCPP:h.config
o.tmap3:	CathLibCPP:h.bool
o.tmap3:	CathLibCPP:h.utility
o.tmap3:	CathLibCPP:h.map
o.tmap3:	CathLibCPP:h.assocbase
o.tmap3:	CathLibCPP:h.iterator
o.tmap3:	CathLibCPP:h.iosfwd
o.tmap3:	CathLibCPP:h.newcasts
o.tmap3:	CathLibCPP:c++.map
o.tmap3:	CathLibCPP:h.exception
o.tmap3:	CathLibCPP:h.ptypeinfo
o.tmap3:	CathLibCPP:hoist.h.hoistbp
o.tmap3:	CathLibCPP:hoist.h.hoistbpp
o.tmap3:	CathLibCPP:h.stringfwd
o.tmap3:	CathLibCPP:hoist.h.hoistctdt
o.tmap3:	CathLibCPP:hoist.h.hoistctdtp
o.tmap3:	CathLibCPP:h.stdexcept
o.tmap3:	CathLibCPP:h.tpltutil
o.tmap3:	CathLibCPP:hoist.c++.hoistbp
o.tmap3:	CathLibCPP:h.functional
o.tmultimap:	c++.tmultimap
o.tmultimap:	CathLibCPP:h.algorithm
o.tmultimap:	CathLibCPP:h.config
o.tmultimap:	CathLibCPP:h.bool
o.tmultimap:	CathLibCPP:h.utility
o.tmultimap:	CathLibCPP:h.map
o.tmultimap:	CathLibCPP:h.assocbase
o.tmultimap:	CathLibCPP:h.iterator
o.tmultimap:	CathLibCPP:h.iosfwd
o.tmultimap:	CathLibCPP:h.newcasts
o.tmultimap:	CathLibCPP:c++.map
o.tmultimap:	CathLibCPP:h.exception
o.tmultimap:	CathLibCPP:h.ptypeinfo
o.tmultimap:	CathLibCPP:hoist.h.hoistbp
o.tmultimap:	CathLibCPP:hoist.h.hoistbpp
o.tmultimap:	CathLibCPP:h.stringfwd
o.tmultimap:	CathLibCPP:hoist.h.hoistctdt
o.tmultimap:	CathLibCPP:hoist.h.hoistctdtp
o.tmultimap:	CathLibCPP:h.stdexcept
o.tmultimap:	CathLibCPP:h.tpltutil
o.tmultimap:	CathLibCPP:hoist.c++.hoistbp
o.tmultimap:	CathLibCPP:h.functional
o.tmultiset:	c++.tmultiset
o.tmultiset:	CathLibCPP:h.algorithm
o.tmultiset:	CathLibCPP:h.config
o.tmultiset:	CathLibCPP:h.bool
o.tmultiset:	CathLibCPP:h.utility
o.tmultiset:	CathLibCPP:h.set
o.tmultiset:	CathLibCPP:h.assocbase
o.tmultiset:	CathLibCPP:h.iterator
o.tmultiset:	CathLibCPP:h.iosfwd
o.tmultiset:	CathLibCPP:h.newcasts
o.tmultiset:	CathLibCPP:c++.set
o.tmultiset:	CathLibCPP:hoist.h.hoistbp
o.tmultiset:	CathLibCPP:hoist.h.hoistbpp
o.tmultiset:	CathLibCPP:h.stringfwd
o.tmultiset:	CathLibCPP:hoist.h.hoistctdt
o.tmultiset:	CathLibCPP:hoist.h.hoistctdtp
o.tmultiset:	CathLibCPP:h.tpltutil
o.tmultiset:	CathLibCPP:hoist.c++.hoistbp
o.tmultiset:	CathLibCPP:h.functional
o.tpriqueue:	c++.tpriqueue
o.tpriqueue:	CathLibCPP:h.algorithm
o.tpriqueue:	CathLibCPP:h.config
o.tpriqueue:	CathLibCPP:h.bool
o.tpriqueue:	CathLibCPP:h.utility
o.tpriqueue:	CathLibCPP:h.deque
o.tpriqueue:	CathLibCPP:h.dequebase
o.tpriqueue:	CathLibCPP:h.iterator
o.tpriqueue:	CathLibCPP:h.iosfwd
o.tpriqueue:	CathLibCPP:h.functional
o.tpriqueue:	CathLibCPP:h.queue
o.tpriqueue:	CathLibCPP:c++.algorithm
o.tpriqueue:	CathLibCPP:h.memory
o.tpriqueue:	CathLibCPP:h.new
o.tpriqueue:	CathLibCPP:h.exception
o.tpriqueue:	CathLibCPP:h.ptypeinfo
o.tpriqueue:	CathLibCPP:h.newcasts
o.tqueue:	c++.tqueue
o.tqueue:	CathLibCPP:h.algorithm
o.tqueue:	CathLibCPP:h.config
o.tqueue:	CathLibCPP:h.bool
o.tqueue:	CathLibCPP:h.utility
o.tqueue:	CathLibCPP:h.deque
o.tqueue:	CathLibCPP:h.dequebase
o.tqueue:	CathLibCPP:h.iterator
o.tqueue:	CathLibCPP:h.iosfwd
o.tqueue:	CathLibCPP:h.queue
o.tset:	c++.tset
o.tset:	CathLibCPP:h.algorithm
o.tset:	CathLibCPP:h.config
o.tset:	CathLibCPP:h.bool
o.tset:	CathLibCPP:h.utility
o.tset:	CathLibCPP:h.set
o.tset:	CathLibCPP:h.assocbase
o.tset:	CathLibCPP:h.iterator
o.tset:	CathLibCPP:h.iosfwd
o.tset:	CathLibCPP:h.newcasts
o.tset:	CathLibCPP:c++.set
o.tset:	CathLibCPP:hoist.h.hoistbp
o.tset:	CathLibCPP:hoist.h.hoistbpp
o.tset:	CathLibCPP:h.stringfwd
o.tset:	CathLibCPP:hoist.h.hoistctdt
o.tset:	CathLibCPP:hoist.h.hoistctdtp
o.tset:	CathLibCPP:h.tpltutil
o.tset:	CathLibCPP:hoist.c++.hoistbp
o.tset:	CathLibCPP:h.functional
o.tstack:	c++.tstack
o.tstack:	CathLibCPP:h.algorithm
o.tstack:	CathLibCPP:h.config
o.tstack:	CathLibCPP:h.bool
o.tstack:	CathLibCPP:h.utility
o.tstack:	CathLibCPP:h.stack
o.tstack:	CathLibCPP:h.vector
o.tstack:	CathLibCPP:h.iterator
o.tstack:	CathLibCPP:h.iosfwd
o.tstack:	CathLibCPP:h.vectorbase
o.tvecbool:	c++.tvecbool
o.tvecbool:	CathLibCPP:h.algorithm
o.tvecbool:	CathLibCPP:h.config
o.tvecbool:	CathLibCPP:h.bool
o.tvecbool:	CathLibCPP:h.utility
o.tvecbool:	CathLibCPP:h.vectorbool
o.tvecbool:	CathLibCPP:h.iterator
o.tvecbool:	CathLibCPP:h.iosfwd
o.tvecbool:	CathLibCPP:h.vector
o.tvecbool:	CathLibCPP:h.vectorbase
o.tvecbool:	CathLibCPP:c++.algorithm
o.tvecbool:	CathLibCPP:h.memory
o.tvecbool:	CathLibCPP:h.new
o.tvecbool:	CathLibCPP:h.exception
o.tvecbool:	CathLibCPP:h.ptypeinfo
o.tvecbool:	CathLibCPP:h.newcasts
o.tvector:	c++.tvector
o.tvector:	CathLibCPP:h.algorithm
o.tvector:	CathLibCPP:h.config
o.tvector:	CathLibCPP:h.bool
o.tvector:	CathLibCPP:h.utility
o.tvector:	CathLibCPP:h.vector
o.tvector:	CathLibCPP:h.iterator
o.tvector:	CathLibCPP:h.iosfwd
o.tvector:	CathLibCPP:h.vectorbase
o.tbitset:	c++.tbitset
o.tbitset:	CathLibCPP:h.bitset
o.tbitset:	CathLibCPP:h.bool
o.tbitset:	CathLibCPP:h.config
o.tbitset:	CathLibCPP:h.stringfwd
o.tbitset:	CathLibCPP:h.utility
o.tbitset:	CathLibCPP:h.string
o.tbitset:	CathLibCPP:h.iosfwd
o.tbitset:	CathLibCPP:h.iterator
o.tbitset:	CathLibCPP:h.newcasts
o.tbitset:	CathLibCPP:c++.bitset
o.tcomplex:	c++.tcomplex
o.tcomplex:	CathLibCPP:h.complex
o.tcomplex:	CathLibCPP:h.bool
o.tcomplex:	CathLibCPP:h.config
o.tcomplex:	CathLibCPP:h.iosfwd
o.tcomplex:	CathLibCPP:h.iostream
o.tcomplex:	CathLibCPP:h.istream
o.tcomplex:	CathLibCPP:h.ios
o.tcomplex:	CathLibCPP:h.exception
o.tcomplex:	CathLibCPP:h.ptypeinfo
o.tcomplex:	CathLibCPP:h.string
o.tcomplex:	CathLibCPP:h.iterator
o.tcomplex:	CathLibCPP:h.newcasts
o.tcomplex:	CathLibCPP:h.typeinfo
o.tcomplex:	CathLibCPP:h.ostream
o.titerator:	c++.titerator
o.titerator:	CathLibCPP:h.iostream
o.titerator:	CathLibCPP:h.config
o.titerator:	CathLibCPP:h.istream
o.titerator:	CathLibCPP:h.bool
o.titerator:	CathLibCPP:h.ios
o.titerator:	CathLibCPP:h.exception
o.titerator:	CathLibCPP:h.ptypeinfo
o.titerator:	CathLibCPP:h.iosfwd
o.titerator:	CathLibCPP:h.string
o.titerator:	CathLibCPP:h.iterator
o.titerator:	CathLibCPP:h.newcasts
o.titerator:	CathLibCPP:h.typeinfo
o.titerator:	CathLibCPP:h.ostream
o.titerator:	CathLibCPP:h.algorithm
o.titerator:	CathLibCPP:h.utility
o.titerator:	CathLibCPP:h.list
o.titerator:	CathLibCPP:h.listbase
o.tmultimap2:	c++.tmultimap2
o.tmultimap2:	CathLibCPP:h.functional
o.tmultimap2:	CathLibCPP:h.bool
o.tmultimap2:	CathLibCPP:h.config
o.tmultimap2:	CathLibCPP:h.iostream
o.tmultimap2:	CathLibCPP:h.istream
o.tmultimap2:	CathLibCPP:h.ios
o.tmultimap2:	CathLibCPP:h.exception
o.tmultimap2:	CathLibCPP:h.ptypeinfo
o.tmultimap2:	CathLibCPP:h.iosfwd
o.tmultimap2:	CathLibCPP:h.string
o.tmultimap2:	CathLibCPP:h.iterator
o.tmultimap2:	CathLibCPP:h.newcasts
o.tmultimap2:	CathLibCPP:h.typeinfo
o.tmultimap2:	CathLibCPP:h.ostream
o.tmultimap2:	CathLibCPP:h.map
o.tmultimap2:	CathLibCPP:h.assocbase
o.tmultimap2:	CathLibCPP:h.utility
o.tmultimap2:	CathLibCPP:c++.map
o.tmultimap2:	CathLibCPP:hoist.h.hoistbp
o.tmultimap2:	CathLibCPP:hoist.h.hoistbpp
o.tmultimap2:	CathLibCPP:h.stringfwd
o.tmultimap2:	CathLibCPP:hoist.h.hoistctdt
o.tmultimap2:	CathLibCPP:hoist.h.hoistctdtp
o.tmultimap2:	CathLibCPP:h.stdexcept
o.tmultimap2:	CathLibCPP:h.tpltutil
o.tmultimap2:	CathLibCPP:hoist.c++.hoistbp
o.tstring:	c++.tstring
o.tstring:	CathLibCPP:h.iomanip
o.tstring:	CathLibCPP:h.config
o.tstring:	CathLibCPP:h.istream
o.tstring:	CathLibCPP:h.bool
o.tstring:	CathLibCPP:h.ios
o.tstring:	CathLibCPP:h.exception
o.tstring:	CathLibCPP:h.ptypeinfo
o.tstring:	CathLibCPP:h.iosfwd
o.tstring:	CathLibCPP:h.string
o.tstring:	CathLibCPP:h.iterator
o.tstring:	CathLibCPP:h.newcasts
o.tstring:	CathLibCPP:h.typeinfo
o.tstring:	CathLibCPP:h.ostream
o.tstring:	CathLibCPP:h.iostream
o.tstring:	CathLibCPP:h.algorithm
o.tstring:	CathLibCPP:h.utility
o.tstterm:	c++.tstterm
o.tstterm:	CathLibCPP:h.bool
o.tstterm:	CathLibCPP:h.config
