#  Authors     [Robert Meolic (meolic@uni-mb.si)]
#  Revision    [$Revision: 76 $]
#  Date        [$Date: 2013-04-26 14:26:09 +0200 (pet, 26 apr 2013) $]
#
#  Copyright   [This file is part of EST (Efficient Symbolic Tools).
#               Copyright (C) 2003, 2013
#               UM-FERI, Smetanova ulica 17, SI-2000 Maribor, Slovenia
#
#               EST 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.
#
#               EST 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., 51 Franklin Street, Fifth Floor,
#               Boston, MA 02110-1301 USA.]

RM = rm -f
CP = cp
MKDIR = mkdir -p
OS = `uname | sed "s/_.*//;s/[0-9]//g"`

EDITION = "2nd\ Edition"
VERSION = `cat VERSION`

all: local
local: localbin localclean locallib

start:
	@echo "EST $(EDITION), release $(VERSION)"
	@echo OS = $(OS)
	@echo Looking for Makefile.$(OS) ...
	@echo

localbin: start
	@echo "!!! LOCALBIN !!!"
	@echo
	$(MAKE) mish -f Makefile.$(OS) "TYPE=local" "EDITION=$(EDITION)" "VERSION=$(VERSION)" "BINDIR=`pwd`/../bin"
	$(CP) COPYING "`pwd`/../bin"
	$(CP) est2ed.tcl "`pwd`/../bin"
	$(CP) pkgIndex.tcl "`pwd`/../bin"
	$(CP) "`pwd`/../../bddview/bddview.tcl" "`pwd`/../bin"
	@cd gui; cat guiIndex.tcl >> "`pwd`/../../bin/pkgIndex.tcl"
	@echo
	@echo "---------------------------------------------------"
	@echo "| EST $(EDITION), release $(VERSION) successfully built |"
	@echo "---------------------------------------------------"
	@echo

locallib: start
	@echo "!!! LOCALLIB !!!"
	@echo
	$(MAKE) lib -f Makefile.$(OS) "TYPE=lib" "EDITION=$(EDITION)" "VERSION=$(VERSION)" "BINDIR=`pwd`/../bin"
	$(MAKE) staticlib -f Makefile.$(OS) "TYPE=lib" "EDITION=$(EDITION)" "VERSION=$(VERSION)" "BINDIR=`pwd`/../bin"
	$(CP) est.h "`pwd`/../bin"
	@echo
	@echo "---------------------------------------------------"
	@echo "| EST $(EDITION), release $(VERSION) successfully built |"
	@echo "---------------------------------------------------"
	@echo

mish: start
	@$(MAKE) mish -f Makefile.$(OS) "TYPE=mish" "EDITION=$(EDITION)" "VERSION=$(VERSION)"
	@echo
	@echo "---------------------------------------------------"
	@echo "| EST $(EDITION), release $(VERSION) successfully built |"
	@echo "---------------------------------------------------"
	@echo

lib: start
	@$(MAKE) lib -f Makefile.$(OS) "TYPE=lib" "EDITION=$(EDITION)" "VERSION=$(VERSION)"

staticlib: start
	@$(MAKE) staticlib -f Makefile.$(OS) "TYPE=staticlib" "EDITION=$(EDITION)" "VERSION=$(VERSION)"

milocal:
	cd gui; cat guiIndex.tcl >> $(BINDIR)/pkgIndex.tcl

purge:
	$(RM) *~
	cd gui; $(MAKE) purge
	cd bdd; $(MAKE) purge
	cd pa; $(MAKE) purge
	cd versis; $(MAKE) purge
	cd mc; $(MAKE) purge
	cd strucval; $(MAKE) purge
	cd ccs; $(MAKE) purge

localclean:
	@cd gui; $(MAKE) clean "BINDIR=../../bin"
	@cd bdd; $(MAKE) clean "BINDIR=../../bin"
	@cd pa; $(MAKE) clean "BINDIR=../../bin"
	@cd versis; $(MAKE) clean "BINDIR=../../bin"
	@cd mc; $(MAKE) clean "BINDIR=../../bin"
	@cd strucval; $(MAKE) clean "BINDIR=../../bin"
	@cd ccs; $(MAKE) clean "BINDIR=../../bin"

# here, BINDIR must be an absolute path
clean:
	@cd gui; $(MAKE) clean "BINDIR=$(BINDIR)"
	@cd bdd; $(MAKE) clean "BINDIR=$(BINDIR)"
	@cd pa; $(MAKE) clean "BINDIR=$(BINDIR)"
	@cd versis; $(MAKE) clean "BINDIR=$(BINDIR)"
	@cd mc; $(MAKE) clean "BINDIR=$(BINDIR)"
	@cd strucval; $(MAKE) clean "BINDIR=$(BINDIR)"
	@cd ccs; $(MAKE) clean "BINDIR=$(BINDIR)"
