#!/usr/bin/make -f # # Robert Jordens # © 2019, IOhannes m zmölnig # © 2020, Olivier Humbert # # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. export DH_VERBOSE = 1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all include /usr/share/dpkg/pkg-info.mk include /usr/share/dpkg/buildflags.mk BUILD_DATE:=$(shell date -u -d "@$(SOURCE_DATE_EPOCH)" +"%F") ########### WAF options ############ waf-light = python3 $(CURDIR)/debian/waf/waf-light waf-configure-options = \ --lxvst \ --freedesktop \ --configdir=/etc/ \ --noconfirm \ --prefix=/usr/ \ --no-phone-home \ --use-external-libs \ --optimize \ --cxx11 \ --ptformat \ --lv2dir=/usr/lib/lv2 \ $(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,pulseaudio else waf-configure-options += \ --no-fpu-optimization \ $(empty) endif ARDOUR_LIBRARY_PATH := /usr/lib/ardour6/ waf-configure-options += \ --with-backends=$(BACKENDS) \ --dist-target=$(DIST_TARGET) \ $(empty) DEB_WAF_INVOKE = \ CPPFLAGS="$(CPPFLAGS)" \ CFLAGS="$(CFLAGS)" \ CXXFLAGS="$(CXXFLAGS)" \ LDFLAGS="$(LDFLAGS) -Wl,--as-needed" \ $(waf-light) -v --destdir=$(CURDIR)/debian/tmp deb_revision := libs/ardour/revision.cc waf_extras := debian/waf/waflib/extras/autowaf.py debian/waf/waflib/extras/misc.py ########### build overrides options ############ %: dh $@ override_dh_auto_build: genfiles $(DEB_WAF_INVOKE) configure $(waf-configure-options) $(DEB_WAF_INVOKE) build i18n_mo override_dh_auto_install: override_dh_auto_build manpages genfiles $(DEB_WAF_INVOKE) install for res in 16 22 32 48; do \ mkdir -p $(CURDIR)/debian/ardour/usr/share/icons/hicolor/$${res}x$${res}/mimetypes; \ cp $(CURDIR)/gtk2_ardour/icons/application-x-ardour_$${res}px.png \ $(CURDIR)/debian/ardour/usr/share/icons/hicolor/$${res}x$${res}/mimetypes/application-x-ardour.png ; \ done ## 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. override_dh_makeshlibs: dh_makeshlibs --no-scripts override_dh_shlibdeps: dh_shlibdeps -- -l$(CURDIR)/debian/ardour/$(ARDOUR_LIBRARY_PATH) override_dh_clean: manpageclean rm -f .lock-wscript .lock-waf_linux2_build find . -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\ $(deb_revision)\ 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) dh_clean ########### build intermediates ############ .PHONY: genfiles genfiles: $(deb_revision) $(waf_extras) $(deb_revision): echo '#include "ardour/revision.h"' > $@ echo "namespace ARDOUR { const char* revision = \"$(subst +,~,$(DEB_VERSION_UPSTREAM_REVISION))\"; const char* date = \"$(BUILD_DATE)\"; }" >> $@ debian/waf/waflib/extras/%: tools/% cp $< $@ MANPAGES = ardour6-copy-mixer.1 ardour6-export.1 ardour6-fix_bbtppq.1 \ ardour6-new_empty_session.1 ardour6-new_session.1 .PHONY: manpages manpageclean $(MANPAGES): debian/ardour6-utils.1 cp $^ $@ manpages: $(MANPAGES) manpageclean: rm -f $(MANPAGES) ################ d/copyright helper ############## DEB_COPYRIGHT_CHECK_IGNORE_REGEX = \ \.git/.*|debian/.*|.*\.ico|.*\.icns|.*\.wav|.*\.flac|.*\.ogg|.*\.touchosc .PHONY: licensecheck licensecheck: licensecheck --deb-machine \ -i "^($(DEB_COPYRIGHT_CHECK_IGNORE_REGEX))$$" \ -r * \ > debian/copyright_newhints cmp debian/copyright_hints debian/copyright_newhints \ && rm debian/copyright_newhints