#!/usr/bin/make -f ### ### Configuration, decide what to build ### # Some variables: DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) confflags = \ -Dradeon=true \ -Damdgpu=true \ -Dlibkms=false \ -Dinstall-test-programs=true \ $() # Linux vs. the rest: ifeq (linux, $(DEB_HOST_ARCH_OS)) confflags += -Dudev=true confflags += -Dvmwgfx=true confflags += -Dnouveau=true NOUVEAU = yes else confflags += -Dudev=false confflags += -Dvmwgfx=false confflags += -Dnouveau=false NOUVEAU = no endif # Intel is only on x86: ifneq (,$(filter amd64 i386,$(DEB_HOST_ARCH_CPU))) ifneq (,$(filter linux kfreebsd hurd,$(DEB_HOST_ARCH_OS))) INTEL = yes endif endif ifeq ($(INTEL), yes) confflags += -Dintel=true else confflags += -Dintel=false endif # Exynos/Omap/Tegra are only on arm ifneq (,$(filter arm,$(DEB_HOST_ARCH_CPU))) ARM = yes endif ifeq ($(ARM), yes) confflags += -Dexynos=true confflags += -Domap=true else confflags += -Dexynos=false confflags += -Domap=false endif # Etnaviv is on armhf and arm64 ifneq (,$(filter armhf arm64,$(DEB_HOST_ARCH))) ETNAVIV = yes endif ifeq ($(ETNAVIV), yes) confflags += -Detnaviv=true else confflags += -Detnaviv=false endif # Tegra is on arm and arm64 ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU))) TEGRA = yes endif ifeq ($(TEGRA), yes) confflags += -Dtegra=true else confflags += -Dtegra=false endif # Freedreno is on arm and arm64 ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU))) FREEDRENO = yes endif ifeq ($(FREEDRENO), yes) confflags += -Dfreedreno=true -Dfreedreno-kgsl=true else confflags += -Dfreedreno=false endif ### ### Actual build ### override_dh_auto_configure: dh_auto_configure -- $(confflags) override_dh_auto_test: dh_auto_test || echo "Test suite failure, but keeping on anyway" override_dh_install: find debian/tmp -name '*.la' -delete dh_install ifneq (,$(filter $(DEB_HOST_ARCH_CPU),arm)) for file in debian/tmp/usr/bin/exynos_*; do \ mv $$file debian/libdrm-tests/usr/bin; \ done endif ifneq (,$(filter $(DEB_HOST_ARCH),armhf arm64)) for file in debian/tmp/usr/bin/etnaviv*; do \ mv $$file debian/libdrm-tests/usr/bin; \ done endif override_dh_missing: dh_missing --fail-missing override_dh_makeshlibs: dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.89)' --add-udeb=libdrm2-udeb -- -c4 ifeq ($(INTEL), yes) dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.75)' -- -c4 endif ifeq ($(NOUVEAU), yes) dh_makeshlibs -plibdrm-nouveau2 -V'libdrm-nouveau2 (>= 2.4.66)' -- -c4 endif dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.39)' -- -c4 dh_makeshlibs -plibdrm-amdgpu1 -V'libdrm-amdgpu1 (>= 2.4.97)' -- -c4 ifeq ($(ARM), yes) dh_makeshlibs -plibdrm-omap1 -V'libdrm-omap1 (>= 2.4.38)' -- -c4 dh_makeshlibs -plibdrm-exynos1 -V'libdrm-exynos1 (>= 2.4.66)' -- -c4 endif ifeq ($(ETNAVIV), yes) dh_makeshlibs -plibdrm-etnaviv1 -V'libdrm-etnaviv1 (>= 2.4.89)' -- -c4 endif ifeq ($(TEGRA), yes) dh_makeshlibs -plibdrm-tegra0 -V'libdrm-tegra0' -- -c4 endif ifeq ($(FREEDRENO), yes) dh_makeshlibs -plibdrm-freedreno1 -V'libdrm-freedreno1 (>= 2.4.97)' -- -c4 endif %: dh $@ --with quilt \ --builddirectory=build/ \ --buildsystem=meson