#######################################################################
#
#  Copyright (C) 2006 Novell, Inc.
#
#  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., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
#######################################################################

if DEBUG
TARGET_CFG = Debug
CFLAGS += -v -w 
else
TARGET_CFG = Release
endif

SUBDIRS =
DIST_SUBDIRS =

EXTRA_DIST = $(SFILES)  

CASAROOT = ../..

CASALIBDIR = $(CASAROOT)/lib

if LIB64
CASABINDIR = $(CASAROOT)/bin64
else
CASABINDIR = $(CASAROOT)/bin
endif

# handle Mono secondary dependencies
export MONO_PATH := $(MONO_PATH)

PLATFORMINDEPENDENTSOURCEDIR = .. 
PLATFORMDEPENDENTSOURCEDIR = .

MODULE_NAME =CASA
MODULE_EXT =msi

SFILES = CASA.sln 
MSMFILE = ../miCASA-msm/miCASA-msm.vdproj
MSIFILE = CASA.vdproj

CUR_DIR := $(shell pwd)

all: $(MODULE_NAME).$(MODULE_EXT)

#
# Pattern based rules.
#
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)



$(MODULE_NAME).$(MODULE_EXT): $(SFILES) $(OBJDIR) devenv 
	@echo [======== Updating msi and msm numbe ========]
	"$(TOOLDIR)/w32/VersionVDProj/bin/VersionVDProj.exe" -msi $(MSIFILE) version=$(VERSION) 
	"$(TOOLDIR)/w32/VersionVDProj/bin/VersionVDProj.exe" -msm $(MSMFILE) version=$(VERSION) 
	@echo [======== Building Solution $(SFILES) ========]
	"$(VSINSTALLDIR)/devenv" /rebuild $(TARGET_CFG) $(SFILES) /out build.log 
	cp -f $(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT) $(CASABINDIR) 
	cp -f $(TARGET_CFG)/Setup.* $(CASABINDIR) 

devenv:
	@if ! test -x "$(VSINSTALLDIR)/devenv.exe";then echo "Error: MS Studio .NET is currently required to build MSI and MSM";exit 1;fi
 
$(OBJDIR):
	[ -d $(OBJDIR) ] || mkdir -p $(OBJDIR)
	[ -d $(CASABINDIR) ] || mkdir -p $(CASABINDIR)


install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
	$(mkinstalldirs) $(DESTDIR)$(libdir)
	$(INSTALL_PROGRAM) $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(DESTDIR)$(libdir)/

uninstall-local:
	cd $(DESTDIR)$(libdir); rm -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
	rmdir $(DESTDIR)$(libdir)

#installcheck-local: install
#	$(mkinstalldirs) $(DESTDIR)$(libdir)
#	$(INSTALL_PROGRAM) $(DESTDIR)$(libdir)
#	cd $(DESTDIR)$(libdir); $(MONO)

clean-local:
	@echo [======== Cleaning Solution $(SFILES) ========]
	"$(VSINSTALLDIR)/devenv" /clean $(TARGET_CFG) $(SFILES) 
	if [ -d $(TARGET_CFG) ]; then  rm -rf $(TARGET_CFG); fi
	if [ -d Debug ]; then  rm -rf Debug; fi
	if [ -f build.log ]; then  rm -f build.log; fi

distclean-local:

maintainer-clean-local:
	rm -f Makefile.in