#!/usr/bin/make -f

export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed

export DEB_BUILD_OPTIONS=nocheck

ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)

ifeq ($(ARCH), armhf)
    GLES_ENABLE = -DUSING_GLES2=ON -DUSING_EGL=ON
    # See issue #7817
    #export CC=clang
    #export CXX=clang++
else ifeq ($(ARCH), arm64)
    GLES_ENABLE = -DUSING_GLES2=ON -DUSING_EGL=ON
endif

COMMON_FLAGS = -DUSE_FFMPEG=ON -DUSE_SYSTEM_FFMPEG=OFF -DUSE_SYSTEM_LIBZIP=ON -DUSE_DISCORD=ON -DUSE_WAYLAND_WSI=ON


checkver = $(shell dpkg --compare-versions "$$(dpkg-query --show --showformat '$${Version}' '$(1)')" ge '$(2)' && echo yes || echo no)

ifeq (yes, $(call checkver,libsnappy-dev,1.1.8))
    COMMON_FLAGS += -DUSE_SYSTEM_SNAPPY=ON
endif
#ifeq (yes, $(call checkver,libzip-dev,1.7.3))
#    COMMON_FLAGS += -DUSE_SYSTEM_LIBZIP=ON
#endif
ifeq (yes, $(call checkver,libzstd-dev,1.5.6))
    COMMON_FLAGS += -DUSE_SYSTEM_ZSTD=ON
endif
ifeq (yes, $(call checkver,libminiupnpc-dev,2.2.7))
    COMMON_FLAGS += -DUSE_SYSTEM_MINIUPNPC=ON
endif



%:
	dh $@ --buildsystem=cmake --parallel

override_dh_auto_configure:
ifeq ($(ARCH), i386)
	cd ffmpeg && ./linux_x86.sh
else ifeq ($(ARCH), amd64)
	cd ffmpeg && ./linux_x86-64.sh
else ifeq ($(ARCH), armhf)
	cd ffmpeg && ./linux_armhf.sh
else ifeq ($(ARCH), arm64)
	cd ffmpeg && ./linux_arm64.sh
else ifeq ($(ARCH), riscv64)
	cd ffmpeg && ./linux_riscv64.sh
else ifeq ($(ARCH), loong64)
	cd ffmpeg && ./linux_loongarch64.sh
else ifeq ($(ARCH), mips64el)
	cd ffmpeg && ./linux_mips64.sh
else
	@echo "Unknown ARCH: $(ARCH)"
endif
	dh_auto_configure $@ --builddirectory=obj_sdl -- $(GLES_ENABLE) $(COMMON_FLAGS)

override_dh_auto_build:
	dh_auto_build $@ --builddirectory=obj_sdl

override_dh_auto_install:
	dh_auto_install $@ --builddirectory=obj_sdl

#override_dh_auto_test:
#	dh_auto_test $@ --builddirectory=obj_sdl

override_dh_auto_clean:
	dh_auto_clean $@ --builddirectory=obj_sdl

#override_dh_strip:
#	dh_strip -pppsspp --dbg-package=ppsspp-dbg
#	dh_strip -pppsspp-sdl --dbg-package=ppsspp-sdl-dbg
