#!/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 DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk CXXFLAGS += $(CPPFLAGS) -Wall -Werror -Wno-parentheses -Wno-deprecated -pedantic CFLAGS += $(CPPFLAGS) -Wall -Werror -Wno-parentheses -Wno-deprecated -pedantic ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) MAKE_JOBS += -j$(NUMJOBS) endif ifeq (amd64,$(DEB_BUILD_ARCH)) export WITH_MEMORY_ANALYZER = 1 else export WITH_MEMORY_ANALYZER = 0 endif ifeq ($(filter-out alpha amd64 arm64 armel armhf i386 ia64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sh4 sparc64 x32,$(DEB_BUILD_ARCH)),) WITH_JBMC=1 else WITH_JBMC=0 endif %: dh $@ override_dh_auto_clean: $(RM) -r jbmc/lib $(RM) -r java-cprover-api/target dh_auto_clean $(MAKE) -C src clean $(RM) src/goto-cc/goto-gcc $(RM) src/goto-cc/goto-ld $(MAKE) -C unit clean $(RM) unit/gdb.txt $(MAKE) -C regression clean $(RM) regression/cbmc/Recursion6/*.gb $(RM) regression/cbmc/export-symex-ready-goto/exported.symex.ready.goto $(RM) regression/ansi-c/tests-c++-front-end.log $(RM) regression/contracts-dfcc/tests-non-dfcc.log ifeq ($(WITH_JBMC),1) $(MAKE) -C jbmc/src clean $(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 jbmc/unit clean endif $(RM) debian/cbmc.install override_dh_auto_configure: ifeq ($(WITH_JBMC),1) mkdir -p jbmc/lib cp -r java-models-library jbmc/lib/ cd java-cprover-api/ && \ mvn --offline -s /etc/maven/settings-debian.xml package cd jbmc/lib/java-models-library/ && \ cp -aL /usr/share/maven-repo repo && \ mvn --offline -s /etc/maven/settings-debian.xml \ install:install-file -DlocalRepositoryPath=repo \ -DcreateChecksum=true -Dpackaging=jar \ -Dfile=../../../java-cprover-api/target/cprover-api.jar \ -DgroupId=org.cprover.util -DartifactId=cprover-api -Dversion=1.0.0 else true endif cp debian/cbmc.install.in debian/cbmc.install ifeq ($(WITH_MEMORY_ANALYZER),1) echo "src/memory-analyzer/memory-analyzer usr/bin/" >> debian/cbmc.install endif include /usr/share/dpkg/pkg-info.mk override_dh_auto_build: $(MAKE) -C src $(MAKE_JOBS) \ MINISAT2=/usr/include/minisat \ LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \ LIBS=-lminisat GIT_INFO=cbmc-$(DEB_VERSION_UPSTREAM) ifeq ($(WITH_JBMC),1) $(MAKE) -C jbmc/src $(MAKE_JOBS) \ MINISAT2=/usr/include/minisat \ LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \ LIBS=-lminisat GIT_INFO=cbmc-$(DEB_VERSION_UPSTREAM) endif override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) $(MAKE) -C unit test $(MAKE_JOBS) \ MINISAT2=/usr/include/minisat \ LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \ LIBS=-lminisat GIT_INFO=cbmc-$(DEB_VERSION_UPSTREAM) $(MAKE) -C regression JOBS=$(NUMJOBS) test \ MINISAT2=/usr/include/minisat \ LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \ LIBS=-lminisat GIT_INFO=cbmc-$(DEB_VERSION_UPSTREAM) ifeq ($(WITH_JBMC),1) $(MAKE) -C jbmc/unit test $(MAKE_JOBS) \ MINISAT2=/usr/include/minisat \ LINKFLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \ LIBS=-lminisat GIT_INFO=cbmc-$(DEB_VERSION_UPSTREAM) $(MAKE) -C jbmc/regression JOBS=$(NUMJOBS) test endif endif