File: rules

package info (click to toggle)
lime 5.1.64%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,020 kB
  • sloc: cpp: 12,992; java: 1,671; javascript: 625; ansic: 539; makefile: 45; sh: 1
file content (68 lines) | stat: -rwxr-xr-x 2,885 bytes parent folder | download
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
#!/usr/bin/make -f
#export DH_VERBOSE = 1

# see FEATURE AREAS in dpkg-buildflags(1)
include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/pkg-info.mk
export DEB_VERSION_UPSTREAM

DEB_REQUESTED_PACKAGES := $(shell dh_listpackages)
when-in-build-profile     = $(patsubst 0,$(3),$(patsubst 1,$(2),$(patsubst 01,1,0$(patsubst $(1),1,$(filter $(1),$(DEB_BUILD_PROFILES))))))
when-not-in-build-profile = $(patsubst 0,$(3),$(patsubst 1,$(2),$(patsubst 11,0,1$(patsubst $(1),1,$(filter $(1),$(DEB_BUILD_PROFILES))))))
when-building-package     = $(patsubst 0,$(3),$(patsubst 1,$(2),$(patsubst 01,1,0$(patsubst $(1),1,$(filter $(1),$(DEB_REQUESTED_PACKAGES))))))
when-not-building-package = $(patsubst 0,$(3),$(patsubst 1,$(2),$(patsubst 11,0,1$(patsubst $(1),1,$(filter $(1),$(DEB_REQUESTED_PACKAGES))))))

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

ifeq (x,$(call when-building-package,liblime-java,x))
export JAVA_HOME=/usr/lib/jvm/default-java
export CLASSPATH=/usr/share/java/csv.jar:/usr/share/java/debug-disable.jar:/usr/share/java/itext.jar
dh_modules ?= --with
dh_modules += javahelper
endif

%:
	dh $@ $(dh_modules)

# I suspect this might be necessary to minimize the ABI difference
# when disabling JNI (otherwise C++11 is used which should generate
# different symbols thus throwing off dh_gensymbols)
options += -DCMAKE_CXX_STANDARD=14
options += -DDEB_VERSION_UPSTREAM=$${DEB_VERSION_UPSTREAM%+dfsg*}
options += -DCMAKE_SKIP_RPATH=ON # with debhelper 14 this will be the default
options += -DENABLE_STATIC=NO
options += -DENABLE_UNIT_TESTS=NO # would need: libbellesip-dev

features += -DENABLE_SHARED=$(call when-building-package,liblime0,YES,NO)
features += -DENABLE_DOC=$(call when-building-package,liblime-doc,YES,NO) # doxygen
features += -DENABLE_CURVE448=YES # libdecaf-dev
features += -DENABLE_CURVE25519=YES # libbctoolbox-dev
features += -DENABLE_JNI=YES
features += -DENABLE_C_INTERFACE=YES
features += -DENABLE_LIMEJAR=$(call when-building-package,liblime-java,YES,NO) # default-jdk, javahelper

override_dh_auto_configure:
	dh_auto_configure -- \
	 ${options} \
	 ${features}

override_dh_auto_build-arch:
	dh_auto_build -- lime
	mkdir -p obj-$(DEB_HOST_GNU_TYPE)/doc/html

export CURDIR
override_dh_auto_build-indep:
	dh_auto_build -- \
		$(call when-in-build-profile,nojava,,Lime) \
		$(call when-in-build-profile,nodoc,,doc)
# Doxygen puts the build path into some files with AFAIK no Off knob.
# Edit it out manually, but sometimes $CURDIR contains RE-metacharacters,
# so escape those first.

# from tests.reproducible-builds.org
#export CURDIR = /build/2/lime-5.0.37+dfsg/2nd
#all:
ifeq (x,$(call when-building-package,liblime-doc,x))
	find obj-$(DEB_HOST_GNU_TYPE)/doc/html -type f -print0 | xargs -0 \
		sed -z -i -E -e "s@$$(perl -MRegexp::Assemble -e 'print substr(Regexp::Assemble->new->add(quotemeta($$ENV{CURDIR})), 4, -1)')/@@g"
endif