File: rules

package info (click to toggle)
openms 2.6.0%2Bcleaned1-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 783,168 kB
  • sloc: cpp: 526,888; xml: 142,287; ansic: 54,252; python: 11,640; php: 2,454; sh: 1,137; ruby: 529; yacc: 403; perl: 85; lex: 74; makefile: 61
file content (143 lines) | stat: -rwxr-xr-x 4,363 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
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/usr/bin/make -f
# -*- makefile -*-

# FR the include below loads various mk files:
#
include /usr/share/dpkg/default.mk
#
# include $(dpkg_datadir)/architecture.mk
# include $(dpkg_datadir)/buildflags.mk
# include $(dpkg_datadir)/pkg-info.mk
# include $(dpkg_datadir)/vendor.mk


export DH_VERBOSE=1
export DH_OPTIONS=-v

CMAKE=/usr/bin/cmake

export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

BUILD_DIR = $(CURDIR)/obj-${DEB_HOST_MULTIARCH}
DEBIAN_DIR = $(CURDIR)/debian

# Path to the tools subdirectory in the top source dir to build the
# documentation.
export PATH := $(BUILD_DIR)/bin:$(CURDIR)/tools:$(PATH)
export LD_LIBRARY_PATH := $(BUILD_DIR)/lib/$(DEB_HOST_MULTIARCH):$(LD_LIBRARY_PATH)

export LIB_VERSION = 2.6.0
export LIB_SOVERSION = 2

# Hardening stuff, see http://wiki.debian.org/Hardening
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1

# Fix bug #964315 Adrian Bunk <bunk@debian.org>
ifneq (,$(filter $(DEB_HOST_ARCH), mipsel))
  export DEB_CXXFLAGS_MAINT_APPEND += -g1
endif


%:
	dh $@ --buildsystem=cmake --no-parallel

override_dh_clean:
	@echo "entering the override_dh_clean target"

	# Remove the generated xpm icon files:
	rm -f debian/TOPPAS.xpm
	rm -f debian/TOPPView.xpm

	# Remove the generated topp.1 man page:
	rm -f debian/topp.1

	dh_clean


override_dh_auto_configure:

# -DHAS_XSERVER=OFF to let the doc building process that no
#  XWindow server is available.
	dh_auto_configure -- \
		-DDEBIAN_BUILD=ON \
		-DHAS_XSERVER=OFF \
		-DCMAKE_FIND_LIBRARY_SUFFIXES=".so" \
		-DCMAKE_SKIP_RPATH=ON \
		-DCMAKE_INSTALL_PREFIX="/usr" \
		-DOPENMS_CONTRIB_LIBS="/usr/lib;/usr/lib/$(DEB_HOST_MULTIARCH)" \
		-DCMAKE_BUILD_TYPE=release \
		-DBOOST_USE_STATIC=OFF \
		-DENABLE_STYLE_TESTING=OFF \
		-DENABLE_TOPP_TESTING=OFF \
		-DENABLE_CLASS_TESTING=OFF \
		-DENABLE_PIPELINE_TESTING=OFF \
 		-DENABLE_TUTORIALS=ON \
 		-DSEQAN_INCLUDE_DIR=$(DEBIAN_DIR) \
		-DCMAKE_POLICY_VERSION_MINIMUM=3.5

	# Prepare the xpm-formatted pixmaps for the Debian menu system.
	# Setting imagemagick to Build-Depends, for use of convert.
	convert src/openms_gui/source/VISUAL/ICONS/TOPPAS.png -resize 32x32 debian/TOPPAS.xpm
	convert src/openms_gui/source/VISUAL/ICONS/TOPPView.png -resize 32x32 debian/TOPPView.xpm


override_dh_auto_build:

	# Build the libs and executable binaries
	# Build the documentation, which needs a running XWindow server. We
	# thus use the doc_minimal target.
	#
	# ATTENTION, as of 20200514, the pdfLatex compilation fails with error
	# ! LaTeX Error: Command `\Bbbk' already defined.
	# This is why we commented out the doc_tutorials target below.
	# See also the override_dh_auto_configure target above, that disables
	# that specific doc_tutorials target.

	VERBOSE=1 \
					dh_auto_build -- \
					OpenMS GUI TOPP UTILS

	# We need to tell the documenter program where the shared data are
	# in the source tree: share/OpenMS. That is not the install directory!
	# Also tell the CMake build system that we'll build the docs without
	# access to a XWindow server.
	VERBOSE=1 \
					OPENMS_DATA_PATH=$(CURDIR)/share/OpenMS \
					HAS_XSERVER=OFF \
					dh_auto_build -- doc_minimal

	# Run the test suite
	# VERBOSE=1 $(MAKE) -C $(BUILD_DIR) test

	# Prepare the topp.1 man page with all the one-line description got
	# from calling individually each program in $(BUILD_DIR)/bin with
	# --help switch. The newly built libs need be in the path so that the
	# binaries can execute. Same for the shared data path, because the
	# binaries need it to run. Note the calling in sh ./ with the script
	# shell being itself executable, otherwise git-buildpackage would
	# fail.
	cd $(DEBIAN_DIR) && \
		PATH=$(BUILD_DIR)/bin:$(CURDIR)/tools:$(PATH) \
		OPENMS_DATA_PATH=$(CURDIR)/share/OpenMS/ \
		sh ./binaries-extract-one-line-man-desc.sh $(BUILD_DIR)/bin $(DEBIAN_DIR)

	#VERBOSE=1 LD_LIBRARY_PATH=$(BUILD_DIR)/lib/:$(LD_LIBRARY_PATH)\
		#PATH=$(BUILD_DIR)/bin:$(CURDIR)/tools:$(PATH)\
		#OPENMS_DATA_PATH=$(CURDIR)/share/OpenMS/ \
		#cd $(BUILD_DIR)/doc/doxygen && doxygen Doxyfile

	# There are two files that we do not want to ship because
	# they exist in their own Debian packages.

	rm -f $(BUILD_DIR)/usr/share/doc/html/jquery.js


override_dh_auto_test:


override_dh_auto_install:

	VERBOSE=1 \
		OPENMS_DATA_PATH=$(CURDIR)/share/OpenMS/ \
		dh_auto_install