#!/usr/bin/make -f

#export DH_VERBOSE=1

# Injecting CPPFLAGS:
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
CXXFLAGS+=$(CPPFLAGS) -fpermissive

include /usr/share/cdbs/1/class/cmake.mk
include /usr/share/cdbs/1/rules/debhelper.mk

 
export OMPI_MCA_plm_rsh_agent=/bin/false

FF_SUBDIR=freefoam


FF_CONFIG_THIRD_PARTY=					\
	-DFOAM_BUILD_PRIVATE_METIS=OFF			\
	-DFOAM_BUILD_PRIVATE_PARMETIS=OFF		\
	-DFOAM_BUILD_PRIVATE_SCOTCH=OFF			\
	-DFOAM_BUILD_PRIVATE_ZLIB=OFF

FF_CONFIG_PACK=						\
	-DCPACK_BINARY_DEB=OFF				\
	-DCPACK_BINARY_NSIS=OFF				\
	-DCPACK_BINARY_RPM=OFF				\
	-DCPACK_BINARY_STGZ=OFF				\
	-DCPACK_BINARY_TBZ2=OFF				\
	-DCPACK_BINARY_TGZ=OFF				\
	-DCPACK_BINARY_TZ=OFF				\
	-DCPACK_SOURCE_TBZ2=OFF				\
	-DCPACK_SOURCE_TGZ=OFF				\
	-DCPACK_SOURCE_TZ=OFF				\
	-DCPACK_SOURCE_ZIP=OFF				\

FF_DOC=							\
	-DFOAM_ENABLE_PDF_GUIDES=OFF			\
	-DFOAM_ENABLE_XHTML_GUIDES=OFF			\
	-DFOAM_ENABLE_XHTML_HELP=OFF			\
	-DFOAM_ENABLE_MATHJAX=OFF			\
	-DFOAM_ENABLE_DOXYGEN_DOCS=OFF			\
	-DFOAM_ENABLE_MANPAGE_HELP=OFF			\
	-DFOAM_DOCS_FOR_SF=OFF				\

FF_INSTALL=								\
	-DFOAM_INSTALL_BIN_PATH=/usr/bin				\
	-DFOAM_INSTALL_CMAKE_PATH=/usr/share/$(FF_SUBDIR)/CMake		\
	-DFOAM_INSTALL_CONFIG_PATH=/etc/$(FF_SUBDIR)			\
	-DFOAM_INSTALL_DATA_PATH=/usr/share/$(FF_SUBDIR)		\
	-DFOAM_INSTALL_DOC_PATH=/usr/share/doc/$(FF_SUBDIR)		\
	-DFOAM_INSTALL_HEADER_PATH=/usr/include/$(FF_SUBDIR)		\
	-DFOAM_INSTALL_LIBEXEC_PATH=/usr/bin				\
	-DFOAM_INSTALL_LIBRARY_PATH=/usr/lib/$(FF_SUBDIR)		\
	-DFOAM_INSTALL_MAN_PATH=/usr/share/man				\
	-DFOAM_INSTALL_PLUGIN_PATH=/usr/lib/$(FF_SUBDIR)/plugins1	\
	-DFOAM_INSTALL_TUTORIALS_PATH=/usr/share/doc/$(FF_SUBDIR)	\
	-DFOAM_INSTALL_USERDFOAM_PATH=/usr/lib/$(FF_SUBDIR)/plugins1/ensightReader

DEB_CMAKE_EXTRA_FLAGS= 					\
	-DFOAM_EXE_PREFIX=freefoam-			\
	-DFOAM_ENABLE_METIS=OFF				\
	-DFOAM_ENABLE_MGRIDGEN=OFF			\
	-DFOAM_USE_MPI=ON				\
	-DFOAM_DEFAULT_PSTREAM=mpi			\
	-DFOAM_DOUBLE_PRECISION=ON			\
	-DFOAM_ENABLE_PARMETIS=OFF			\
	-DCMAKE_SKIP_RPATH=OFF				\
	-DFOAM_ENABLE_CCMIO=OFF				\
        -DBUILD_TESTING=OFF				\
	-DFOAM_ENABLE_FULL_TUTORIAL_TEST=OFF		\
	$(FF_CONFIG_THIRD_PARTY)			\
	$(FF_DOC)					\
	$(FF_INSTALL)

DEB_DH_MAKESHLIBDEPS_ARGS_libfreefoam1=-X/usr/lib/$(FF_SUBDIR)

TOP_BUILDDIR := $(DEB_BUILDDIR)

# Re-configure for doc packages
configure/freefoam-user-doc configure/freefoam-dev-doc:: debian/freefoam-enable-docs.stamp

debian/freefoam-enable-docs.stamp:
	cd $(TOP_BUILDDIR); \
	cmake \
	  -DFOAM_ENABLE_PDF_GUIDES=ON \
	  -DFOAM_ENABLE_DOXYGEN_DOCS=ON \
	  $(CURDIR)
	touch $@

build/freefoam-user-doc:: DEB_MAKE_BUILD_TARGET := UserGuide-pdf

build/freefoam-dev-doc:: DEB_MAKE_BUILD_TARGET := apidoc-all

install/libfreefoam1::
	install -d $(CURDIR)/debian/libfreefoam1/usr/lib/$(FF_SUBDIR)

install/libfreefoam-dev::
	install -d $(CURDIR)/debian/libfreefoam-dev/usr/include/$(FF_SUBDIR)
	install -d $(CURDIR)/debian/libfreefoam-dev/usr/share/$(FF_SUBDIR)
	rm $(CURDIR)/debian/tmp/usr/share/$(FF_SUBDIR)/templates/foamScript

install/freefoam::
	install -d $(CURDIR)/debian/freefoam/usr/bin
	install -d $(CURDIR)/debian/freefoam/usr/share/man/man1
	install -d $(CURDIR)/debian/freefoam/etc/freefoam
	install -d $(CURDIR)/debian/freefoam/etc/bash_completion.d
	cp $(CURDIR)/data/shellFunctions/bashCompletion/freefoam $(CURDIR)/debian/freefoam/etc/bash_completion.d/

install/freefoam-user-doc:: DEB_BUILDDIR_freefoam-user-doc := $(TOP_BUILDDIR)/doc/UserGuide
install/freefoam-user-doc:: install-tutorials
	+$(DEB_MAKE_INVOKE) $(DEB_MAKE_INSTALL_TARGET)

install-tutorials: DEB_BUILDDIR_freefoam-user-doc := $(TOP_BUILDDIR)/tutorials
install-tutorials: build/freefoam-user-doc
	+$(DEB_MAKE_INVOKE) $(DEB_MAKE_INSTALL_TARGET)
	install -d $(CURDIR)/debian/freefoam-user-doc/usr/share/doc/freefoam-user-doc/tutorials
	rm -rf $(CURDIR)/debian/tmp/usr/share/doc/freefoam/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data

# Depends on build/freefoam-user-doc because the installation is started in
# $(DEB_BUILDDIR)/doc, which also requires the UserGuide to be built.
install/freefoam-dev-doc:: DEB_BUILDDIR_freefoam-dev-doc := $(TOP_BUILDDIR)/doc
install/freefoam-dev-doc:: build/freefoam-user-doc
	+$(DEB_MAKE_INVOKE) $(DEB_MAKE_INSTALL_TARGET)
	rm -f $(CURDIR)/debian/tmp/usr/share/doc/freefoam/API/jquery.js

binary-install/libfreefoam1::
	dh_pysupport -plibfreefoam1

binary-install/libfreefoam-dev::
	dh_pysupport -plibfreefoam-dev

binary-install/freefoam::
	dh_pysupport -pfreefoam

clean::
	rm -f debian/freefoam-enable-docs.stamp
