#*=====================================================================*/
#*    serrano/prgm/project/bigloo/bdb/Makefile                         */
#*    -------------------------------------------------------------    */
#*    Author      :  Manuel Serrano                                    */
#*    Creation    :  Wed Aug  4 20:11:07 1999                          */
#*    Last change :  Wed May 24 17:00:35 2000 (serrano)                */
#*    Copyright   :  1999-2000 Manuel Serrano, see LICENSE file        */
#*    -------------------------------------------------------------    */
#*    The bdb Makefile                                                 */
#*=====================================================================*/

#*---------------------------------------------------------------------*/
#*    The default configuration                                        */
#*---------------------------------------------------------------------*/
include ../Makefile.config

#*---------------------------------------------------------------------*/
#*    The directory that compose a version                             */
#*---------------------------------------------------------------------*/
DIRECTORIES	= bdb blib

#*---------------------------------------------------------------------*/
#*    Booting bdb on a bare system                                     */
#*---------------------------------------------------------------------*/
boot:
	@ (cd blib; $(MAKE) all)
	@ (cd bdb; $(MAKE) final)

#*---------------------------------------------------------------------*/
#*    Populating bdb                                                   */
#*---------------------------------------------------------------------*/
pop: 
	@ for d in $(DIRECTORIES) ; do \
             for f in `cd $$d; $(MAKE) -s pop;`; do \
                echo bdb/$$d/$$f; \
             done; \
          done;
	@ echo bdb/Makefile

#*---------------------------------------------------------------------*/
#*    clean                                                            */
#*---------------------------------------------------------------------*/
.PHONY: clean cleanall distclean

clean:
	@ for d in $(DIRECTORIES) ; do \
             (cd $$d; $(MAKE) ROOT="$(ROOT)" clean); \
          done;

cleanall: 
	@ for d in $(DIRECTORIES) ; do \
             (cd $$d; $(MAKE) ROOT="$(ROOT)" cleanall); \
          done;

distclean: 
	@ for d in $(DIRECTORIES) ; do \
             (cd $$d; $(MAKE) ROOT="$(ROOT)" cleanall); \
          done;


#*---------------------------------------------------------------------*/
#*    distrib                                                          */
#*    -------------------------------------------------------------    */
#*    Prepare Cigloo for a distribution                                */
#*---------------------------------------------------------------------*/
distrib: 
	@ if [ `pwd` = $(BOOTDIR)/bdb ]; then \
             echo "*** ERROR:Illegal dir to make a distrib `pwd`"; \
             exit 1; \
          fi
	@ for d in $(DIRECTORIES) ; do \
             (cd $$d; $(MAKE) ude); \
          done;

#*---------------------------------------------------------------------*/
#*    install & uninstall                                              */
#*---------------------------------------------------------------------*/
.PHONY: install uninstall

install:
	if [ $(BINDIR) != $(BOOTBINDIR) ]; then \
	   cp $(BOOTBINDIR)/bdb $(BINDIR); \
	   chmod $(BMASK) $(BINDIR)/bdb; \
        fi
	if [ $(LIBDIR) != $(BOOTLIBDIR) ]; then \
	   cp $(BOOTLIBDIR)/bdb.heap $(LIBDIR)/bdb.heap; \
           chmod $(BMASK) $(LIBDIR)/bdb.heap; \
	   cp $(BOOTLIBDIR)/libbdb_u.a $(LIBDIR)/libbdb_u.a; \
           chmod $(BMASK) $(LIBDIR)/libbdb_u.a; \
           $(RANLIB) $(LIBDIR)/libbdb_u.a; \
           if [ -f $(BOOTLIBDIR)/libbdb_u.so ]; then \
	      cp $(BOOTLIBDIR)/libbdb_u.so $(LIBDIR)/libbdb_u.so; \
	      chmod $(BMASK) $(LIBDIR)/libbdb_u.so; \
           fi; \
	   cp $(BOOTLIBDIR)/libbdb_d.a $(LIBDIR)/libbdb_d.a; \
           chmod $(BMASK) $(LIBDIR)/libbdb_d.a; \
           $(RANLIB) $(LIBDIR)/libbdb_d.a; \
           if [ -f $(BOOTLIBDIR)/libbdb_d.so ]; then \
	      cp $(BOOTLIBDIR)/libbdb_d.so $(LIBDIR)/libbdb_d.so; \
	      chmod $(BMASK) $(LIBDIR)/libbdb_d.so; \
           fi; \
	fi

uninstall:
	-rm -f $(BINDIR)/bdb
	-rm -f $(LIBDIR)/bdb.heap
	-rm -f $(LIBDIR)/libbdb_u.a
	-rm -f $(LIBDIR)/libbdb_u.so
	-rm -f $(LIBDIR)/libbdb_d.a
	-rm -f $(LIBDIR)/libbdb_d.so

