#!/usr/bin/make -f

include /usr/share/dpkg/default.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

RPCS3_VERSION_FILE = rpcs3/git-version.h
define RPCS3_VERSION
// debian build generated
#define RPCS3_GIT_VERSION "$(DEB_VERSION)"
#define RPCS3_GIT_BRANCH "debian"
#define RPCS3_GIT_FULL_BRANCH "local_build"
#define RPCS3_GIT_VERSION_NO_UPDATE 1
endef
export RPCS3_VERSION

# MUT src-dst pairs
MOD_GLSLANG    = mod-glslang/*    3rdparty/glslang/glslang
MOD_SOUNDTOUCH = mod-soundtouch/* 3rdparty/SoundTouch/soundtouch
MOD_WOLFSSL    = mod-wolfssl/*    3rdparty/wolfssl/wolfssl
# dirs to mk first (empty import, deleted on git)
3P_DIRS = \
	3rdparty/glslang/glslang \
	3rdparty/wolfssl/wolfssl \
	3rdparty/SoundTouch/soundtouch

%:
	dh $@ --buildsystem=cmake+ninja

override_dh_auto_configure:
	# backup this configured file
	(test ! -f debian/NP2_gen.h && cp rpcs3/Emu/NP/generated/np2_structs_generated.h debian/NP2_gen.h) || true
	# dump version header
	echo "$$RPCS3_VERSION" > $(RPCS3_VERSION_FILE)
	mkdir -pv $(3P_DIRS)
	cp -a $(MOD_GLSLANG)
	cp -a $(MOD_SOUNDTOUCH)
	cp -a $(MOD_WOLFSSL)
	dh_auto_configure -- \
		-DUSE_DISCORD_RPC=ON \
		-DUSE_SYSTEM_CUBEB=ON \
		-DUSE_SYSTEM_FAUDIO=ON \
		-DUSE_SYSTEM_FFMPEG=ON \
		-DUSE_SYSTEM_FLATBUFFERS=ON \
		-DUSE_SYSTEM_GLSLANG=OFF \
		-DUSE_SYSTEM_HIDAPI=ON \
		-DUSE_SYSTEM_LIBPNG=ON \
		-DUSE_SYSTEM_LIBUSB=ON \
		-DUSE_SYSTEM_MINIUPNPC=ON \
		-DUSE_SYSTEM_OPENAL=ON \
		-DUSE_SYSTEM_PUGIXML=ON \
		-DUSE_SYSTEM_SDL=ON \
		-DUSE_SYSTEM_VULKAN_MEMORY_ALLOCATOR=ON \
		-DUSE_SYSTEM_WOLFSSL=OFF \
		-DUSE_SYSTEM_ZSTD=ON \
		-DWC_NO_HARDEN=1

override_dh_auto_clean:
	dh_auto_clean
	(test -f debian/NP2_gen.h && cp debian/NP2_gen.h rpcs3/Emu/NP/generated/np2_structs_generated.h) || true
	rm -fv $(RPCS3_VERSION_FILE)
	rm -rf  ./$(filter 3rdparty/%,$(MOD_GLSLANG))/* \
		./$(filter 3rdparty/%,$(MOD_SOUNDTOUCH))/* \
		./$(filter 3rdparty/%,$(MOD_WOLFSSL))/*

override_dh_auto_test:
