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
|
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2014-2022 IOhannes m zmölnig <zmoelnig@iem.at>
# Description: Main Debian packaging script for SoundScape Renderer
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
## some archs only have OpenGL-ES (at least with Qt):
OPENGL_ES_ARCHS := armhf armel
# needs to be declared before including makefile.mk
FLAVORS = nox
ifneq (,$(findstring $(DEB_HOST_ARCH), $(OPENGL_ES_ARCHS)))
export DH_OPTIONS=-Nsoundscaperenderer
else
FLAVORS += qt
endif
builddir=debian/build/flavor-
DEB_BUILDDIR = build
export QT_SELECT=qt5
# global configure options
## disables all optimization
## (x86_64 should be turned on automatically by the compiler)
CONFIG = --disable-optimization
# per flavor configure options
CONFIG_qt = --enable-gui --program-suffix=.qt
CONFIG_nox = --disable-gui --program-suffix=.nox
CONFIG_indep = --program-suffix=.indep --disable-all \
--disable-gui \
--disable-ip-interface \
--disable-websocket-interface \
--disable-ecasound \
--disable-polhemus \
--disable-razor \
--disable-vrpn \
--disable-intersense \
--disable-isatty \
$(empty)
# Use the default debhelper scripts, where possible.
%:
dh $@
execute_before_dh_autoreconf:
mkdir -p autotools/config autotools/m4
# Add configuration options:
override_dh_auto_configure-indep: configure_indep
override_dh_auto_configure-arch: $(patsubst %,configure_%,$(FLAVORS))
configure_%:
dh_auto_configure -B $(builddir)$* -- $(strip $(CONFIG) $(CONFIG_$*))
# Remove the subdirectories generated for the flavors.
override_dh_auto_clean:
rm -rf $(patsubst %,$(builddir)%,$(FLAVORS) indep)
rmdir -p $(dir $(builddir)) || echo "couldn't cleanup build-dirs...ignoring"
rm -rf doc/manual/_build/
override_dh_auto_build-indep:
dh_auto_build -i --sourcedirectory=$(builddir)indep || (cat $(builddir)indep/config.log && exit 1)
$(CURDIR)/debian/scripts/alternatives $(CURDIR)/$(builddir)indep/src $(CURDIR)/$(builddir)indep/alternatives
# Create sphinx documentation:
make -C $(CURDIR)/doc/manual html
override_dh_auto_build-arch: $(patsubst %,build_%,$(FLAVORS))
build_%:
dh_auto_build -a --sourcedirectory=$(builddir)$* || (cat $(builddir)$*/config.log && exit 1)
$(CURDIR)/debian/scripts/alternatives $(CURDIR)/$(builddir)$*/src $(CURDIR)/$(builddir)$*/alternatives
override_dh_auto_install-indep:
dh_auto_install -i --sourcedirectory=$(builddir)indep
override_dh_auto_install-arch: $(patsubst %,install_%,$(FLAVORS))
install_%:
dh_auto_install -a --sourcedirectory=$(builddir)$*
override_dh_installman:
dh_installman --language=C
DEB_COPYRIGHT_CHECK_IGNORE_REGEX = \
debian/.*|flext/.*\.wav|data/impulse_responses/hrirs/.*\.wav|doc/manual/images/screenshot.*\.png|data/MacOSX/SSRIcon\.icns|data/MacOSX/\.background/background\.png|data/MacOSX/dylibbundler/dylibbundler\.png
# licensecheck v1
.PHONY: licensecheck
licensecheck:
LANG=C.UTF-8 licensecheck \
-i "^($(DEB_COPYRIGHT_CHECK_IGNORE_REGEX))$$" \
--check '.*' --recursive --deb-machine --lines 0 * \
> debian/copyright_newhints
cmp debian/copyright_hints debian/copyright_newhints \
&& rm debian/copyright_newhints
|