File: rules

package info (click to toggle)
ardour 1%3A5.5.0~dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 76,180 kB
  • sloc: cpp: 493,495; xml: 123,656; ansic: 72,458; python: 22,394; sh: 4,938; asm: 1,347; perl: 888; php: 753; makefile: 268; objc: 28
file content (217 lines) | stat: -rwxr-xr-x 6,579 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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
#!/usr/bin/make -f
#
# Robert Jordens <jordens@debian.org>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.

# Path to the debian directory
empty =
DEBIAN_DIR := $(shell echo ${MAKEFILE_LIST} | awk '{print $$1}' | xargs dirname )
UPSTREAM_VERSION ?=$(shell uscan --dehs | sed -n 's/.*<upstream-version>\(.*\)<\/upstream-version>.*/\1/p')
DFSG = dfsg1
PKG = $(shell dpkg-parsechangelog -SSource)

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

-include /usr/share/cdbs/1/rules/upstream-tarball.mk
-include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/makefile.mk

DEB_CLEAN_EXCLUDE=debian/tmp
DEB_DESTDIR = $(CURDIR)/debian/tmp/

# ignore oddly packaged bzip2 archive to not upset dpkg
DEB_COPYRIGHT_CHECK_IGNORE_REGEX = ^(waf|(icons|gtk2_ardour)/icons/.*\.png|tools/osx_packaging/.*\.png|gtk_ardour/.*splash\.png|doc/ardour_meter_colors\.png|doc/layering/.*\.png|icons/made_with/ardour_made\.png|debian/(changelog|copyright(|_hints|_newhints)))$

# Set tag to full 40 char git tag for git snapshot release
tag = $(DEB_UPSTREAM_TARBALL_VERSION)
DEB_UPSTREAM_URL = https://github.com/Ardour/ardour/archive
DEB_UPSTREAM_TARBALL_BASENAME = $(tag)
DEB_UPSTREAM_TARBALL_SRCDIR = ardour-$(tag)

# Exclude these files from the Debian version
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./waf
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./.git*
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./MSVCvst_scan
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./MSVCardour3
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./icons/win32/resource
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./icons/win32/msvc_resources.rc.in
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./gtk2_ardour/win32/*

waf-configure-options = --lv2 \
	--lxvst \
	--freedesktop \
	--configdir=/etc/ \
	--noconfirm \
	--prefix=/usr/ \
	--no-phone-home \
	--use-external-libs \
	--optimize \
	--cxx11 \
	$(empty)


DIST_TARGET = none
ifneq (,$(findstring i386,$(DEB_BUILD_ARCH)))
	DIST_TARGET = i686
endif
ifneq (,$(findstring amd64,$(DEB_BUILD_ARCH)))
	DIST_TARGET = x86_64
endif

BACKENDS = jack,dummy
ifneq (,$(findstring linux,$(DEB_HOST_ARCH_OS)))
	# ALSA Backend is only available on Linux
	BACKENDS = jack,alsa,dummy
else
	waf-configure-options += \
		--no-fpu-optimization \
		$(empty)
endif

LD_LIBRARY_PATH += :$(DEB_DESTDIR)/usr/lib/ardour5/

waf-configure-options += \
	--with-backends=$(BACKENDS) \
	--dist-target=$(DIST_TARGET) \
	$(empty)

DEB_MAKE_EXTRA_ARGS = -v --destdir=$(CURDIR)/debian/tmp
DEB_MAKE_BUILD_TARGET = build i18n_mo
DEB_MAKE_ENVVARS = CFLAGS="$(or $(CFLAGS_$(cdbs_curpkg)),$(CFLAGS))" CXXFLAGS="$(or $(CXXFLAGS_$(cdbs_curpkg)),$(CXXFLAGS))" CPPFLAGS="$(or $(CPPFLAGS_$(cdbs_curpkg)),$(CPPFLAGS))" LDFLAGS="$(or $(LDFLAGS_$(cdbs_curpkg)),$(LDFLAGS))"
DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(CURDIR)/waf-light $(DEB_MAKE_EXTRA_ARGS)
DEB_MAKE_INSTALL_TARGET = install

## create -dbg package from the stripped info
DEB_DH_STRIP_ARGS := --ddeb-migration='ardour-dbg (<< 1:4.6~dfsg-1)'

## ardour includes a couple of private lib*.so files, which make
## dh_makeshlibs emit a useless call to `ldconfig` in the postinst script.
## since we don't have any public libraries, we just suppress that call.
DEB_DH_MAKESHLIBS_ARGS_ardour := --noscripts

clean::
	rm -f autowaf.pyc
	rm -f .lock-wscript .lock-waf_linux2_build
	find waflib -name "*.pyc" -delete || true
	find . -name "*.mo" -delete || true
	rm -rf build
	rm -f \
		gtk2_ardour/version.cc\
		gtk2_ardour/version.h\
		gtk2_ardour/ardour.appdata.xml.in\
		libs/ardour/ardour/version.h\
		libs/ardour/config_text.cc\
		libs/ardour/svn_revision.cc\
		libs/ardour/version.cc\
		libs/gtkmm2ext/gtkmm2ext/version.h\
		libs/gtkmm2ext/version.cc\
		libs/midi++2/midi++/version.h\
		libs/midi++2/version.cc\
		libs/pbd/pbd/version.h\
		libs/pbd/version.cc\
		$(empty)
	rm -rf debian/tmp


common-configure-arch common-configure-indep:: common-configure-impl
common-configure-impl:: libs/ardour/revision.cc debian/stamp-waf-configure


libs/ardour/revision.cc:
	echo '#include "ardour/revision.h"' > $@
	echo "namespace ARDOUR { const char* revision = \"${DEB_VERSION}\"; }" >> $@

debian/stamp-waf-configure:
	chmod +x ./waf-light
	$(DEB_MAKE_INVOKE) configure $(waf-configure-options)
	touch $@
clean::
	rm -f debian/stamp-waf-configure
	rm -f libs/ardour/revision.cc

# Needed at build time
# (separated in build tools, core, Glib/GTK and audio dependencies)
CDBS_BUILD_DEPENDS +=\
	, gettext\
	, intltool\
	, itstool\
	$(empty)
CDBS_BUILD_DEPENDS +=\
	, libarchive-dev (>= 3.0.0)\
	, libboost-dev (>= 1.49.0)\
	, libcurl4-gnutls-dev (>= 7.25.0)\
	, libfftw3-dev (>= 3.3.1)\
	, liblrdf0-dev (>= 0.4.0)\
	, libserd-dev (>= 0.18.2~)\
	, libsord-dev (>= 0.12.0~)\
	, libsuil-dev (>= 0.6.10~)\
	, liblilv-dev\
	, libsratom-dev (>= 0.4.2~)\
	, libsigc++-2.0-dev (>= 2.2.10)\
	, uuid-dev\
	, libxml2-dev (>= 2.5.7)\
	, libcwiid-dev [linux-any]\
	, $(empty)
CDBS_BUILD_DEPENDS +=\
	, libcairomm-1.0-dev (>= 1.10.0)\
	, libgtkmm-2.4-dev (>= 2.24.2)\
	, libpangomm-1.4-dev (>= 2.28.4)\
	, libhidapi-dev\
	, libusb-1.0-0-dev\
	, $(empty)
CDBS_BUILD_DEPENDS +=\
	, ladspa-sdk (>= 1.1-2)\
	, libasound2-dev (>= 0.9.4) [linux-any]\
	, libaubio-dev (>= 0.3.2)\
	, libfluidsynth-dev\
	, libjack-dev\
	, liblo-dev (>= 0.26~)\
	, libltc-dev\
	, libqm-dsp-dev\
	, librubberband-dev\
	, libsamplerate0-dev (>= 0.1.8)\
	, libsndfile1-dev (>= 1.0.25)\
	, libtag1-dev\
	, lv2-dev (>= 1.2.0)\
	, vamp-plugin-sdk (>=2.1)\
	, $(empty)
CDBS_BUILD_DEPENDS +=\
	, python-setuptools\
	, python-isodate\
	, python-rdflib\
	, $(empty)

# Needed always/often/sometimes at runtime
CDBS_DEPENDS_ALL = jackd
CDBS_RECOMMENDS_ALL = iceweasel | www-browser
CDBS_SUGGESTS_ALL = jamin, qjackctl

# Ensure only one variant is installed at a time
CDBS_PROVIDES_ardour-altivec = ardour
CDBS_PROVIDES_ardour-i686 = ardour

# Quirk for derivatives using different packaging name
ifeq (Ubuntu,$(shell dpkg-vendor --query Vendor))
CDBS_RECOMMENDS_ALL = firefox | www-browser
endif

DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./waf
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./.git*
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./MSVC**
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./msvc*
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./icons/win32/**
DEB_UPSTREAM_REPACKAGE_EXCLUDES += ./gtk2_ardour/win32/**

MANPAGES = ardour5-copy-mixer.1 ardour5-export.1 ardour5-fix_bbtppq.1
.PHONY: manpages manpageclean
$(MANPAGES): debian/ardour5-utils.1
	cp $^ $@
manpages: $(MANPAGES)
manpageclean:
	rm -f $(MANPAGES)

build/ardour:: manpages
clean:: manpageclean