#!/usr/bin/make -f

# export DH_VERBOSE=1

# for DEB_VERSION_UPSTREAM
include /usr/share/dpkg/pkg-info.mk

export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow

export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

# See http://wiki.debian.org/Hardening#Notes_for_packages_using_CMake
CFLAGS   := $(CFLAGS) $(CPPFLAGS)
CXXFLAGS := $(CXXFLAGS) $(CPPFLAGS)

DB2MAN      = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
XP          = xsltproc -''-nonet -''-param man.charmap.use.subset "0"

%:
	dh $@ --buildsystem=cmake

override_dh_auto_build:
	QTDIR= dh_auto_configure --builddirectory=build -- -DCMAKE_BUILD_TYPE=Release \
	  -DUSE_MATCHCOMPILER=ON -DBUILD_TESTS=ON -DBUILD_GUI=ON -DWITH_QCHART=ON \
	  -DHAVE_RULES=ON -DFILESDIR=/usr/lib/$(DEB_HOST_MULTIARCH)/cppcheck
	$(MAKE) -C build
	$(XP) --output build/cppcheck.1 $(DB2MAN) man/cppcheck.1.xml
	sed -e "s/1.70/$(DEB_VERSION_UPSTREAM)/" debian/cppcheck-htmlreport.1.in >build/cppcheck-htmlreport.1

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	build/bin/testrunner
endif

override_dh_auto_install:
	$(MAKE) -C build DESTDIR=$(CURDIR)/debian/tmp install
	install -d $(CURDIR)/debian/tmp/usr/share/man/man1
	install build/cppcheck.1 $(CURDIR)/debian/tmp/usr/share/man/man1
	install build/cppcheck-htmlreport.1 $(CURDIR)/debian/tmp/usr/share/man/man1
	dh_install --sourcedir=debian/tmp
	dh_missing --list-missing

override_dh_auto_clean:
	dh_auto_clean
	rm -rf build

# workaround for "dwz: debian/cppcheck/usr/bin/cppcheck: Unknown DWARF DW_OP_255"
override_dh_dwz:
	dh_dwz -Xcppcheck
