# Makefile generated by m3depmf version 22-Jul-91 - for DEC SRC Modula-3

# Commands and flags
CPP = /lib/cpp
M3CPPFLAGS = 
M3C = m3
M3L = $(M3C)
M3CFLAGS = 
M3LFLAGS = 
M3LOBJS = 
M3LLIBS = 
CC = cc
CFLAGS = 
IDIRS = .
# Stuff for recursive make
RECURTARG = all
MAKEDONE = ++makedone
RECURMAKE = ++recurmake
PWDX = /bin/pwd # (PWD often set by shell...)
RM = /bin/rm
TEST = /bin/test
TOUCH = /usr/bin/touch

.SUFFIXES:	# override defaults
.SUFFIXES: .mo .m3 .m3p .io .i3 .i3p .c .o
.m3p.m3:
	$(CPP) -P -C $(M3CPPFLAGS) $< $@
.m3.mo:
	$(M3C) -c -D -D$(DDIRS) $(M3CFLAGS) $<
.i3p.i3:
	$(CPP) -P -C $(M3CPPFLAGS) $< $@
.i3.io:
	$(M3C) -c -D -D$(DDIRS) $(M3CFLAGS) $<
.c.o:
	$(CC) $(CFLAGS) -c -I$(IDIRS) $<

# Directories (except .) on the m3path
DIR0 = ../../m3oli-gp$(M3OLI-GP.V)/src
DIR1 = ../../m3oli-os$(M3OLI-OS.V)/src
DIR2 = ../../m3oli-ux$(M3OLI-UX.V)/src
DIR3 = $(M3LIB)

DDIRS = .:$(DIR0):$(DIR1):$(DIR2):$(DIR3)
INTOBJS = Err_impl.io PromptFor.io TextStream.io PathNameStream_ux.io \
   Stream_ux.io Err.io PathNameStream.io IOBuffer_priv.io BufferStream.io \
   BinaryIO.io StdIO.io SplitStream.io FastIO.io BulkIO.io IOErr.io \
   HeapStream.io IO.io IO_impl.io

MODOBJS = PromptFor.mo TextStream.mo PathNameStream_ux.mo Stream_ux.mo \
   Err.mo FastIOExtra.mo StdIO_ux.mo BufferStream.mo BulkIO_src.mo \
   SplitStream.mo FastIO.mo IOExtra.mo IOErr.mo HeapStream.mo IO.mo

INTSRCS = Err_impl.i3 PromptFor.i3 TextStream.i3 PathNameStream_ux.i3 \
   Stream_ux.i3 Err.i3 PathNameStream.i3 IOBuffer_priv.i3 BufferStream.i3 \
   BinaryIO.i3 StdIO.i3 SplitStream.i3 FastIO.i3 BulkIO.i3 IOErr.i3 \
   HeapStream.i3 IO.i3 IO_impl.i3

MODSRCS = PromptFor.m3 TextStream.m3 PathNameStream_ux.m3 Stream_ux.m3 \
   Err.m3 FastIOExtra.m3 StdIO_ux.m3 BufferStream.m3 BulkIO_src.m3 \
   SplitStream.m3 FastIO.m3 IOExtra.m3 IOErr.m3 HeapStream.m3 IO.m3

EXTSRCS =

EXTOBJS =

PROGS =

all: preMakefile intobjs modobjs extobjs libm3oli.a postMakefile $(PROGS)

intobjs: $(INTOBJS)

modobjs: $(MODOBJS)

extobjs: $(EXTOBJS)

libm3oli.a: $(INTOBJS) $(MODOBJS) $(EXTOBJS)
	$(M3C) $(INTOBJS) $(MODOBJS) $(EXTOBJS) -a libm3oli.a
preMakefile:
	-@if $(TEST) -f Makefile.pre ; then $(MAKE) -f Makefile.pre ; else exit 0; fi

postMakefile:
	-@if $(TEST) -f Makefile.post ; then $(MAKE) -f Makefile.post ; else exit 0; fi

Err_impl.io: $(DIR3)/Text.i3 Err.i3

PromptFor.io: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

TextStream.io: $(DIR3)/Text.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

PathNameStream_ux.io: $(DIR3)/Ctypes.i3 IO.i3 $(DIR3)/Thread.i3 \
   $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3

Stream_ux.io: $(DIR3)/Text.i3 $(DIR3)/Ctypes.i3 IO.i3 $(DIR3)/Thread.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 IO_impl.i3

Err.io: $(DIR3)/Text.i3

PathNameStream.io: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

IOBuffer_priv.io: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

BufferStream.io: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

BinaryIO.io: FastIO.i3 $(DIR3)/Text.i3 IO.i3 $(DIR3)/Thread.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3

StdIO.io: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

SplitStream.io: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

FastIO.io: $(DIR3)/Text.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

BulkIO.io: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

IOErr.io: $(DIR3)/Text.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3 Err.i3

HeapStream.io: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

IO.io: $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3

IO_impl.io: $(DIR3)/Thread.i3 $(DIR3)/Text.i3 IO.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3

PromptFor.mo: PromptFor.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 StdIO.i3 $(DIR0)/TextTo.i3 \
   $(DIR0)/TextExtras.i3

TextStream.mo: TextStream.i3 $(DIR3)/Text.i3 IO.i3 $(DIR3)/Thread.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 $(DIR3)/TextF.i3 IO_impl.i3 \
   HeapStream.i3

PathNameStream_ux.mo: PathNameStream.i3 IO.i3 $(DIR3)/Thread.i3 \
   $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 PathNameStream_ux.i3 \
   $(DIR3)/Ctypes.i3 $(DIR0)/Word.i3 IO_impl.i3 Stream_ux.i3 $(DIR3)/Unix.i3 \
   $(DIR3)/Time.i3 $(DIR3)/Utypes.i3 $(DIR3)/Utime.i3 $(DIR3)/Uerror.i3 \
   $(DIR2)/UnixMutex.i3 $(DIR3)/M3toC.i3

Stream_ux.mo: Stream_ux.i3 $(DIR3)/Text.i3 $(DIR3)/Ctypes.i3 IO.i3 \
   $(DIR3)/Thread.i3 $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 IO_impl.i3 \
   $(DIR3)/Unix.i3 $(DIR0)/Word.i3 $(DIR3)/Time.i3 $(DIR3)/Utypes.i3 \
   $(DIR3)/Utime.i3 $(DIR3)/Uuio.i3 $(DIR3)/Uerror.i3 $(DIR2)/UnixMutex.i3 \
   $(DIR1)/OSError_ux.i3 $(DIR1)/OSError.i3

Err.mo: Err.i3 $(DIR3)/Text.i3 Err_impl.i3 $(DIR3)/Thread.i3 \
   $(DIR1)/ProgName.i3 IO.i3 $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 StdIO.i3 \
   $(DIR1)/Stop.i3

FastIOExtra.mo: FastIO.i3 $(DIR3)/Text.i3 IO.i3 $(DIR3)/Thread.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 BinaryIO.i3 $(DIR3)/TextF.i3

StdIO_ux.mo: StdIO.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3 IO_impl.i3 $(DIR1)/Stop.i3 $(DIR3)/Ctypes.i3 \
   $(DIR3)/Unix.i3 $(DIR0)/Word.i3 $(DIR3)/Time.i3 $(DIR3)/Utypes.i3 \
   $(DIR3)/Utime.i3 $(DIR2)/UnixMutex.i3 Stream_ux.i3

BufferStream.mo: BufferStream.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 IO_impl.i3

BulkIO_src.mo: BulkIO.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 $(DIR3)/Ctypes.i3

SplitStream.mo: SplitStream.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 IO_impl.i3

FastIO.mo: FastIO.i3 $(DIR3)/Text.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3 BinaryIO.i3 IOBuffer_priv.i3 BulkIO.i3 \
   $(DIR3)/Cstring.i3 $(DIR3)/Ctypes.i3

IOExtra.mo: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3 $(DIR3)/TextF.i3 $(DIR0)/CharsTo.i3

IOErr.mo: IOErr.i3 $(DIR3)/Text.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3 Err.i3

HeapStream.mo: HeapStream.i3 IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 \
   $(DIR3)/Fmt.i3 $(DIR0)/CharType.i3 IO_impl.i3

IO.mo: IO.i3 $(DIR3)/Thread.i3 $(DIR3)/Text.i3 $(DIR3)/Fmt.i3 \
   $(DIR0)/CharType.i3 IO_impl.i3 IOBuffer_priv.i3

world:	recur recurclean

recur:
	@-if $(TEST) -f $(RECURMAKE) ; then \
	  echo -n 'recursive make: directory loop involving '; $(PWDX) ; \
	elif $(TEST) ! -f $(MAKEDONE) ; then \
	  $(TOUCH) $(RECURMAKE) ; \
	  (cd $(DIR0) ; $(MAKE) CPP='$(CPP)' M3CPPFLAGS='$(M3CPPFLAGS)' M3C='$(M3C)' M3CFLAGS='$(M3CFLAGS)' M3LFLAGS='$(M3LFLAGS)' RECURTARG='$(RECURTARG)' RECURMAKE='$(RECURMAKE)' PWDX='$(PWDX)' RM='$(RM)' TOUCH='$(TOUCH)' TEST='$(TEST)' MAKEDONE='$(MAKEDONE)' M3L='$(M3L)' AR='$(AR)' M3AR='$(M3AR)' CC='$(CC)' RANLIB='$(RANLIB)' recur) ; \
	  (cd $(DIR1) ; $(MAKE) CPP='$(CPP)' M3CPPFLAGS='$(M3CPPFLAGS)' M3C='$(M3C)' M3CFLAGS='$(M3CFLAGS)' M3LFLAGS='$(M3LFLAGS)' RECURTARG='$(RECURTARG)' RECURMAKE='$(RECURMAKE)' PWDX='$(PWDX)' RM='$(RM)' TOUCH='$(TOUCH)' TEST='$(TEST)' MAKEDONE='$(MAKEDONE)' M3L='$(M3L)' AR='$(AR)' M3AR='$(M3AR)' CC='$(CC)' RANLIB='$(RANLIB)' recur) ; \
	  (cd $(DIR2) ; $(MAKE) CPP='$(CPP)' M3CPPFLAGS='$(M3CPPFLAGS)' M3C='$(M3C)' M3CFLAGS='$(M3CFLAGS)' M3LFLAGS='$(M3LFLAGS)' RECURTARG='$(RECURTARG)' RECURMAKE='$(RECURMAKE)' PWDX='$(PWDX)' RM='$(RM)' TOUCH='$(TOUCH)' TEST='$(TEST)' MAKEDONE='$(MAKEDONE)' M3L='$(M3L)' AR='$(AR)' M3AR='$(M3AR)' CC='$(CC)' RANLIB='$(RANLIB)' recur) ; \
	  echo -n 'making $(RECURTARG) in '; $(PWDX) ; \
	  $(MAKE) CPP='$(CPP)' M3CPPFLAGS='$(M3CPPFLAGS)' M3C='$(M3C)' M3CFLAGS='$(M3CFLAGS)' M3LFLAGS='$(M3LFLAGS)' RECURTARG='$(RECURTARG)' RECURMAKE='$(RECURMAKE)' PWDX='$(PWDX)' RM='$(RM)' TOUCH='$(TOUCH)' TEST='$(TEST)' MAKEDONE='$(MAKEDONE)' M3L='$(M3L)' AR='$(AR)' M3AR='$(M3AR)' CC='$(CC)' RANLIB='$(RANLIB)' $(RECURTARG) ; \
	  $(TOUCH) $(MAKEDONE) ; \
	fi
	@-$(RM) -f $(RECURMAKE)

recurclean:
	@-$(RM) -f $(RECURMAKE)
	@-if $(TEST) -f $(MAKEDONE) ; then \
	  $(RM) -f $(MAKEDONE) ; \
	  (cd $(DIR0) ; $(MAKE) CPP='$(CPP)' M3CPPFLAGS='$(M3CPPFLAGS)' M3C='$(M3C)' M3CFLAGS='$(M3CFLAGS)' M3LFLAGS='$(M3LFLAGS)' RECURTARG='$(RECURTARG)' RECURMAKE='$(RECURMAKE)' PWDX='$(PWDX)' RM='$(RM)' TOUCH='$(TOUCH)' TEST='$(TEST)' MAKEDONE='$(MAKEDONE)' M3L='$(M3L)' AR='$(AR)' M3AR='$(M3AR)' CC='$(CC)' RANLIB='$(RANLIB)' recurclean) ; \
	  (cd $(DIR1) ; $(MAKE) CPP='$(CPP)' M3CPPFLAGS='$(M3CPPFLAGS)' M3C='$(M3C)' M3CFLAGS='$(M3CFLAGS)' M3LFLAGS='$(M3LFLAGS)' RECURTARG='$(RECURTARG)' RECURMAKE='$(RECURMAKE)' PWDX='$(PWDX)' RM='$(RM)' TOUCH='$(TOUCH)' TEST='$(TEST)' MAKEDONE='$(MAKEDONE)' M3L='$(M3L)' AR='$(AR)' M3AR='$(M3AR)' CC='$(CC)' RANLIB='$(RANLIB)' recurclean) ; \
	  (cd $(DIR2) ; $(MAKE) CPP='$(CPP)' M3CPPFLAGS='$(M3CPPFLAGS)' M3C='$(M3C)' M3CFLAGS='$(M3CFLAGS)' M3LFLAGS='$(M3LFLAGS)' RECURTARG='$(RECURTARG)' RECURMAKE='$(RECURMAKE)' PWDX='$(PWDX)' RM='$(RM)' TOUCH='$(TOUCH)' TEST='$(TEST)' MAKEDONE='$(MAKEDONE)' M3L='$(M3L)' AR='$(AR)' M3AR='$(M3AR)' CC='$(CC)' RANLIB='$(RANLIB)' recurclean) ; \
	fi

listdirs: # RECURTARG=listdirs to list all directories

recurfix:
	$(MAKE) world RECURTARG=listdirs
clean:
	-$(RM) -f $(INTOBJS) $(MODOBJS) $(PROGS) $(RECURMAKE) $(MAKEDONE)

