#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_CXXFLAGS_MAINT_APPEND := -Wall -Werror -Wno-parentheses -Wno-deprecated -pedantic

ifeq (amd64,$(DEB_BUILD_ARCH_CPU))
export WITH_MEMORY_ANALYZER = 1
else
export WITH_MEMORY_ANALYZER = 0
endif

%:
	dh $@

override_dh_auto_clean:
	$(RM) -r jbmc/lib
	dh_auto_clean
	$(MAKE) -C src clean
	$(RM) src/goto-cc/goto-gcc
	$(RM) src/goto-cc/goto-ld
	$(MAKE) -C jbmc/src clean
	$(MAKE) -C regression clean
	$(RM) regression/ansi-c/tests-c++-front-end.log
	$(MAKE) -C jbmc/regression clean
	$(RM) jbmc/regression/jbmc-generics/tests-symex-driven-loading.log
	$(RM) jbmc/regression/strings-smoke-tests/tests-symex-driven-loading.log
	$(MAKE) -C unit clean
	$(MAKE) -C jbmc/unit clean

override_dh_auto_configure:
	mkdir jbmc/lib
	cp -r java-models-library jbmc/lib/

override_dh_auto_build:
	$(MAKE) -C src \
		MINISAT2=/usr/include/minisat \
		LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \
		LIBS=-lminisat GIT_INFO=cbmc-5.12
	$(MAKE) -C jbmc/src \
		MINISAT2=/usr/include/minisat \
		LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \
		LIBS=-lminisat GIT_INFO=cbmc-5.12

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(MAKE) -C unit test \
		MINISAT2=/usr/include/minisat \
		LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \
		LIBS=-lminisat GIT_INFO=cbmc-5.12
	$(MAKE) -C jbmc/unit test \
		MINISAT2=/usr/include/minisat \
		LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \
		LIBS=-lminisat GIT_INFO=cbmc-5.12
	$(MAKE) -C regression JOBS=$(parallel) test
	$(MAKE) -C jbmc/regression JOBS=$(parallel) test
endif
