#*---------------------------------------------------------------------*/
#*   A pratical implementation for the Scheme programming language     */
#*                                                                     */
#*                                    ,--^,                            */
#*                              _ ___/ /|/                             */
#*                          ,;'( )__, ) '                              */
#*                         ;;  //   L__.                               */
#*                         '   \\   /  '                               */
#*                              ^   ^                                  */
#*                                                                     */
#*   Copyright (c) 1992-1999 Manuel Serrano                            */
#*                                                                     */
#*     Bug descriptions, use reports, comments or suggestions are      */
#*     welcome. Send them to                                           */
#*       bigloo-request@kaolin.unice.fr                                */
#*       http://kaolin.unice.fr/bigloo                                 */
#*                                                                     */
#*   This program is free software; you can redistribute it            */
#*   and/or modify it under the terms of the GNU General Public        */
#*   License as published by the Free Software Foundation; either      */
#*   version 2 of the License, or (at your option) any later version.  */
#*                                                                     */
#*   This program is distributed in the hope that it will be useful,   */
#*   but WITHOUT ANY WARRANTY; without even the implied warranty of    */
#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     */
#*   GNU General Public License for more details.                      */
#*                                                                     */
#*   You should have received a copy of the GNU General Public         */
#*   License along with this program; if not, write to the Free        */
#*   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,   */
#*   MA 02111-1307, USA.                                               */
#*---------------------------------------------------------------------*/
#*=====================================================================*/
#*    serrano/prgm/project/bigloo/bdb/Makefile                         */
#*    -------------------------------------------------------------    */
#*    Author      :  Manuel Serrano                                    */
#*    Creation    :  Wed Jan 14 14:46:31 1998                          */
#*    Last change :  Thu Feb 11 16:01:41 1999 (serrano)                */
#*    -------------------------------------------------------------    */
#*    The Makefile to build Bdb. This makefile has to be processed     */
#*    either by Gnu make or Sun make.                                  */
#*=====================================================================*/

#*---------------------------------------------------------------------*/
#*    Compilers, Tools and Destinations                                */
#*---------------------------------------------------------------------*/
# which C compiler to be used
CC              = gcc               
# the directory where to install bdb
INSTALLBIN	= /usr/local/bin/
# the directory to write executable
BIN             = ../bin
# the directory containing the Bigloo library and include files
LIB		= ../lib
# The heap file
HEAP_FILE       = bdb.heap
# The name of the libraries
LIB_NAME	= bdb
# the executable used to bootstrap
BIGLOO          = $(BIN)/bigloo     
# the .afile
AFILE           = .afile
# to warn when done
BEEP            = echo -n ""
# the shell to be used
SHELL           = /bin/sh
# the produced executable
BDB_DEST	= $(BIN)/bdb
# Readline libraries
READLINE	= -lreadline
# the Bdb version
BDBVERSION	= `$(BDB_DEST) -revision`
# The BMASK
BMASK		= 755
# how to clean
CLEAN		= clean

#*---------------------------------------------------------------------*/
#*    Unix library options                                             */
#*---------------------------------------------------------------------*/
AR              = ar
ARFLAGS         = qcv
RANLIB          = ranlib
LD              = ld -G

#*---------------------------------------------------------------------*/
#*    Afile and Depend tools                                           */
#*---------------------------------------------------------------------*/
AFILE_EXE	= $(BIN)/afile
DEPEND_EXE	= $(BIN)/bdepend

#*---------------------------------------------------------------------*/
#*    Backups and revisions                                            */
#*---------------------------------------------------------------------*/
TAR		= tar
TARCOPT         = cf
TARXOPT         = xfp
GZIP		= gzip
BACKUPDIR	= $$HOUSE/backup
BACKUPNAME	= bdb

#*---------------------------------------------------------------------*/
#*    Compilation flags                                                */
#*---------------------------------------------------------------------*/
BDBGFLAGS	= -afile $(AFILE) -g -cg -O -rm -fsharing
BOPTFLAGS	= -afile $(AFILE) -O2 +rm -fsharing -unsafe
BLIBFLAGS	= -O2 -init-lib -fsharing -unsafe
BHEAPFLAGS      = -unsafe -q -mkaddheap -mkaddlib $(VERBOSE)
BFLAGS		= $(BDBGFLAGS) -heapsize 1
CFLAGS          = -I$(LIB) -ILib -g

#*---------------------------------------------------------------------*/
#*    Scheme sources and objects                                       */
#*---------------------------------------------------------------------*/
#*--- init ------------------------------------------------------------*/
INIT_FILE	= main setrc parse-args

INIT_OBJ	= $(INIT_FILE:%=Init/%.o)

#*--- engine ----------------------------------------------------------*/
ENGINE_FILE	= param engine error server

ENGINE_OBJ	= $(ENGINE_FILE:%=Engine/%.o)

#*--- tools -----------------------------------------------------------*/
TOOLS_FILE	= date speek file version read regexp echo

TOOLS_OBJ	= $(TOOLS_FILE:%=Tools/%.o)

#*--- command ---------------------------------------------------------*/
COMMAND_FILE	= command completion file parse eval set               \
                  bprint bwhatis bbreak help bmodule bstack            \
                  bvariables blocals bfunction complete commands       \
                  bstep display line replay

COMMAND_OBJ	= $(COMMAND_FILE:%=Command/%.o)

#*--- env -------------------------------------------------------------*/
ENV_FILE	= env

ENV_OBJ		= $(ENV_FILE:%=Env/%.o)

#*--- lib -------------------------------------------------------------*/
LIB_SCM_FILE	= bdb wcircle

LIB_SCM_OBJ	= $(LIB_SCM_FILE:%=Lib/%.o)

LIB_C_FILE	= cbdb

LIB_C_OBJ	= $(LIB_C_FILE:%=Lib/%.o)

LIB_OBJ		= $(LIB_SCM_OBJ) $(LIB_C_OBJ)
LIB_SOURCE_FILES= $(LIB_SCM_OBJ:%.o=%.scm) $(LIB_C_OBJ:%.o=%.c)

#*---------------------------------------------------------------------*/
#*    C sources and objects                                            */
#*---------------------------------------------------------------------*/
#*--- readline --------------------------------------------------------*/
READLINE_FILE	= read

READLINE_OBJ	= $(READLINE_FILE:%=Readline/%.o)

#*--- gdb -------------------------------------------------------------*/
GDB_FILE	= gdb

GDB_OBJ		= $(GDB_FILE:%=Gdb/%.o)

#*---------------------------------------------------------------------*/
#*    The whole code                                                   */
#*---------------------------------------------------------------------*/
# Scheme files
SCM_O_OBJECTS	= $(INIT_OBJ) $(ENGINE_OBJ) $(PARSE_OBJ) $(TOOLS_OBJ)   \
                  $(COMMAND_OBJ) $(ENV_OBJ)
SCM_SOURCE_FILES= $(SCM_O_OBJECTS:%.o=%.scm)
SCM_C_OBJECTS	= $(SCM_O_OBJECTS:%.o=%.c)

# C files
C_O_OBJECTS	= $(READLINE_OBJ) $(GDB_OBJ)
C_SOURCE_FILES	= $(C_O_OBJECTS:%.o=%.c)

# All files
O_OBJECTS	= $(SCM_O_OBJECTS) $(C_O_OBJECTS)
SOURCE_FILES	= $(SCM_SOURCE_FILES) $(C_SOURCE_FILES)

POPULATION	= $(SOURCE_FILES)           \
	          $(LIB_SOURCE_FILES)	    \
                  Makefile                  \
                  Init/args.sch             \
	          Lib/bdb.h                 \
	          Lib/make-lib.scm          \
                  .afile

#*---------------------------------------------------------------------*/
#*     Les suffixes ...                                                */
#*---------------------------------------------------------------------*/
.SUFFIXES:
.SUFFIXES: .scm .c .o .el .elc

#*---------------------------------------------------------------------*/
#*    L'executable `bdb'                                               */
#*---------------------------------------------------------------------*/
all: bdb

bdb: Tools/date.scm
	@ $(MAKE) $(BDB_DEST)

#*---------------------------------------------------------------------*/
#*    The heap construction                                            */
#*---------------------------------------------------------------------*/
.PHONY: heap
heap: 
	@ $(BIGLOO) $(BHEAPFLAGS) Lib/make-lib.scm -addheap $(LIB)/$(HEAP_FILE)
	@ echo "Heap Done..."
	@ $(BEEP)
	@ echo "-------------------------------"

#*---------------------------------------------------------------------*/
#*    The library                                                      */
#*---------------------------------------------------------------------*/
.PHONY: lib
lib: lib.a

lib.a: $(LIB_OBJ)
	@ /bin/rm -f $(LIB)/lib$(LIB_NAME).a
	@ $(AR) $(ARFLAGS) $(LIB)/lib$(LIB_NAME).a $(LIB_OBJ) 
	@ $(RANLIB) $(LIB)/lib$(LIB_NAME).a
	@ echo "lib$(LIB_NAME).a Done..."
	@ $(BEEP)
	@ echo "-------------------------------"

#*---------------------------------------------------------------------*/
#*    install                                                          */
#*---------------------------------------------------------------------*/
install: $(BDB_DEST)
	@ if [ "$(INSTALLBIN) " = " " ]; then                           \
             echo "*** ERROR: install bdb";                             \
             echo "syntax: make install INSTALLBIN=your-bin-directory"; \
             exit 1;                                                    \
          fi
	@ echo "installing bdb into $(INSTALLBIN) directory"
	@- \rm -f $(INSTALLBIN)/bdb
	@- \rm -f $(INSTALLBIN)/bdb$(BDBVERSION)
	@- (ver=$(BDBVERSION);                                          \
            cp $(BDB_DEST) $(INSTALLBIN)/bdb$$ver;                      \
            cd $(INSTALLBIN); ln -s bdb$$ver bdb)

#*---------------------------------------------------------------------*/
#*    $(BDB_DEST)                                                      */
#*---------------------------------------------------------------------*/
$(BDB_DEST): $(O_OBJECTS)
	@ echo "Linking:"
	@ $(BIGLOO) $(BFLAGS) $(O_OBJECTS) -o $(BDB_DEST) $(READLINE)
	@ strip $(BDB_DEST) 2> /dev/null
	@ echo "Bdb Done..."
	@ echo "-------------------------------"

#*---------------------------------------------------------------------*/
#*    afile                                                            */
#*---------------------------------------------------------------------*/
afile: Tools/date.scm
	@ echo "   - .afile"
	@ $(AFILE_EXE) -o $(AFILE) $(SCM_SOURCE_FILES)
	@ echo "   - dep"
	@ $(MAKE) dep
	@ echo "   - .etags"
	@ $(MAKE) tags

#*---------------------------------------------------------------------*/
#*    tags                                                             */
#*---------------------------------------------------------------------*/
tags:
	@ etags -o .etags $(SOURCE_FILES) 

#*---------------------------------------------------------------------*/
#*    dep                                                              */
#*---------------------------------------------------------------------*/
dep: 
	@(num=`grep -n '^#bdepend start' Makefile | awk -F: '{ print $$1}' -`;\
          head -`expr $$num - 1` Makefile > /tmp/Makefile.aux)
	@ $(DEPEND_EXE) $(SCM_SOURCE_FILES) >> /tmp/Makefile.aux
	@ mv /tmp/Makefile.aux Makefile

#*---------------------------------------------------------------------*/
#*     clean ...                                                       */
#*---------------------------------------------------------------------*/
.PHONY: Clean clean

fast-clean:
	@- rm -f Dmakefile
	@- rm -f $(SCM_O_OBJECTS)
	@- rm -f $(SCM_C_OBJECTS)
	@- rm -f $(LIB_OBJ)
	@- rm -f $(C_O_OBJECTS)
	@ find . \( -name '*[~%]'                   \
                       -o -name '.??*[~%]'          \
                       -o -name '#*#'               \
                       -o -name '?*#'               \
                       -o -name \*core \)           \
                     -type f -exec rm {} \;   
	@ $(BEEP)
	@ echo "cleanup done..."
	@ echo "-------------------------------"

clean: fast-clean

Dclean: clean
DClean: clean
	@- rm -f $(BDB_DEST)
	@- rm -f $(LIB)/$(HEAP_FILE)
	@- rm -f $(LIB)lib$(LIB_NAME).*

#*---------------------------------------------------------------------*/
#*     touchall ...                                                    */
#*---------------------------------------------------------------------*/
touchall:
	@ touch $(SOURCE_FILES)
	@ echo "touchall done..."
	@ echo "-------------------------------"

#*---------------------------------------------------------------------*/
#*    link ...                                                         */
#*---------------------------------------------------------------------*/
link:
	@ echo "Linking:"
	@ $(BIGLOO) $(BFLAGS) -o $(BDB_DEST) Init/main.o $(O_OBJECTS) -lm
	@ echo "link done..."
	@ echo "-------------------------------"

#*---------------------------------------------------------------------*/
#*    distrib                                                          */
#*    -------------------------------------------------------------    */
#*    Prepare Bdb for a distribution                                   */
#*---------------------------------------------------------------------*/
distrib:
	@ if [ `pwd` = $$HOME/prgm/project/bigloo/bdb ]; then        \
             echo "*** ERROR:Illegal dir to make a distrib `pwd`";   \
             exit 1;                                                 \
          fi
	@ $(MAKE) $(CLEAN)
	@ $(MAKE) afile
	@ $(MAKE) Dmakefile
	@ $(BIN)/copyright $(POPULATION)

#*---------------------------------------------------------------------*/
#*    backup                                                           */
#*---------------------------------------------------------------------*/
backup:
	@ echo "Backuping in: $(BACKUPDIR)/$(BACKUPNAME)"
	@ (\rm -f $(BACKUPDIR)/$(BACKUPNAME).tar.gz;                   \
	   cleanup;                                                    \
           tar cf $(BACKUPDIR)/$(BACKUPNAME).tar $(POPULATION);        \
           gzip $(BACKUPDIR)/$(BACKUPNAME).tar)
	@ echo "done..."
	@ echo "-------------------------------"

#*---------------------------------------------------------------------*/
#*    restore ...                                                      */
#*---------------------------------------------------------------------*/
restore:
	@ echo "Restoring from: $(BACKUPDIR)/$(BACKUPNAME)"
	@ (gzip -d --to-stdout $(BACKUPDIR)/$(BACKUPNAME).tar.gz | tar xfp -)
	@ echo "done..."
	@ echo "-------------------------------"

#*---------------------------------------------------------------------*/
#*    Dmakefile                                                        */
#*    -------------------------------------------------------------    */
#*    This entry build the Dmakefile file that is used to boot         */
#*    Cigloo on a new host.                                            */
#*    -------------------------------------------------------------    */
#*    This entry can be used only on a platform that has bootstrapped  */
#*    Bigloo. That is, this makefile cannot be generated on a          */
#*    platform that wants to install Bigloo.                           */
#*---------------------------------------------------------------------*/
Dmakefile: Makefile
	@- rm -f Dmakefile
	@ echo "# !!! This is a generated file, don't edit !!!" > $@
	@ echo "HEAP_FILE=../lib/$(HEAP_FILE)" >> $@
	@ echo "LIB_NAME=$(LIB_NAME)" >> $@
	@ echo "BDB_DEST=bdb" >> $@
	@ echo "BIGLOO=bigloo" >> $@
	@ echo "BFLAGS=-unsafe -O4 -afile .afile -heapsize 1" >> $@
	@ echo "CPATH=-I../runtime/Include/ -ILib" >> $@
	@ echo "BHEAPFLAGS=-unsafe -q -mkaddheap -mkaddlib" >> $@
	@ echo "BLIBFLAGS=-O2 -init-lib -fsharing -unsafe -copt \"$$""(CPATH)"\" >> $@
	@ echo "READLINE=$(READLINE)" >> $@
	@ echo "shell=sh" >> $@
	@ echo "" >> $@
	@ echo "OBJECTS=$(O_OBJECTS)" >> $@
	@ echo "LIB_OBJ=$(LIB_OBJ)" >> $@
	@ echo "" >> $@
	@ echo "all: ../bin/$$""(BDB_DEST) heap lib" >> $@
	@ echo "" >> $@
	@ echo "../bin/$$""(BDB_DEST): $$""(OBJECTS)" >> $@
	@ echo "	$$""(BIGLOO) $$""(BFLAGS) -o ../bin/$$""(BDB_DEST) $$""(OBJECTS) $$""(READLINE)" >> $@
	@ echo "	-strip ../bin/$$""(BDB_DEST)" >> $@
	@ echo "	@ echo \"bdb done...\"" >> $@
	@ echo "" >> $@
	@ echo "heap: " >> $@
	@ echo "	$$""(BIGLOO) $$""(BHEAPFLAGS) Lib/make-lib.scm -addheap $$""(HEAP_FILE)" >> $@
	@ echo "	@ echo \"Heap Done...\"" >> $@
	@ echo "lib:" >> $@
	@ echo '	$$(MAKE) -f Dmakefile libs \' >> $@
	@ echo '                              CC="$$(CC)" \' >> $@
	@ echo '                              CFLAGS="$$(CFLAGS)" \' >> $@
	@ echo '                              AS="$$(AS)" \' >> $@
	@ echo '                              AR="$$(AR)" \' >> $@
	@ echo '                              ARFLAGS="$$(ARFLAGS)" \' >> $@
	@ echo '                              RANLIB="$$(RANLIB)" \' >> $@
	@ echo '                              LIBRARYNAME="$$(LIBRARYNAME)" \' >> $@
	@ echo '                              READLINE="$$(READLINE)" \' >> $@
	@ echo '                              LD="$$(LD)"' >> $@
	@ echo "" >> $@
	@ echo "libs: lib.a" >> $@
	@ echo "" >> $@
	@ echo 'lib.a: $$(LIB_OBJ)' >> $@
	@ echo "	$$""(AR) $$""(ARFLAGS) ../lib/libbdb.a $$""(LIB_OBJ)" >> $@
	@ echo "	$$""(RANLIB) ../lib/libbdb.a" >> $@
	@ echo "" >> $@
	@ echo "Lib/bdb.o: Lib/bdb.scm" >> $@
	@ echo '	$$(BIGLOO) $$(BLIBFLAGS) -c $$*.scm -o $$*.o' >> $@
	@ echo "" >> $@
	@ echo "%.o: %.scm" >> $@
	@ echo '	$$(BIGLOO) -c $$(BFLAGS) $$*.scm -o $$*.o' >> $@
	@ echo "" >> $@
	@ echo "%.o: %.c" >> $@
	@ echo '	$$(CC) -c $$(CPATH) $$(CFLAGS) $$*.c -o $$*.o' >> $@

#*---------------------------------------------------------------------*/
#*    pop                                                              */
#*    -------------------------------------------------------------    */
#*    This entry is used by the bigloo/Makefile (the main Bigloo       */
#*    makefile) to get the list of file that populate a revision.      */
#*---------------------------------------------------------------------*/
.PHONY: pop
pop:
	@ echo $(POPULATION:%=$(BACKUPNAME)/%)

#*---------------------------------------------------------------------*/
#*    date.scm                                                         */
#*---------------------------------------------------------------------*/
Tools/date.scm:
	@- rm -f $@
	@ echo ";; Automatically generated file (don't edit)" > $@
	@ echo "(module tools_date (export (bdb-date)))" >> $@
	@ echo "" >> $@
	@ echo "(define (bdb-date) " \" `date` \"")" >> $@

#*---------------------------------------------------------------------*/
#*     .scm --> .o                                                     */
#*---------------------------------------------------------------------*/
.scm.o:
	@ $(BIGLOO) $(BFLAGS) -c $*.scm -o $*.o

#*---------------------------------------------------------------------*/
#*     .c --> .o                                                       */
#*---------------------------------------------------------------------*/
.c.o:
	@ echo $*.c:
	@ $(CC) $(CFLAGS) -c $*.c -o $*.o

#*---------------------------------------------------------------------*/
#*     Library objects                                                 */
#*---------------------------------------------------------------------*/
Lib/cbdb.o: Lib/cbdb.c
	@ echo $*.c:
	@ $(CC) $(CFLAGS) -c $*.c -o $*.o

Lib/bdb.o: Lib/bdb.scm
	@ $(BIGLOO) $(BLIBFLAGS) -c $*.scm -o $*.o

#*---------------------------------------------------------------------*/
#*    AFILE_EXE                                                        */
#*    -------------------------------------------------------------    */
#*    The entry that build the afile executable                        */
#*---------------------------------------------------------------------*/
$(AFILE_EXE): $(AFILE_SCM)
	(cd $(AFILE_DIR);                \
         $(MAKE) BIGLOO=../$(BIGLOO)     \
                 BFLAGS="-O2 -unsafe"    \
                 DEST=../$(AFILE_EXE))

#*---------------------------------------------------------------------*/
#*    depend                                                           */
#*    -------------------------------------------------------------    */
#*    The entry that build the depend tool                             */
#*---------------------------------------------------------------------*/
$(DEPEND_EXE): $(DEPEND_SCM)
	(cd $(DEPEND_DIR);               \
         $(MAKE) BIGLOO=../$(BIGLOO)     \
                 BFLAGS="-O2 -unsafe"    \
                 DEST=../$(DEPEND_EXE))

#*---------------------------------------------------------------------*/
#*    C dependencies                                                   */
#*---------------------------------------------------------------------*/
Lib/cbdb.o: Lib/bdb.h
Gdb/gdb.o: Lib/bdb.h

#bdepend start (don't edit)
#*---------------------------------------------------------------------*/
#*    Dependencies ...                                                 */
#*---------------------------------------------------------------------*/
Init/main.o: Engine/engine.mco Init/parse-args.mco Init/setrc.mco 
Command/file.o: Env/env.mco Command/bbreak.mco Command/command.mco       \
      Engine/server.mco Engine/engine.mco Engine/param.mco               \
      Tools/echo.mco Tools/regexp.mco Tools/read.mco 
Tools/regexp.o: Engine/param.mco 
Command/bfunction.o: Command/bbreak.mco Command/command.mco Env/env.mco  \
      Engine/param.mco Engine/engine.mco Tools/regexp.mco Tools/echo.mco \
      Tools/read.mco 
Command/completion.o: Engine/engine.mco Tools/read.mco                   \
      Command/command.mco 
Command/help.o: Command/command.mco Tools/echo.mco Engine/engine.mco 
Init/parse-args.o: Tools/version.mco Engine/param.mco Init/args.sch 
Command/bbreak.o: Command/eval.mco Command/command.mco                   \
      Command/completion.mco Command/blocals.mco Env/env.mco             \
      Engine/error.mco Engine/engine.mco Engine/param.mco Tools/file.mco \
      Tools/regexp.mco Tools/echo.mco Tools/read.mco 
Command/line.o: Command/bbreak.mco Command/command.mco Engine/engine.mco \
      Tools/echo.mco Tools/read.mco Env/env.mco 
Command/complete.o: Command/completion.mco Command/command.mco           \
      Engine/engine.mco Engine/param.mco Tools/read.mco 
Tools/speek.o: Engine/param.mco 
Command/bprint.o: Command/bwhatis.mco Command/bfunction.mco              \
      Command/blocals.mco Command/command.mco Env/env.mco                \
      Engine/engine.mco Tools/echo.mco Tools/read.mco 
Command/bmodule.o: Engine/param.mco Command/command.mco Env/env.mco      \
      Tools/echo.mco Tools/regexp.mco 
Command/display.o: Command/eval.mco Engine/engine.mco Tools/echo.mco 
Engine/server.o: Engine/engine.mco 
Tools/version.o: Tools/speek.mco Engine/param.mco 
Engine/param.o: Tools/date.mco 
Command/bwhatis.o: Command/eval.mco Engine/engine.mco Tools/read.mco 
Command/bvariables.o: Tools/read.mco Env/env.mco Tools/echo.mco          \
      Tools/file.mco Tools/regexp.mco Command/bbreak.mco                 \
      Command/blocals.mco Command/command.mco Engine/engine.mco          \
      Engine/param.mco 
Env/env.o: Engine/engine.mco Tools/speek.mco Command/bwhatis.mco         \
      Engine/param.mco Tools/regexp.mco 
Command/set.o: Env/env.mco Engine/engine.mco Engine/param.mco            \
      Tools/echo.mco Tools/read.mco 
Engine/engine.o: Command/bbreak.mco Command/display.mco Command/eval.mco \
      Command/completion.mco Command/command.mco Command/parse.mco       \
      Command/file.mco Engine/server.mco Engine/error.mco                \
      Engine/param.mco Tools/regexp.mco Tools/echo.mco Tools/version.mco \
      Tools/file.mco Tools/speek.mco 
Engine/error.o: Engine/engine.mco 
Command/parse.o: Command/command.mco Command/completion.mco              \
      Command/bmodule.mco Command/bbreak.mco Command/blocals.mco         \
      Command/bvariables.mco Engine/param.mco 
Init/setrc.o: Engine/param.mco 
Command/bstep.o: Tools/regexp.mco Engine/param.mco Command/eval.mco      \
      Tools/echo.mco Tools/echo.mco Command/bfunction.mco                \
      Engine/engine.mco Env/env.mco Command/command.mco 
Tools/echo.o: Engine/param.mco 
Command/replay.o: Engine/engine.mco Command/eval.mco Tools/echo.mco      \
      Tools/echo.mco Command/bfunction.mco Engine/engine.mco Env/env.mco \
      Command/command.mco 
Command/eval.o: Env/env.mco Command/blocals.mco Command/command.mco      \
      Engine/engine.mco Tools/echo.mco 
Command/blocals.o: Tools/read.mco Env/env.mco Tools/echo.mco             \
      Tools/file.mco Tools/regexp.mco Command/file.mco                   \
      Command/bprint.mco Command/bfunction.mco Command/command.mco       \
      Engine/engine.mco 
Command/commands.o: Command/eval.mco Engine/engine.mco Engine/param.mco  \
      Tools/read.mco 
Command/command.o: Tools/echo.mco Tools/read.mco Engine/engine.mco       \
      Command/replay.mco Command/bstep.mco Command/bfunction.mco         \
      Command/line.mco Command/display.mco Command/help.mco              \
      Command/commands.mco Command/complete.mco Command/set.mco          \
      Command/file.mco Command/bwhatis.mco Command/bprint.mco            \
      Command/blocals.mco Command/bvariables.mco Command/bbreak.mco      \
      Command/bstack.mco Command/bmodule.mco Command/completion.mco 
Command/bstack.o: Engine/engine.mco Tools/echo.mco Tools/read.mco        \
      Env/env.mco 

#bdepend stop
