#!/usr/bin/make -f
# Made with the aid of debmake, by Christoph Lameter,
# based on the sample debian/rules file for GNU hello by Ian Jackson.

package=salome
SALOME_VERSION=5.1.3
LIB_VERSION=0.0.0

builddir = build-$(package)

# Support multiple makes at once
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NJOBS := $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
else
NJOBS := 1
endif

# These are the modules which require build_configure to build.  They are
# ordered by priority and then dependency: KERNEL through NETGENPLUGIN are
# core; MULTIPR through SIERPINSKY are optional
# modules; LIGHT and PYLIGHT are alternate non-CORBA interface shells;
# HELLO through PYCALCULATOR are module examples; HXX2SALOME 
# and XDATA are module development tools.  In terms of dependency, KERNEL and
# HXX2SALOME are at the bottom, GUI depends on KERNEL, GEOM and MED also depend
# on GUI, VISU on MED and GUI, SMESH on GEOM MED and GUI, etc.
# Notes:
# - BLSURFPLUGIN, GHS3D[PRL]PLUGIN and HexoticPLUGIN require non-free
#   libraries, and will not be part of the Debian package.
SALOME_MODULES = KERNEL_SRC_$(SALOME_VERSION) \
  GUI_SRC_$(SALOME_VERSION) \
  GEOM_SRC_$(SALOME_VERSION) \
  MED_SRC_$(SALOME_VERSION) \
  VISU_SRC_$(SALOME_VERSION) \
  SMESH_SRC_$(SALOME_VERSION) \
  YACS_SRC_$(SALOME_VERSION)

SALOME_EXTRAS_MODULES = MULTIPR_SRC_$(SALOME_VERSION) \
  RANDOMIZER_SRC_$(SALOME_VERSION) \
  SIERPINSKY_SRC_$(SALOME_VERSION)

SALOME_EXAMPLES_MODULES = LIGHT_SRC_$(SALOME_VERSION) \
  PYLIGHT_SRC_$(SALOME_VERSION) \
  COMPONENT_SRC_$(SALOME_VERSION) \
  HELLO_SRC_$(SALOME_VERSION) \
  PYHELLO_SRC_$(SALOME_VERSION) \
  CALCULATOR_SRC_$(SALOME_VERSION) \
  PYCALCULATOR_SRC_$(SALOME_VERSION) \

SALOME_DEV_MODULES = HXX2SALOME_SRC_$(SALOME_VERSION) \
  XDATA_SRC_$(SALOME_VERSION)

#SALOME_NONFREE_MODULES = BLSURFPLUGIN_SRC_$(SALOME_VERSION) \
  GHS3DPLUGIN_SRC_$(SALOME_VERSION) \
  GHS3DPRLPLUGIN_SRC_$(SALOME_VERSION) \
  HexoticPLUGIN_SRC_$(SALOME_VERSION)

DOC_MODULES = KERNEL_SRC_$(SALOME_VERSION) \
  GUI_SRC_$(SALOME_VERSION) \
  GEOM_SRC_$(SALOME_VERSION) \
  MED_SRC_$(SALOME_VERSION) \
  VISU_SRC_$(SALOME_VERSION) \
  SMESH_SRC_$(SALOME_VERSION) \
  YACS_SRC_$(SALOME_VERSION) \
  HELLO_SRC_$(SALOME_VERSION) \
  PYHELLO_SRC_$(SALOME_VERSION) \
  PYCALCULATOR_SRC_$(SALOME_VERSION) \

QUILT := quilt --quiltrc debian/patches/quiltrc

clean: patch-stamp
	dh_testdir
	-rm -rf $(builddir) $(builddir)-doc

#	Remove files copied from debian/
	-rm -f KERNEL_SRC_$(SALOME_VERSION)/bin/runSalome.in \
	  KERNEL_SRC_$(SALOME_VERSION)/bin/killSalome.in \
	  KERNEL_SRC_$(SALOME_VERSION)/bin/appliskel/env.d/envProducts.sh.in

#	Remove files generated by build_configure
	-find * -name build_configure.log | xargs rm
	-find * -name configure.in | grep -v XDATA | xargs rm
	-rm -f HXX2SALOME_SRC_5.1.3/Makefile.am.list YACS_SRC_5.1.3/yacs_config.h.in
#	Remove files generated by libtool, except in DEPRECATED directories
	-find * -name libtool.m4 -o -name ltmain.sh -o -name lt\*.m4 -o -name config.guess -o -name config.sub | grep -v /DEPRECATED/ | xargs rm
#	Remove files generated by automake, except in DEPRECATED directories
	-find * -name depcomp -o -name install-sh -o -name missing | \
	  grep -v /DEPRECATED/ | grep -v /HXX2SALOME_GENERIC_CLASS_NAME_SRC/ | grep -v XDATA | \
	  xargs rm
	-find * -name py-compile | grep config_files | xargs rm
#	some Makefile.in are not generated by automake
	-find * -name Makefile.in | while read f; do \
	  test ! -e $${f%.in}.am || rm -f $$f; \
	done
#	Remove files generated by autoconf
	-find * -name configure | grep -v COMPO_CXX_SRC | xargs rm
#	Remove files generated by aclocal
	-find * -name aclocal.m4 | xargs rm
#	XDATA thing
	-find * -name .dummy.py | xargs rm

	$(QUILT) pop -a || test $$? = 2
	-rm -rf .pc
#	Upstream silliness
	chmod +x `find XDATA_SRC_5.1.3 -name Makefile.in`
	chmod +x XDATA_SRC_5.1.3/configure XDATA_SRC_5.1.3/aclocal.m4

	rm -f *-stamp
#	salome-dev-doc isn't a real package yet
	rm -rf debian/salome-dev-doc
	dh_clean

patch-stamp:
	$(QUILT) push -a || test $$? = 2
	touch $@

refresh-patches:
	while true; do $(QUILT) push || break; $(QUILT) refresh; done

reconfigure-stamp: patch-stamp
#	Install new .in files
	cp -fp debian/runSalome.in debian/killSalome.in KERNEL_SRC_$(SALOME_VERSION)/bin/
	cp -fp debian/envProducts.sh.in KERNEL_SRC_$(SALOME_VERSION)/bin/appliskel/env.d/
	chmod +x XDATA_SRC_5.1.3/build_configure

	set -e; for salomodule in $(SALOME_MODULES) $(SALOME_EXTRAS_MODULES) \
	     $(SALOME_EXAMPLES_MODULES) $(SALOME_DEV_MODULES); do \
	  echo; echo RECONFIGURING SALOME MODULE $$salomodule; echo; \
	  cd $$salomodule; \
	   KERNEL_ROOT_DIR=$(CURDIR)/KERNEL_SRC_$(SALOME_VERSION) \
	     GUI_ROOT_DIR=$(CURDIR)/GUI_SRC_$(SALOME_VERSION) \
	     GEOM_ROOT_DIR=$(CURDIR)/GEOM_SRC_$(SALOME_VERSION) \
	     MED_ROOT_DIR=$(CURDIR)/MED_SRC_$(SALOME_VERSION) \
	     VISU_ROOT_DIR=$(CURDIR)/VISU_SRC_$(SALOME_VERSION) \
	     SMESH_ROOT_DIR=$(CURDIR)/SMESH_SRC_$(SALOME_VERSION) \
	     RANDOMIZER_ROOT_DIR=$(CURDIR)/RANDOMIZER_SRC_$(SALOME_VERSION) \
	     SIERPINSKY_ROOT_DIR=$(CURDIR)/SMESH_SRC_$(SALOME_VERSION) \
	     ./build_configure; \
	  cd ..; \
	done

	touch $@

build: build-arch build-indep
build-arch: build-arch-stamp
build-arch-stamp: patch-stamp reconfigure-stamp
	dh_testdir

	-mkdir -p $(builddir)
	set -e; cd $(builddir); for salomodule in $(SALOME_MODULES); do \
	  if [ ! -e ../$$salomodule-stamp ]; then \
	  mkdir $$salomodule || true; \
	  cd $$salomodule; \
	   echo; echo CONFIGURING SALOME MODULE $$salomodule; echo; \
	   ../../$$salomodule/configure --prefix=/usr \
	     CASROOT=/usr VTKSUFFIX=-5.4 NETGENHOME=/usr \
	     --disable-dependency-tracking \
	     --disable-maintainer-mode \
	     --with-mpi=/usr --with-mpi_include=/usr/include/mpi \
	     KERNEL_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GUI_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GEOM_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     MED_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     VISU_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     SMESH_ROOT_DIR=$(CURDIR)/debian/salome/usr; \
	   \
	   echo; echo COMPILING SALOME MODULE $$salomodule; echo; \
	   $(MAKE) -j $(NJOBS) LD_LIBRARY_PATH=$(CURDIR)/debian/salome/usr/lib/salome/lib bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	   \
	   echo; echo INSTALLING SALOME MODULE $$salomodule; echo; \
	   $(MAKE) install LD_LIBRARY_PATH=$(CURDIR)/debian/salome/usr/lib/salome/lib DESTDIR=$(CURDIR)/debian/salome bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	  cd ..; \
	  install -d ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  if [ -d ../debian/salome/usr/adm_local ]; then \
	    mv -f ../debian/salome/usr/adm_local ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  elif [ -d ../debian/salome/usr/salome_adm ]; then \
	    mv -f ../debian/salome/usr/salome_adm ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  fi; \
	  rm -f ../debian/salome/usr/lib/salome/lib/*.la; \
	  (ls ../debian/salome/usr/share/doc/salome-doc/gui/* && \
	    install -d ../debian/salome-doc/usr/share/doc/salome-doc/gui && \
	    mv -f ../debian/salome/usr/share/doc/salome-doc/gui/* \
	      ../debian/salome-doc/usr/share/doc/salome-doc/gui/ && \
	    rmdir ../debian/salome/usr/share/doc/salome-doc/gui || \
	    echo No GUI documentation in module $$salomodule); \
	  (ls ../debian/salome/usr/share/doc/salome-doc/* && \
	    install -d ../debian/salome-doc/usr/share/doc/salome-doc && \
	    mv -f ../debian/salome/usr/share/doc/salome-doc/* \
	      ../debian/salome-doc/usr/share/doc/salome-doc/ || \
	    echo No documentation in module $$salomodule); \
	  rm -rf $$salomodule; \
	  touch ../$$salomodule-stamp; fi; \
	done

	set -e; cd $(builddir); for salomodule in $(SALOME_EXTRAS_MODULES); do \
	  if [ ! -e ../$$salomodule-stamp ]; then \
	  mkdir $$salomodule || true; \
	  cd $$salomodule; \
	   echo; echo CONFIGURING SALOME MODULE $$salomodule; echo; \
	   ../../$$salomodule/configure --prefix=/usr \
	     CASROOT=/usr VTKSUFFIX=-5.4 NETGENHOME=/usr \
	     --disable-dependency-tracking \
	     --disable-maintainer-mode \
	     --with-mpi=/usr --with-mpi_include=/usr/include/mpi \
	     KERNEL_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GUI_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GEOM_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     MED_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     VISU_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     SMESH_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     RANDOMIZER_ROOT_DIR=$(CURDIR)/debian/salome-extras/usr \
	     SIERPINSKY_ROOT_DIR=$(CURDIR)/debian/salome-extras/usr; \
	   \
	   echo; echo COMPILING SALOME MODULE $$salomodule; echo; \
	   $(MAKE) -j $(NJOBS) LD_LIBRARY_PATH=$(CURDIR)/debian/salome/usr/lib/salome/lib:$(CURDIR)/debian/salome-extras/usr/lib/salome/lib bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	   \
	   echo; echo INSTALLING SALOME MODULE $$salomodule; echo; \
	   $(MAKE) install LD_LIBRARY_PATH=$(CURDIR)/debian/salome/usr/lib/salome/lib:$(CURDIR)/debian/salome-extras/usr/lib/salome/lib DESTDIR=$(CURDIR)/debian/salome-extras bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	  cd ..; \
	  install -d ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  if [ -d ../debian/salome-extras/usr/adm_local ]; then \
	    mv -f ../debian/salome-extras/usr/adm_local ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  fi; \
	  rm -f ../debian/salome-extras/usr/lib/salome/lib/*.la; \
	  (ls ../debian/salome-extras/usr/share/doc/salome-doc/gui/* && \
	    install -d ../debian/salome-doc/usr/share/doc/salome-doc/gui && \
	    mv -f ../debian/salome-extras/usr/share/doc/salome-doc/gui/* \
	      ../debian/salome-doc/usr/share/doc/salome-doc/gui/ && \
	    rmdir ../debian/salome-extras/usr/share/doc/salome-doc/gui || \
	    echo No GUI documentation in module $$salomodule); \
	  (ls ../debian/salome-extras/usr/share/doc/salome-doc/* && \
	    install -d ../debian/salome-doc/usr/share/doc/salome-doc && \
	    mv -f ../debian/salome-extras/usr/share/doc/salome-doc/* \
	      ../debian/salome-doc/usr/share/doc/salome-doc/ || \
	    echo No documentation in module $$salomodule); \
	  rm -rf $$salomodule; \
	  touch ../$$salomodule-stamp; fi; \
	done

	set -e; cd $(builddir); for salomodule in $(SALOME_EXAMPLES_MODULES); do \
	  if [ ! -e ../$$salomodule-stamp ]; then \
	  mkdir $$salomodule || true; \
	  cd $$salomodule; \
	   echo; echo CONFIGURING SALOME MODULE $$salomodule; echo; \
	   ../../$$salomodule/configure --prefix=/usr \
	     CASROOT=/usr VTKSUFFIX=-5.4 NETGENHOME=/usr \
	     --disable-dependency-tracking \
	     --disable-maintainer-mode \
	     --with-mpi=/usr --with-mpi_include=/usr/include/mpi \
	     KERNEL_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GUI_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GEOM_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     MED_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     VISU_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     SMESH_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     RANDOMIZER_ROOT_DIR=$(CURDIR)/debian/salome-extras/usr \
	     SIERPINSKY_ROOT_DIR=$(CURDIR)/debian/salome-extras/usr; \
	   \
	   echo; echo COMPILING SALOME MODULE $$salomodule; echo; \
	   $(MAKE) -j $(NJOBS) LD_LIBRARY_PATH=$(CURDIR)/debian/salome/usr/lib/salome/lib:$(CURDIR)/debian/salome-extras/usr/lib/salome/lib bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	   \
	   echo; echo INSTALLING SALOME MODULE $$salomodule; echo; \
	   $(MAKE) install LD_LIBRARY_PATH=$(CURDIR)/debian/salome/usr/lib/salome/lib:$(CURDIR)/debian/salome-examples/usr/lib/salome/lib DESTDIR=$(CURDIR)/debian/salome-examples bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	  cd ..; \
	  install -d ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  if [ -d ../debian/salome-examples/usr/adm_local ]; then \
	    mv -f ../debian/salome-examples/usr/adm_local ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  fi; \
	  rm -f ../debian/salome-examples/usr/lib/salome/lib/*.la; \
	  (ls ../debian/salome-examples/usr/share/doc/salome-doc/gui/* && \
	    install -d ../debian/salome-doc/usr/share/doc/salome-doc/gui && \
	    mv -f ../debian/salome-examples/usr/share/doc/salome-doc/gui/* \
	      ../debian/salome-doc/usr/share/doc/salome-doc/gui/ && \
	    rmdir ../debian/salome-examples/usr/share/doc/salome-doc/gui || \
	    echo No GUI documentation in module $$salomodule); \
	  (ls ../debian/salome-examples/usr/share/doc/salome-doc/* && \
	    install -d ../debian/salome-doc/usr/share/doc/salome-doc && \
	    mv -f ../debian/salome-examples/usr/share/doc/salome-doc/* \
	      ../debian/salome-doc/usr/share/doc/salome-doc/ || \
	    echo No documentation in module $$salomodule); \
	  rm -rf $$salomodule; \
	  touch ../$$salomodule-stamp; fi; \
	done

	set -e; cd $(builddir); for salomodule in $(SALOME_DEV_MODULES); do \
	  if [ ! -e ../$$salomodule-stamp ]; then \
	  mkdir $$salomodule || true; \
	  cd $$salomodule; \
	   echo; echo CONFIGURING SALOME MODULE $$salomodule; echo; \
	   ../../$$salomodule/configure --prefix=/usr \
	     CASROOT=/usr VTKSUFFIX=-5.4 NETGENHOME=/usr \
	     --disable-dependency-tracking \
	     --disable-maintainer-mode \
	     --with-mpi=/usr --with-mpi_include=/usr/include/mpi \
	     KERNEL_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GUI_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GEOM_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     MED_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     VISU_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     SMESH_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     RANDOMIZER_ROOT_DIR=$(CURDIR)/debian/salome-extras/usr \
	     SIERPINSKY_ROOT_DIR=$(CURDIR)/debian/salome-extras/usr; \
	   \
	   echo; echo COMPILING SALOME MODULE $$salomodule; echo; \
	   $(MAKE) -j $(NJOBS) LD_LIBRARY_PATH=$(CURDIR)/debian/salome/usr/lib/salome/lib:$(CURDIR)/debian/salome-extras/usr/lib/salome/lib bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	   \
	   echo; echo INSTALLING SALOME MODULE $$salomodule; echo; \
	   $(MAKE) install LD_LIBRARY_PATH=$(CURDIR)/debian/salome/usr/lib/salome/lib:$(CURDIR)/debian/salome-extras/usr/lib/salome/lib DESTDIR=$(CURDIR)/debian/salome-dev bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	  cd ..; \
	  install -d ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  if [ -d ../debian/salome-dev/usr/adm_local ]; then \
	    mv -f ../debian/salome-dev/usr/adm_local ../debian/salome-dev/usr/share/salome/`echo $$salomodule | sed s/_$(SALOME_VERSION)//`; \
	  fi; \
	  rm -f ../debian/salome-dev/usr/lib/salome/lib/*.la; \
	  (ls ../debian/salome-dev/usr/share/doc/salome-doc/gui/* && \
	    install -d ../debian/salome-doc/usr/share/doc/salome-doc/gui && \
	    mv -f ../debian/salome-dev/usr/share/doc/salome-doc/gui/* \
	      ../debian/salome-doc/usr/share/doc/salome-doc/gui/ && \
	    rmdir ../debian/salome-dev/usr/share/doc/salome-doc/gui || \
	    echo No GUI documentation in module $$salomodule); \
	  (ls ../debian/salome-dev/usr/share/doc/salome-doc/* && \
	    install -d ../debian/salome-doc/usr/share/doc/salome-doc && \
	    mv -f ../debian/salome-dev/usr/share/doc/salome-doc/* \
	      ../debian/salome-doc/usr/share/doc/salome-doc/ || \
	    echo No documentation in module $$salomodule); \
	  rm -rf $$salomodule; \
	  touch ../$$salomodule-stamp; fi; \
	done

	-rmdir $(builddir)
	touch $@

# Unfortunately, when building in a separate $(builddir), build-indep requires
# build-arch because for example one needs to build the KERNEL module before
# configuring the GUI module, etc.
build-indep: build-indep-stamp
build-indep-stamp: reconfigure-stamp
	-mkdir -p $(builddir)-doc
	set -e; cd $(builddir)-doc; for salomodule in $(DOC_MODULES); do \
	  if [ ! -e ../$$salomodule-doc-stamp ]; then \
	  mkdir $$salomodule || true; \
	  cd $$salomodule; \
	   echo; echo GENERATING USER DOCUMENTATION IN MODULE $$salomodule; echo; \
	   ../../$$salomodule/configure --prefix=/usr \
	     CASROOT=/usr VTKSUFFIX=-5.4 NETGENHOME=/usr \
	     --with-mpi=/usr --with-mpi_include=/usr/include/mpi \
	     KERNEL_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GUI_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     GEOM_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     MED_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     VISU_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     SMESH_ROOT_DIR=$(CURDIR)/debian/salome/usr \
	     RANDOMIZER_ROOT_DIR=$(CURDIR)/debian/salome-extras/usr \
	     SIERPINSKY_ROOT_DIR=$(CURDIR)/debian/salome-extras/usr \
	     COMPONENT_ROOT_DIR=$(CURDIR)/debian/salome-examples/usr \
	     CALCULATOR_ROOT_DIR=$(CURDIR)/debian/salome-examples/usr \
	     PYCALCULATOR_ROOT_DIR=$(CURDIR)/debian/salome-examples/usr; \
	   \
	   $(MAKE) -C doc usr_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/salome-doc bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	   $(MAKE) -C doc install -j $(NJOBS) DESTDIR=$(CURDIR)/debian/salome-doc bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	   $(MAKE) -C doc clean; \
	   echo; echo GENERATING DEVELOPER DOCUMENTATION IN MODULE $$salomodule; echo; \
	   $(MAKE) -C doc dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/salome-dev-doc bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	   $(MAKE) -C doc install -j $(NJOBS) DESTDIR=$(CURDIR)/debian/salome-dev-doc bindir=/usr/lib/salome/bin libdir=/usr/lib/salome/lib docdir=/usr/share/doc/salome-doc; \
	  cd ..; \
	  rm -rf $$salomodule; \
	  touch ../$$salomodule-doc-stamp; fi; \
	done
	-rmdir $(builddir)-doc

# Do something to remove files in salome-doc from salome-dev-doc

	touch $@ install-indep-stamp

install: build install-stamp

install-arch: build-arch install-stamp

install-indep: install-indep-stamp

# Later maybe make this run make install only in the doc directories, so it
# doesn't try to build everything else
install-indep-stamp: build-indep-stamp

# This installs everything, so it's not really install-arch-stamp
install-stamp: build-arch-stamp
	dh_testdir
#	Temporary kludge until there's a more permanent way to install this
	install -d debian/salome/usr/bin
	mv debian/salome/usr/lib/salome/bin/runSalome debian/salome/usr/lib/salome/bin/killSalome debian/salome/usr/bin/
	install -d debian/salome/usr/share/applications
	cp -a debian/salome.desktop debian/salome/usr/share/applications/
	rm -f debian/salome/usr/bin/appliskel/env.d/*.in
	mv debian/salome/usr/lib/salome/lib/SalomePyQt.so debian/salome/usr/lib/salome/lib/SalomePyQt.so.0
	ln -s SalomePyQt.so.0 debian/salome/usr/lib/salome/lib/SalomePyQt.so
	rm -rf debian/salome/usr/lib64
	rm -rf debian/salome/usr/doc
	rm -rf debian/salome/usr/lib/salome/bin/appliskel
#	rm -rf debian/salome/usr/lib/salome/bin/styles
	rm -f debian/salome/usr/lib/salome/bin/*.pyo debian/salome/usr/lib/salome/bin/*.pyc
	rm -f debian/salome/usr/lib/salome/bin/*.csh debian/salome/usr/lib/salome/bin/*.ksh debian/salome/usr/lib/salome/bin/*.bat
	for shscript in `ls debian/salome/usr/lib/salome/bin/*.sh`; do \
	  shbase=`basename $$shscript .sh`; \
	  mv debian/salome/usr/lib/salome/bin/$$shbase.sh debian/salome/usr/lib/salome/bin/$$shbase; \
	done
	mv debian/salome/usr/lib/salome/bin/*.xml debian/salome/usr/lib/salome/bin/*.awk \
	  debian/salome/usr/share/salome/
	rm -f debian/salome*/usr/lib/salome/bin/VERSION

# Put Python files in the right places
	mv debian/salome/usr/lib/salome/bin/SALOME_ContainerPy.py debian/salome/usr/lib/salome/bin/SALOME_ContainerPy
	mv -f debian/salome/usr/lib/salome/bin/*.py debian/salome/usr/lib/python*/*-packages/salome/
	(cd debian/salome/usr/lib/python*/*-packages/salome && \
	  chmod -x *.py *.so.$(LIB_VERSION) *.la *.a && rm -f *.pyc *.pyo)
	mv -f debian/salome-extras/usr/lib/salome/bin/*.py debian/salome-extras/usr/lib/python*/*-packages/salome/
	(cd debian/salome-extras/usr/lib/python*/*-packages/salome && \
	  chmod -x *.py */*.py && rm -f *.pyc *.pyo */*.pyc */*.pyo)
	mv -f debian/salome-examples/usr/lib/salome/bin/*.py debian/salome-examples/usr/lib/python*/*-packages/salome/
	(cd debian/salome-examples/usr/lib/python*/*-packages/salome && \
	  chmod -x *.py */*.py && rm -f *.pyc *.pyo */*.pyc */*.pyo)
	(cd debian/salome-dev/usr/lib/python*/*-packages/xdata && \
	  chmod -x *.py */*.py && rm -f *.pyc *.pyo */*.pyc */*.pyo)
#	for pyscript in avs2med med2sauv salomeloader sauv2med; do \
	  mv debian/salome/usr/lib/salome/bin/$$pyscript debian/salome/usr/bin/; \
	done
	chmod -x `find debian/salome*/usr/share -type f -executable`

# Move files to salome-examples package
	install -d debian/salome-examples/usr/share/salome/examples
	cp -a SAMPLES_SRC_$(SALOME_VERSION)/* debian/salome-examples/usr/share/salome/examples/
	chmod -x `find debian/salome-examples/usr/share/salome/examples -type f`
	mv debian/salome/usr/share/salome/yacssamples debian/salome/usr/share/salome/yacssupervsamples debian/salome-examples/usr/share/salome/
	install -d debian/salome-examples/usr/share/salome/resources/med
	mv -f debian/salome/usr/share/salome/resources/med/*.med debian/salome-examples/usr/share/salome/resources/med

# Move files to salome-test package
	install -d debian/salome-test/usr/share/salome
	mv debian/salome/usr/Tests debian/salome-test/usr/share/salome/
	for testfile in `find debian/salome -name *test* -o -name *Test* -o -name *TEST*`; do \
	  newtestfile=`echo $$testfile | sed 's/debian\/salome/debian\/salome-test/'`; \
	  install -d `dirname $$newtestfile`; \
	  mv $$testfile $$newtestfile; \
	done
	for testfile in `find debian/salome-extras -name *test* -o -name *Test* -o -name *TEST*`; do \
	  newtestfile=`echo $$testfile | sed 's/debian\/salome-extras/debian\/salome-test/'`; \
	  install -d `dirname $$newtestfile`; \
	  mv $$testfile $$newtestfile; \
	done
# salome requires these two files to run at all
	mv debian/salome-test/usr/lib/python2.6/dist-packages/salome/SALOME_TestMPIComponent_idl.py \
	  debian/salome-test/usr/lib/python2.6/dist-packages/salome/SALOME_TestComponent_idl.py \
	  debian/salome/usr/lib/python2.6/dist-packages/salome/

# Move files to salome-dev package
	install -d debian/salome-dev/usr/include/salome
	mv debian/salome/usr/include/salome/* \
	  debian/salome-extras/usr/include/salome/* \
	  debian/salome-examples/usr/include/salome/* \
	  debian/salome-dev/usr/include/salome/
	rmdir debian/salome/usr/include/salome debian/salome/usr/include
	rmdir debian/salome-extras/usr/include/salome debian/salome-extras/usr/include
	rmdir debian/salome-examples/usr/include/salome debian/salome-examples/usr/include
	install -d debian/salome-dev/usr/share/salome
	mv debian/salome/usr/idl debian/salome-dev/usr/share/salome/
	mv debian/salome-extras/usr/idl/salome/* debian/salome-dev/usr/share/salome/idl/salome/
	rmdir debian/salome-extras/usr/idl/salome debian/salome-extras/usr/idl
	mv debian/salome-examples/usr/idl/salome/* debian/salome-dev/usr/share/salome/idl/salome/
	rmdir debian/salome-examples/usr/idl/salome debian/salome-examples/usr/idl
	mv debian/salome-dev/usr/idl/salome/* debian/salome-dev/usr/share/salome/idl/salome/
	rmdir debian/salome-dev/usr/idl/salome debian/salome-dev/usr/idl
	mv debian/salome-test/usr/idl/salome \
	  debian/salome-test/usr/share/salome/idl
	rmdir debian/salome-test/usr/idl
	mv debian/salome/usr/lib/salome/bin/HXX2SALOME_GENERIC_CLASS* \
	  debian/salome-dev/usr/share/salome/
	mv debian/salome-test/usr/lib/salome/bin/HXX2SALOME_GENERIC_CLASS_NAME_SRC/src/HXX2SALOME_GENERIC_CLASS_NAME_I/HXX2SALOME_GENERIC_CLASS_NAME_TEST.py \
	  debian/salome-dev/usr/share/salome/HXX2SALOME_GENERIC_CLASS_NAME_SRC/src/HXX2SALOME_GENERIC_CLASS_NAME_I/
	rmdir debian/salome-test/usr/lib/salome/bin/HXX2SALOME_GENERIC_CLASS_NAME_SRC/src/HXX2SALOME_GENERIC_CLASS_NAME_I
	rmdir debian/salome-test/usr/lib/salome/bin/HXX2SALOME_GENERIC_CLASS_NAME_SRC/src
	rmdir debian/salome-test/usr/lib/salome/bin/HXX2SALOME_GENERIC_CLASS_NAME_SRC

	install -d debian/salome-dev/usr/share/aclocal
	cp -af debian/salome-dev/usr/share/salome/KERNEL_SRC/salome_adm/unix/config_files/check_Kernel.m4 debian/salome-dev/usr/share/aclocal/salome.m4
	cat debian/salome-dev/usr/share/salome/GUI_SRC/adm_local/unix/config_files/check_GUI.m4 >> debian/salome-dev/usr/share/aclocal/salome.m4
	cat debian/salome-dev/usr/share/salome/GEOM_SRC/adm_local/unix/config_files/check_GEOM.m4 >> debian/salome-dev/usr/share/aclocal/salome.m4
	cat debian/salome-dev/usr/share/salome/MED_SRC/adm_local/unix/config_files/check_Med.m4 >> debian/salome-dev/usr/share/aclocal/salome.m4
	cat debian/salome-dev/usr/share/salome/VISU_SRC/adm_local/unix/config_files/check_VISU.m4 >> debian/salome-dev/usr/share/aclocal/salome.m4
	cat debian/salome-dev/usr/share/salome/SMESH_SRC/adm_local/unix/config_files/check_SMESH.m4 >> debian/salome-dev/usr/share/aclocal/salome.m4
	cat debian/salome-dev/usr/share/salome/RANDOMIZER_SRC/adm_local/unix/config_files/check_RANDOMIZER.m4 >> debian/salome-dev/usr/share/aclocal/salome.m4
#	rm -rf debian/salome-test/usr/adm_local

# Move files to salome-common and salome-examples-common packages
	install -d debian/salome-common/usr/share
	mv debian/salome/usr/share/salome debian/salome-common/usr/share/
#	mv debian/salome-extras/usr/share/salome/resources/* debian/salome-common/usr/share/salome/resources/
#	rmdir debian/salome-extras/usr/share/salome/resources
#	rmdir debian/salome-extras/usr/share/salome
	install -d debian/salome-examples-common/usr/share
	mv debian/salome-examples/usr/share/salome debian/salome-examples-common/usr/share/

# Remove redundancies
	rmdir debian/salome/usr/share/doc/salome-doc
	rmdir debian/salome-extras/usr/share/doc/salome-doc
	rmdir debian/salome-examples/usr/share/doc/salome-doc
	rmdir debian/salome-dev/usr/share/doc/salome-doc
# runAppli and myrunSalome.py are in salome-extras and salome-examples
	rm -f debian/salome-examples/usr/lib/salome/bin/runAppli \
	  debian/salome-examples/usr/lib/python*/*-packages/salome/myrunSalome.py
# hxx2salome, renameSalomeModule and runIDLparser are in salome and salome-dev
	rm -f debian/salome-dev/usr/lib/salome/bin/hxx2salome \
	  debian/salome-dev/usr/lib/salome/bin/renameSalomeModule \
	  debian/salome-dev/usr/lib/salome/bin/runIDLparser

# Done!
	touch $@

binary-indep: install-indep
	dh_testdir -i
	dh_testroot -i
	dh_installdirs -i
#	dh_movefiles -i
	dh_installdocs -i
	dh_installchangelogs -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: install-arch
	dh_testdir -a
	dh_testroot -a
	dh_installdirs -a
#	dh_movefiles -a
	dh_installdocs -a
	dh_installchangelogs -a
	dh_installmenu -a
	dh_strip -a
	dh_makeshlibs -a
	dh_compress -a
	dh_pycentral -psalome -psalome-examples -psalome-extras -psalome-dev
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a -l $(CURDIR)/debian/salome/usr/lib/salome/lib
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-arch binary-indep

.PHONY: binary binary-arch binary-indep clean install install-arch install-indep build build-arch build-indep
