File: rules

package info (click to toggle)
qmath3d 0~1.0-4
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 268 kB
  • sloc: cpp: 1,156; makefile: 50
file content (68 lines) | stat: -rwxr-xr-x 2,582 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
# output every command that modifies files on the build system.
#DH_VERBOSE = 1

LOGLEVEL = info
ifeq ($(DH_VERBOSE),1)
  LOGLEVEL = debug
endif
ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
  LOGLEVEL = warning
endif

DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk
include /usr/share/dpkg/architecture.mk

#confgure qt5 generally, not just for configure
export QT_SELECT=5

LIBNAME=libQMath3d
VERSION=$(shell dpkg-parsechangelog -S version | awk '{split($$0,a,"-"); print a[1]}')
PKGCONFDIR:=debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig

%:
	dh $@

# Note that the dpkg-buildflags settings are currently static. We await a
# mechanism to convert them dynamically into Qbs-speak

override_dh_auto_configure:
	qbs-setup-toolchains --settings-dir debian --detect
	qbs-setup-qt --settings-dir debian /usr/bin/qmake deb
	qbs config --settings-dir debian profiles.deb.qbs.installPrefix ""
	qbs config --settings-dir debian profiles.deb.cpp.debugInformation true
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
	qbs config --settings-dir debian profiles.deb.cpp.optimization none
else
	qbs config --settings-dir debian profiles.deb.cpp.optimization fast
endif
	qbs config --settings-dir debian profiles.deb.cpp.commonCompilerFlags -Wdate-time
	qbs config --settings-dir debian profiles.deb.cpp.defines '"_FORTIFY_SOURCE=2"'
	qbs config --settings-dir debian profiles.deb.cpp.cFlags '[ "-fdebug-prefix-map=$(CURDIR)=.", "-fstack-protector-strong", "-Wformat", "-Werror=format-security" ]'
	qbs config --settings-dir debian profiles.deb.cpp.cxxFlags '[ "-fdebug-prefix-map=$(CURDIR)=.", "-fstack-protector-strong", "-Wformat", "-Werror=format-security" ]'
	qbs config --settings-dir debian profiles.deb.cpp.linkerFlags "-z,relro"

override_dh_auto_build:
	qbs build --settings-dir debian --log-level $(LOGLEVEL) --command-echo-mode command-line --no-install \
           profile:deb \
           modules.qbs.installRoot:$(CURDIR)/debian/tmp \
           config:qbs-build
        # Generate pkgconfig file
	sed -e "s/@DEB_HOST_MULTIARCH@/${DEB_HOST_MULTIARCH}/;s/@VERSION@/$(VERSION)/" < debian/$(LIBNAME).pc.in > debian/$(LIBNAME).pc

override_dh_auto_install:
	qbs install --settings-dir debian --no-build --log-level $(LOGLEVEL)\
           --install-root $(CURDIR)/debian/tmp \
           profile:deb \
           config:qbs-build
	mkdir -p $(PKGCONFDIR)
	mv debian/$(LIBNAME).pc $(PKGCONFDIR)/$(LIBNAME).pc
	dh_install

override_dh_clean:
	# tidy up qbs profile builddirs
	- rm -r qbs-build
	- rm debian/$(LIBNAME).pc
	- rm -r debian/qbs
	dh_clean