File: rules

package info (click to toggle)
mrpt 1%3A2.14.7%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 92,720 kB
  • sloc: cpp: 558,271; ansic: 36,840; xml: 3,864; python: 2,195; sh: 524; makefile: 236
file content (76 lines) | stat: -rwxr-xr-x 2,662 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/make -f
# -*- makefile -*-
# Makefile for MRPT Debian package.

include /usr/share/dpkg/architecture.mk

# Required to avoid hardening-no-bindnow lintian message:
export DEB_BUILD_MAINT_OPTIONS = hardening=+all,optimize=+lto

# default: dont build expensive caller graphs with dot in the documentation pkg
export MRPT_genCALLERGRAPHS=NO

# For multiarch support:
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_TARGET_MULTIARCH ?= $(shell dpkg-architecture -qDEB_TARGET_MULTIARCH)
#DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

# SSE options: Use automatic flags, do not enforce any special SSE* flags:
CMAKE_ARCH_FLAGS = -DMRPT_AUTODETECT_SIMD=OFF

# Avoid memory exhaustion on build farms for mips* archs
ifneq (,$(findstring mips,$(DEB_HOST_ARCH)))
# Avoid LTO in python module:
CMAKE_ARCH_FLAGS += -DMRPT_PYBIND11_WITH_LTO=OFF
# Minimize debug symbols:
export DEB_CXXFLAGS_MAINT_APPEND += -g1
endif

# Debug info from the cmake scripts
export VERBOSE = 1

# Exact version, needed for the Built-Using field:
robotofontversion := $(shell dpkg-query -W -f '$${Version}' fonts-roboto-fontface)
mrptversion2digits := $(shell find debian -name "libmrpt-nanogui?.*.install" | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\)\..*$$/\1/')

CMAKE_FLAGS = \
	-DMRPT_ALLOW_LGPLV3=ON \
	-DMRPT_WITH_KINECT=OFF \
	-DMRPT_TUNE_NATIVE=OFF \
	$(CMAKE_ARCH_FLAGS)

export PYBUILD_SYSTEM=cmake
export PYBUILD_CONFIGURE_ARGS=$(CMAKE_FLAGS)

%:
	dh $@ --buildsystem=pybuild

execute_before_dh_gencontrol:
	echo "Using $(robotofontversion) as fonts-roboto-fontface version for debian/libmrpt-nanogui$(mrptversion2digits).substvars"
	echo 'fonts-roboto-fontface:version=$(robotofontversion)' >> debian/libmrpt-nanogui$(mrptversion2digits).substvars

override_dh_auto_build-indep:
	# Build doc targets:
	# For both, arch dependent and independent targets, build "all".
	# This is to prevent future "make install" or "make test" to fail due to
	# not built targets.
	dh_auto_build \
		man_pages_all \
		all

	# clean useless doxygen files:
	find $(CURDIR)/doc/ -name '*.md5' | xargs -I FIL rm FIL

execute_after_dh_auto_test:
	# After running the python tests, we can strip the rpath of pymrpt:
	find . -name "pymrpt.*.so" | xargs -I FIL chrpath --delete FIL

execute_after_dh_auto_install:
	# Manually merge the different pymrpt*.so files from:
	# - debian/tmp/usr/lib/python3.*/{mrpt,mrpt-2.11.3.dist-info}
	# into:
	# - debian/tmp/usr/lib/python3/dist-packages/*
	#
	mkdir -p debian/tmp/usr/lib/python3/dist-packages/
	cp -rv debian/tmp/usr/lib/python3.*/mrpt* debian/tmp/usr/lib/python3/dist-packages/
	rm -fr debian/tmp/usr/lib/python3.*/mrpt*