File: rules

package info (click to toggle)
cyclonedds 0.10.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 21,372 kB
  • sloc: ansic: 224,361; perl: 1,904; xml: 1,894; yacc: 1,018; sh: 882; python: 106; makefile: 94
file content (67 lines) | stat: -rwxr-xr-x 2,163 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
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS = hardening=+all reproducible=+all future=+lfs
export DEB_CFLAGS_MAINT_APPEND = -DNDEBUG

include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/pkg-info.mk

DDSC_SOVERSION = 0debian
IDL_SOVERSION = 0

BUILD_TESTING = $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),OFF,ON)
BUILD_DOCS = $(if $(filter nodoc,$(DEB_BUILD_OPTIONS)),OFF,ON)
ENABLE_SSM = $(if $(filter hurd-%,$(DEB_BUILD_ARCH)),OFF,ON)

DDS_PLUGINS_DIR = lib/$(DEB_HOST_MULTIARCH)/libddsc$(DDSC_SOVERSION)

# TODO: compile-time check would be better than this hardcoded architecture list
LINK_LIBATOMIC = $(if $(filter s390x,$(DEB_HOST_ARCH)),ON,OFF)

%:
	dh $@ --buildsystem=cmake

override_dh_auto_configure:
	dh_auto_configure --buildsystem=cmake -- \
		-DCMAKE_BUILD_RPATH_USE_ORIGIN=ON \
		-DBUILD_DOCS=$(BUILD_DOCS) \
		-DBUILD_TESTING=OFF \
		-DBUILD_EXAMPLES=$(BUILD_DOCS) \
		-DBUILD_IDLC=ON \
		-DDDSC_SOVERSION=$(DDSC_SOVERSION) \
		-DIDL_SOVERSION=$(IDL_SOVERSION) \
		-DENABLE_SHM=AUTO \
		-DENABLE_TYPE_DISCOVERY=ON \
		-DENABLE_TOPIC_DISCOVERY=ON \
		-DENABLE_SOURCE_SPECIFIC_MULTICAST=$(ENABLE_SSM) \
		-DCMAKE_C_VISIBILITY_PRESET=hidden \
		-DDDS_PLUGINS_DIR=$(DDS_PLUGINS_DIR) \
		-DDEB_LINK_LIBATOMIC=$(LINK_LIBATOMIC)

# Disable flaky and long-running test suite
override_dh_auto_test:
#	cd obj-$(DEB_HOST_GNU_TYPE) && \
#		ctest --force-new-ctest-process -j1

include_dir = debian/tmp/usr/include
doc_dir = debian/tmp/usr/share/doc/CycloneDDS
execute_after_dh_auto_install:
	mkdir -p $(include_dir)/$(DEB_HOST_MULTIARCH)/dds
	mv $(include_dir)/dds/features.h $(include_dir)/$(DEB_HOST_MULTIARCH)/dds
	rm $(doc_dir)/LICENSE $(doc_dir)/CHANGELOG.rst
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
	mv $(doc_dir)/manual/docs $(doc_dir)/manual/html
endif

# Ignore plugins when generating the symbols file
override_dh_makeshlibs:
	dh_makeshlibs -X/$(DDS_PLUGINS_DIR)/

execute_before_dh_installman: debian/ddsperf.1 debian/idlc.1
	true

override_dh_installdocs:
	dh_installdocs -pcyclonedds-doc --doc-main-package=cyclonedds-dev
	dh_installdocs -Ncyclonedds-doc

%.1: %.1.in
	sed -e 's/@VERSION@/$(DEB_VERSION_UPSTREAM)/g' $< > $@