1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
#!/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
|