#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# Don't use Debian-provided flags for now; they slow down the build
CFLAGS :=
CXXFLAGS :=
LDFLAGS :=

%:
	dh $@ 

override_dh_auto_configure:
	mkdir build
	# Get libTAU (for cnmultifit) and put in search path
	cd build && wget http://integrativemodeling.org/libTAU/libTAU-1.0.0.zip
	cd build && echo "861614ac6c03f82c1ee17ccb66caf975a051dc0b libTAU-1.0.0.zip" | sha1sum -c --quiet
	cd build && unzip libTAU-1.0.0.zip && mv libTAU-1.0.0/include libTAU
	cd build/libTAU-1.0.0/lib/Fedora17.x86_64 && ln -sf libTAU.so.1 libTAU.so
	cd build && cmake .. -DCMAKE_BUILD_TYPE=Release \
	        -DCMAKE_INSTALL_PYTHONDIR=/usr/lib/python2.7/dist-packages \
	        -DCMAKE_INCLUDE_PATH=`pwd` \
	        -DCMAKE_LIBRARY_PATH=`pwd`/libTAU-1.0.0/lib/Fedora17.x86_64 \
                -DCMAKE_INSTALL_PREFIX=/usr \
                -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/imp \
                -DIMP_DISABLED_MODULES=scratch

override_dh_auto_build:
	mkdir build/logs
	cd build && ../tools/nightly-tests/build_all.py --run-tests=fast --outdir=logs --summary=logs/summary.pck "make -k"

override_dh_install:
	$(MAKE) -C build DESTDIR=$(CURDIR)/debian/tmp install
	# Install Python 3 extension modules
	cd build \
	   && py2_ver=`python2 -c "import sys; print('%d.%d' % sys.version_info[:2])"` \
	   && py3_ver=`python3 -c "import sys; print('%d.%d' % sys.version_info[:2])"` \
	   && unamem=`uname -m` \
	   && py3_lib=`echo /usr/lib/$${unamem}-*/libpython3*.so` \
	   && py3_inc=/usr/include/python$${py3_ver} \
	   && cmake .. \
	    -DCMAKE_INSTALL_PYTHONDIR=/usr/lib/python$${py3_ver}/dist-packages \
	    -DSWIG_PYTHON_LIBRARIES=$${py3_lib} \
	    -DPYTHON_INCLUDE_DIRS=$${py3_inc} \
	    -DPYTHON_INCLUDE_PATH=$${py3_inc} -DPYTHON_LIBRARIES=$${py3_lib} \
	   && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
	# Bundle libTAU so users don't have to get it separately
	cp build/libTAU-1.0.0/lib/Fedora17.x86_64/libTAU.so.1 debian/tmp/usr/lib/*linux*/
	(cd debian/tmp/usr/lib/*linux*/ && ln -sf libTAU.so.1 libTAU.so)
	# Replace Python 3 .py files with symlinks to Python 2 files
	# (since they are the same)
	(cd debian/tmp/usr/lib/python3* \
	 && find dist-packages -name '*.py' \
	      -exec ln -sf $(CURDIR)/debian/tmp/usr/lib/python2.7/\{\} \{\} \; \
	 && symlinks -rc .)
	# Don't distribute example application, dependency, or system
	rm -rf debian/tmp/usr/bin/example \
	       debian/tmp/usr/lib/*/libimp_example_system* \
	       debian/tmp/usr/lib/*/libexample* \
	       debian/tmp/usr/include/example* \
	       debian/tmp/usr/lib/python*/IMP/example_system_local \
	       debian/tmp/usr/lib/python*/_IMP_example_system_local.so
	dh_install --list-missing

override_dh_compress:
	# Don't compress example files, since then they won't work!
	dh_compress -Xexamples
