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
|