#!/usr/bin/make -f export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all include /usr/share/dpkg/default.mk # compute current and next Eigen version and add it to d/control # Needed because CeresConfig.cmake sets it in CERES_EIGEN_VERSION # also see #868355 eigenvercurr := $(shell dpkg-query -W -f '$${Source:Upstream-Version}' libeigen3-dev | awk -F. '{print $$1"."$$2"."$$3}') eigenvernext := $(shell dpkg-query -W -f '$${Source:Upstream-Version}' libeigen3-dev | awk -F. '{print $$1"."$$2"."$$3+1}') build: build-arch build-indep build-arch: build-process build-indep: build-process build-process: # Build static library dh_testdir dh_auto_configure -- \ -DBUILD_SHARED_LIBS=OFF \ -DBUILD_EXAMPLES=OFF \ -DSUITESPARSE_LIBRARY_DIR_HINTS=/usr/lib/${DEB_HOST_MULTIARCH}/ \ -DSUITESPARSE_INCLUDE_DIR_HINTS=/usr/include/suitesparse/ \ -DCXSPARSE_LIBRARY_DIR_HINTS=/usr/lib/${DEB_HOST_MULTIARCH}/ \ -DCXSPARSE_INCLUDE_DIR=/usr/include/suitesparse/ \ -DBUILD_DOCUMENTATION=OFF \ -DCMAKE_BUILD_TYPE=Release dh_auto_build dh_auto_test mv -v ${CURDIR}/obj-*/lib/libceres.a ${CURDIR}/debian/ mv -v ${CURDIR}/obj-*/config/ceres/internal/config.h ${CURDIR}/debian/ # Build shared library + documentation dh_testdir dh_auto_configure -- \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_EXAMPLES=OFF \ -DSUITESPARSE_LIBRARY_DIR_HINTS=/usr/lib/${DEB_HOST_MULTIARCH}/ \ -DSUITESPARSE_INCLUDE_DIR_HINTS=/usr/include/suitesparse/ \ -DCXSPARSE_LIBRARY_DIR_HINTS=/usr/lib/${DEB_HOST_MULTIARCH}/ \ -DCXSPARSE_INCLUDE_DIR=/usr/include/suitesparse/ \ -DBUILD_DOCUMENTATION=ON \ -DCMAKE_BUILD_TYPE=Release dh_auto_build dh_auto_test # Create build stamp touch ${CURDIR}/build-process %: dh $@ override_dh_clean: rm -vf ${CURDIR}/build-process ${CURDIR}/debian/libceres.a dh_clean execute_before_dh_gencontrol: echo 'eigen:Upstream-Version=$(eigenvercurr)' >> debian/libceres-dev.substvars echo 'eigen:Upstream-Version-Next=$(eigenvernext)' >> debian/libceres-dev.substvars override_dh_compress: dh_compress -X.cc -X.h override_dh_install: mkdir -vp ${CURDIR}/debian/libceres-dev/usr/lib ${CURDIR}/debian/libceres-dev/usr/include/ceres/internal mv -v ${CURDIR}/debian/libceres.a ${CURDIR}/debian/libceres-dev/usr/lib/ mv -v ${CURDIR}/debian/config.h ${CURDIR}/debian/libceres-dev/usr/include/ceres/internal/ dh_install override_dh_installdocs: # make lintian happy # https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0 -> /usr/share/javascript/mathjax sed -i 's/https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/mathjax\/2.7.1/\/usr\/share\/javascript\/mathjax/g' $(CURDIR)/debian/tmp/usr/share/doc/ceres/html/*.html rm debian/tmp/usr/share/doc/ceres/html/_static/doctools.js ln -s /usr/share/javascript/sphinxdoc/1.0/doctools.js debian/tmp/usr/share/doc/ceres/html/_static/doctools.js rm debian/tmp/usr/share/doc/ceres/html/_static/jquery.js ln -s /usr/share/javascript/jquery/jquery.js debian/tmp/usr/share/doc/ceres/html/_static/jquery.js rm -f debian/tmp/usr/share/doc/ceres/html/_static/js/html5shiv-printshiv.min.js ln -s /usr/share/javascript/html5shiv/html5shiv-printshiv.min.js debian/tmp/usr/share/doc/ceres/html/_static/js/html5shiv-printshiv.min.js rm -f debian/tmp/usr/share/doc/ceres/html/_static/js/html5shiv.min.js ln -s /usr/share/javascript/html5shiv/html5shiv.min.js debian/tmp/usr/share/doc/ceres/html/_static/js/html5shiv.min.js rm -f debian/tmp/usr/share/doc/ceres/html/_static/language_data.js ln -s /usr/share/javascript/sphinxdoc/1.0/language_data.js debian/tmp/usr/share/doc/ceres/html/_static/language_data.js rm -f debian/tmp/usr/share/doc/ceres/html/_static/searchtools.js ln -s /usr/share/javascript/sphinxdoc/1.0/searchtools.js debian/tmp/usr/share/doc/ceres/html/_static/searchtools.js rm -f debian/tmp/usr/share/doc/ceres/html/_static/underscore.js ln -s /usr/share/javascript/underscore/underscore.js debian/tmp/usr/share/doc/ceres/html/_static/underscore.js rm -rf debian/tmp/usr/share/doc/ceres/html/_static/fonts ln -s /usr/share/fonts/truetype/lato debian/tmp/usr/share/doc/ceres/html/_static/fonts dh_installdocs .PHONY: build