#!/usr/bin/make -f
#export DH_VERBOSE = 1

export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-format

export DEB_CFLAGS_MAINT_APPEND  = -Wformat -Werror=format-security -Wno-error=maybe-uninitialized
export DEB_LDFLAGS_MAINT_APPEND =

export BUILD_VERBOSE = 1

export CFLAGS_EXTRA := $(CPPFLAGS) $(CFLAGS)
export LDFLAGS_EXTRA := $(LDFLAGS)

CONFIGPORT := STRIP=true MICROPY_PY_BTREE=0 MICROPY_SSL_AXTLS=0 MICROPY_SSL_MBEDTLS=1 MICROPY_PY_JNI=1

include /usr/share/dpkg/architecture.mk

HAVE_NATIVE :=
ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 armhf armel))
  HAVE_NATIVE := 1
endif

# https://github.com/micropython/micropython/issues/6750
SKIP_TESTS := ussl_basic urandom_basic import_pkg7 string_format_error
ifneq ($(DEB_HOST_ARCH),amd64)
  SKIP_TESTS += mpy_native
endif

SKIP_TESTS_ARGS := -e '(?:$(subst $(eval) ,|,$(SKIP_TESTS)))'


%:
	dh $@ --with sphinxdoc

%-arch:
	dh $@

%-indep:
	dh $@ --with sphinxdoc

clean:
	dh $@

override_dh_auto_clean-arch:
	dh_auto_clean -a --sourcedirectory=ports/unix/
	+$(MAKE) -C mpy-cross clean
	rm -rf py/__pycache__

override_dh_auto_clean-indep:
	-dh_auto_clean -i --sourcedirectory=docs/

override_dh_auto_configure-arch:
	dh_auto_build -a --sourcedirectory=mpy-cross/

override_dh_auto_build-arch:
	dh_auto_build -a --sourcedirectory=ports/unix/ -- $(CONFIGPORT)

override_dh_auto_build-indep: docs/build/html/

docs/build/html/: docs/conf.py $(wildcard docs/*.rst docs/*/*.rst docs/*/*/*.rst)
	python3 -m sphinx docs/ $@

override_dh_auto_test-arch:
	dh_auto_test -a --sourcedirectory=ports/unix/ -- $(CONFIGPORT) TESTS_ARGS="$(SKIP_TESTS_ARGS)"
	dh_auto_test -a --sourcedirectory=ports/unix/ -- $(CONFIGPORT) TESTS_ARGS="-d thread jni"
ifdef HAVE_NATIVE
	dh_auto_test -a --sourcedirectory=ports/unix/ -- $(CONFIGPORT) TESTS_ARGS="--emit native $(SKIP_TESTS_ARGS)"
endif
	dh_auto_test -a --sourcedirectory=ports/unix/ -- $(CONFIGPORT) TESTS_ARGS="--via-mpy -d basics float micropython $(SKIP_TESTS_ARGS)"
ifdef HAVE_NATIVE
	dh_auto_test -a --sourcedirectory=ports/unix/ -- $(CONFIGPORT) TESTS_ARGS="--via-mpy --emit native -d basics float micropython $(SKIP_TESTS_ARGS)"
endif

override_dh_auto_install-arch:
	dh_auto_install -a --sourcedirectory=ports/unix/ -- PREFIX=/usr $(CONFIGPORT)
