#!/usr/bin/make -f # # Robert Jordens # # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed -include /usr/share/cdbs/1/rules/upstream-tarball.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/ # 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