#*=====================================================================*/
#*    serrano/prgm/project/bigloo/bdl/Makefile                         */
#*    -------------------------------------------------------------    */
#*    Author      :  Manuel Serrano                                    */
#*    Creation    :  Wed Oct  3 05:37:54 2001                          */
#*    Last change :  Tue May  6 11:36:19 2003 (serrano)                */
#*    Copyright   :  2001-03 Manuel Serrano                            */
#*    -------------------------------------------------------------    */
#*    This Makefile *requires* GNU-Make.                               */
#*    -------------------------------------------------------------    */
#*    The Makefile for bdl                                             */
#*=====================================================================*/
include ../Makefile.config

#*---------------------------------------------------------------------*/
#*    Directories where to find the files composing a revision         */
#*---------------------------------------------------------------------*/
POPDIR		= src example

POPULATION	= Makefile README

#*---------------------------------------------------------------------*/
#*    all                                                              */
#*---------------------------------------------------------------------*/
all: boot-jvm boot-c
boot: boot-c
jvm: boot-jvm

boot-c:
	@if [ "$(NATIVEBACKEND)" = "yes" ]; then \
	  echo "[0m[1;32m>>> (cd src; $(MAKE))[0m"; \
	  (cd src && $(MAKE) c); \
        fi

boot-jvm:
	@if [ "$(JVMBACKEND)" = "yes" ]; then \
	  echo "[0m[1;31m>>> (cd src; $(MAKE) jvm)[0m"; \
	  (cd src && $(MAKE) jvm); \
        fi

#*---------------------------------------------------------------------*/
#*    ude                                                              */
#*---------------------------------------------------------------------*/
ude:
	(cd src && $(MAKE) ude)

#*---------------------------------------------------------------------*/
#*    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:%=bdl/%)
	@ for d in $(POPDIR); do \
            (cd $$d && $(MAKE) -s pop) \
          done;

#*---------------------------------------------------------------------*/
#*    Clean                                                            */
#*---------------------------------------------------------------------*/
clean:
	(cd src && $(MAKE) clean)
	(cd example && $(MAKE) clean)

distclean: clean
cleanall: distclean
	(cd src && $(MAKE) cleanall)
	$(RM) -f lib/*bdl* >/dev/null 2>&1
	$(RM) -f *~ >/dev/null 2>&1

#*---------------------------------------------------------------------*/
#*    Installation                                                     */
#*---------------------------------------------------------------------*/
.PHONY: install install-c install-jvm uninstall

include ../Makefile.misc

install: install-c install-jvm
	if [ $(DESTDIR)$(FILDIR) != $(BOOTLIBDIR) ]; then \
	  cp $(BOOTLIBDIR)/bdl.init $(DESTDIR)$(FILDIR)/bdl.init && \
	  chmod $(BMASK) $(DESTDIR)$(FILDIR)/bdl.init; \
        fi

install-c:
	@if [ "$(NATIVEBACKEND)" = "yes" ]; then \
	  $(MAKE) install-lib LIB=libbigloobdl_s-$(RELEASE) && \
	  $(MAKE) install-lnlib LIB=libbigloobdl_s-$(RELEASE) LN=libbigloobdl_u-$(RELEASE) && \
	  if [ $(DESTDIR)$(FILDIR) != $(BOOTLIBDIR) ]; then \
	    cp $(BOOTLIBDIR)/bdl.heap $(DESTDIR)$(FILDIR)/bdl.heap && \
	    chmod $(BMASK) $(DESTDIR)$(FILDIR)/bdl.heap; \
          fi \
        fi

install-jvm:
	@if [ "$(JVMBACKEND)" = "yes" ]; then \
	  if [ $(DESTDIR)$(FILDIR) != $(BOOTLIBDIR) ]; then \
	    cp $(BOOTLIBDIR)/bdl.jheap $(DESTDIR)$(FILDIR)/bdl.jheap && \
	    chmod $(BMASK) $(DESTDIR)$(FILDIR)/bdl.jheap && \
	    cp $(BOOTLIBDIR)/bdl_s.zip $(DESTDIR)$(FILDIR)/bdl_s.zip && \
	    chmod $(BMASK) $(DESTDIR)$(FILDIR)/bdl_s.zip && \
	    (cd $(DESTDIR)$(FILDIR) && \
             $(RM) -f bdl_u.zip && \
             ln bdl_s.zip bdl_u.zip); \
          fi \
        fi

uninstall:
	-$(RM) -f $(DESTDIR)$(FILDIR)/bdl.init
	-$(RM) -f $(DESTDIR)$(FILDIR)/bdl.heap
	-$(MAKE) uninstall-lib LIB=libbigloobdl_s-$(RELEASE)
	-$(MAKE) uninstall-lib LIB=libbigloobdl_u-$(RELEASE)
	-$(RM) -f $(DESTDIR)$(FILDIR)/bdl.jheap
	-$(RM) -f $(DESTDIR)$(FILDIR)/bdl_s.zip
	-$(RM) -f $(DESTDIR)$(FILDIR)/bdl_u.zip

#*---------------------------------------------------------------------*/
#*    distrib                                                          */
#*---------------------------------------------------------------------*/
distrib:
	(cd src && $(MAKE) ude)
