#!/usr/bin/make -f # See debhelper(7) (uncomment to enable) # output every command that modifies files on the build system. export DH_VERBOSE = 1 include /usr/share/dpkg/architecture.mk # see FEATURE AREAS in dpkg-buildflags(1) #export DEB_BUILD_MAINT_OPTIONS = hardening=+all # see ENVIRONMENT in dpkg-buildflags(1) # package maintainers to append CFLAGS #export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic # package maintainers to append LDFLAGS #export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed # Neon always available on arm64, not armcomputelib on non-arm arches ifeq ($(DEB_HOST_ARCH),arm64) OPTS+=-DARMCOMPUTENEON=1 -DARMCOMPUTECL=1 -DARMCOMPUTE_LIBRARIES='arm_compute' endif ifeq ($(DEB_HOST_ARCH),armhf) OPTS+=-DARMCOMPUTECL=1 -DARMCOMPUTE_LIBRARIES='arm_compute' endif ifeq ($(DEB_HOST_ARCH),amd64) OPTS+=-DARMCOMPUTECL=1 -DARMCOMPUTE_LIBRARIES='arm_compute' endif PYTHON_INCLUDE_DIR=$(shell python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") PYTHON_LIBRARY=$(shell python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))") export _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__${DEB_HOST_MULTIARCH} export _PYTHON_HOST_PLATFORM=${DEB_HOST_ARCH_OS}-$(if $(filter amd64,${DEB_HOST_ARCH}),x86_64,${DEB_HOST_ARCH}) %: dh $@ --with python3 --buildsystem=cmake --builddirectory=build-area override_dh_auto_configure: flatc -c --gen-object-api --reflect-types --reflect-names -o $(CURDIR)/third-party/tensorflow/lite/schema/ $(CURDIR)/third-party/tensorflow/lite/schema/schema.fbs dh_auto_configure -- $(OPTS) -DBUILD_TESTS=1 \ -DSHARED_BOOST=ON \ -DARMNNREF=0 \ -DBUILD_ARMNN_SERIALIZER=1 \ -DBUILD_TF_LITE_PARSER=1 \ -DTENSORFLOW_ROOT=$(CURDIR)/third-party/ \ -DTF_LITE_SCHEMA_INCLUDE_PATH=$(CURDIR)/third-party/tensorflow/lite/schema/ \ -DTF_LITE_GENERATED_PATH=$(CURDIR)/third-party/tensorflow \ -DPYTHON_INCLUDE_DIR=$(PYTHON_INCLUDE_DIR) \ -DPYTHON_LIBRARY=$(PYTHON_LIBRARY) \ -DBUILD_PYTHON_SRC=ON \ -DSWIG_EXECUTABLE=/usr/bin/swig \ -DBUILD_GATORD_MOCK=0 \ -DDYNAMIC_BACKEND_PATHS='/usr/lib/$(DEB_HOST_MULTIARCH)/armnn33/' execute_after_dh_install: #Something is putting RUNPATH in the SWIG libraries. Kill it. chrpath -d debian/python3-pyarmnn/usr/lib/python3/dist-packages/pyarmnn/_generated/*.so override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) # CpuRef backend built on all archs cp ./build-area/src/backends/reference/Arm_CpuRef_backend.so . # CpuAcc and GpuAcc backends only built on arm64 or armhf cp ./build-area/src/backends/cl/Arm_GpuAcc_backend.so . || true cp ./build-area/src/backends/neon/Arm_CpuAcc_backend.so . || true ./build-area/UnitTests --test-suite-exclude=Compute_ArmComputeCl,MemCopyClNeon,CreateWorkloadCl,ClEndToEnd,ClLayerSupport,ClOptimizedNetwork,ClJsonPrinter,ClRuntime,Fp16Support,OpenClTimerBatchNorm,ClMemCopy,SendTimelinePacketTests,TimelinePacketTests,TimelineUtilityMethodsTests,Optimizer,Optimizer_ReduceMultipleAxesCpu,Optimizer_ReduceMultipleAxesGpu,Optimizer_FoldPadIntoQuantizedAvgPoolGpuAcc --test-case-exclude=OptimizeValidateWorkloadsDuplicateComputeDeviceWithFallback,DumpOutgoingValidFileEndToEnd endif