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
|
#!/usr/bin/make -f
include /usr/share/dpkg/default.mk
include /usr/share/dpkg/pkg-info.mk
include /usr/share/dpkg/architecture.mk
export DEB_BUILD_MAINT_OPTIONS := hardening=+all
export DEB_LDFLAGS_MAINT_APPEND := -Wl,-z,defs
# In the normative branch, we need to manually set the target cpu to
# enable optimisation
ifeq ($(DEB_HOST_ARCH_CPU),arm64)
TARGET_CPU = arm64
else ifeq ($(DEB_HOST_ARCH_CPU)_$(DEB_HOST_ARCH_ABI),arm_eabihf)
TARGET_CPU = armv7
# Explicitly disable NEON for Debian armhf baseline requirement
CONFIG_EXTRA := -DENABLE_NEON=0
else ifneq ($(filter mips64%, $(DEB_HOST_ARCH_CPU)),)
TARGET_CPU = mips64
else ifneq ($(filter mips%, $(DEB_HOST_ARCH_CPU)),)
TARGET_CPU = mips32
else ifneq ($(filter ppc% powerpc%, $(DEB_HOST_ARCH_CPU)),)
TARGET_CPU = ppc
else ifeq ($(DEB_HOST_ARCH_CPU)_$(DEB_HOST_ARCH_ABI),amd64_base)
TARGET_CPU = x86_64
else ifeq ($(DEB_HOST_ARCH_CPU),i386)
TARGET_CPU = x86
else
TARGET_CPU = generic
endif
# Disable AltiVec on powerpcspe
ifeq ($(DEB_HOST_ARCH),powerpcspe)
CONFIG_EXTRA := -DENABLE_VSX=OFF
endif
# Explicitly set internal flag CONFIG_BIG_ENDIAN, because
# aom CMake buildsystem does not detect endian issue and
# cannot set this internal flag correctly.
# Ref: https://bugs.chromium.org/p/aomedia/issues/detail?id=3487#c20
ifeq ($(DEB_BUILD_ARCH_ENDIAN),little)
CONFIG_EXTRA_ENDIAN := -DCONFIG_BIG_ENDIAN=0
else
CONFIG_EXTRA_ENDIAN := -DCONFIG_BIG_ENDIAN=1
endif
# Use -Bbuild-debian to locate built documentation
%:
dh $@ -Bbuild-debian
# Force building with system libyuv and webm
execute_before_dh_auto_configure:
rm -rf $(CURDIR)/third_party/libyuv
rm -rf $(CURDIR)/third_party/libwebm
# Tests disabled because they require network access to download test
# data.
#
# Setting GIT_EXECUTABLE to some invalid file prevents the version
# being taken from git if we're on a Debian packaging git branch.
#
# For FORCE_HIGHBITDEPTH_DECODING, see git commit
# 2dd87d9b05b36811aaf19d3c4e47e6e04ccf9de8.
#
override_dh_auto_configure:
dh_auto_configure -- \
-DBUILD_SHARED_LIBS=1 \
-DFORCE_HIGHBITDEPTH_DECODING=0 \
-DCONFIG_LIBYUV=1 \
-DCONFIG_MULTITHREAD=1 \
-DENABLE_TESTS=0 \
-DGIT_EXECUTABLE=/nonexistant-binary \
-DAOM_TARGET_CPU=$(TARGET_CPU) \
$(CONFIG_EXTRA_ENDIAN) \
$(CONFIG_EXTRA)
# Do not compress html changelog which breaks documentation
override_dh_compress:
dh_compress -Xchangelog.html
override_dh_auto_test:
dh_auto_test
PATH=$$PATH:$(CURDIR)/build-debian AUTOPKGTEST_TMP=build-debian ./debian/tests/encode-decode
CFLAGS=-I$(CURDIR) LDFLAGS="-laom -L$(CURDIR)/build-debian" AUTOPKGTEST_TMP=build-debian ./debian/tests/library-build
# Currently manually invoked before build. Not invoked during build.
help2man:
help2man --version-string='$(DEB_VERSION_UPSTREAM)' -n 'AOMedia Project AV1 Encoder' -N --no-discard-stderr debian/tmp/usr/bin/aomenc > debian/aomenc.1
help2man --version-string='$(DEB_VERSION_UPSTREAM)' -n 'AOMedia Project AV1 Decoder' -N --no-discard-stderr debian/tmp/usr/bin/aomdec > debian/aomdec.1
.PHONY: help2man
|