#!/usr/bin/make -f

ifneq (,$(findstring parallel=,$(DEB_BUILD_OPTIONS)))
	NCPUS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
else
	NCPUS := $(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1)
	ifeq ($(NCPUS),-1)
		NCPUS:=1
	endif
	ifeq ($(NCPUS),0)
		NCPUS:=1
	endif
endif

CMAKE_SYSTEM_PROCESSOR = $(shell dpkg-architecture -qDEB_BUILD_ARCH)

CONFIGURE_OPTIONS = -DUSE_EXTERNAL_LIBASS=true \
		-DUSE_EXTERNAL_LIBA52=true \
		-DUSE_EXTERNAL_LIBMAD=true \
		-DUSE_EXTERNAL_MP4V2=false \
		-DENABLE_QT5=True \
		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
		-DVAPOURSYNTH=OFF

##-DCMAKE_CONFIG_RUNTIME_CPUDETECT=False

# git clone https://github.com/mean00/avidemux2_i18n avidemux/qt4/i18n/
# rm -rf avidemux/qt4/i18n/.git

FFMPEG_VERSION = $(shell grep FFMPEG_VERSION cmake/admFFmpegVersion.cmake | cut -d'"' -f2)

ifneq "$(FFMPEG_VERSION)" "4.4.2"
	exit 1
endif

LOCAL_FFMPEG = 4-4-4

export QT_SELECT=5

# ninja doesn't work 04/04/2023

%:
	dh $@ -Scmake --with quilt -X.h -X.cmake

override_dh_auto_configure:
	mkdir -p buildCore/ffmpeg/build
	mkdir buildCore/ffmpeg/source
	touch buildCore/ffmpeg/ffmpeg-$(FFMPEG_VERSION).tar.bz2
	touch avidemux_core/ffmpeg_package/ffmpeg-$(FFMPEG_VERSION).tar.bz2
	cp -r ffmpeg-$(LOCAL_FFMPEG)/* buildCore/ffmpeg/source

	CFLAGS="$(CFLAGS)" dh_auto_configure -BbuildCore -Davidemux_core -- \
	$(CONFIGURE_OPTIONS) -Wno-dev

#	exit 1

	cd buildCore && $(MAKE) -j $(NCPUS)
	dh_auto_install -BbuildCore

#	exit 1

	CFLAGS="$(CFLAGS)" dh_auto_configure -BbuildQt5 -Davidemux/qt4 -- \
	-DFAKEROOT=$(CURDIR)/debian/tmp $(CONFIGURE_OPTIONS) -Wno-dev

	dh_auto_build -BbuildQt5
	dh_auto_install -BbuildQt5

	CFLAGS="$(CFLAGS)" dh_auto_configure -BbuildPluginsCommon -Davidemux_plugins -- \
	-DFAKEROOT=$(CURDIR)/debian/tmp $(CONFIGURE_OPTIONS) \
	-DAVIDEMUX_SOURCE_DIR=$(CURDIR) -DPLUGIN_UI=COMMON -Wno-dev

	dh_auto_build -BbuildPluginsCommon
	dh_auto_install -BbuildPluginsCommon

	CFLAGS="$(CFLAGS)" dh_auto_configure -BbuildCli -Davidemux/cli -- \
	-DFAKEROOT=$(CURDIR)/debian/tmp $(CONFIGURE_OPTIONS) -Wno-dev

	dh_auto_build -BbuildCli
	dh_auto_install -BbuildCli

	CFLAGS="$(CFLAGS)" dh_auto_configure -BbuildPluginsQt5 -Davidemux_plugins -- \
	-DFAKEROOT=$(CURDIR)/debian/tmp $(CONFIGURE_OPTIONS) \
	-DAVIDEMUX_SOURCE_DIR=$(CURDIR) -DPLUGIN_UI=QT4 -Wno-dev

	dh_auto_build -BbuildPluginsQt5
	dh_auto_install -BbuildPluginsQt5

	CFLAGS="$(CFLAGS)" dh_auto_configure -BbuildPluginsCLI -Davidemux_plugins -- \
	-DFAKEROOT=$(CURDIR)/debian/tmp $(CONFIGURE_OPTIONS) \
	-DAVIDEMUX_SOURCE_DIR=$(CURDIR) -DPLUGIN_UI=CLI -Wno-dev

	dh_auto_build -BbuildPluginsCLI
	dh_auto_install -BbuildPluginsCLI

override_dh_install:
	rm -rf debian/tmp/usr/lib/ADM_plugins6/shaderDemo/
	rm -rf debian/tmp/usr/include/avidemux

	dh_install

override_dh_auto_clean:
	dh_auto_clean -BbuildCore
	dh_auto_clean -BbuildQt5
	dh_auto_clean -BbuildCli
	dh_auto_clean -BbuildPluginsCommon
	dh_auto_clean -BbuildPluginsQt5
	dh_auto_clean -BbuildPluginsCLI

override_dh_clean:
	dh_clean addons/avisynthproxy/avsproxy.exe avidemux/winInstaller/plugin/UAC.dll \
	avidemux_plugins/ADM_demuxers/NativeAvisynth/AviSynth.dll \
	avidemux/qt4/xdg_data/org.avidemux.Avidemux.appdata.xml \
	avidemux/qt4/common avidemux_core/ffmpeg_package/ffmpeg-$(FFMPEG_VERSION).tar.bz2 \
	avidemux_plugins/ADM_videoFilters6/avsfilter/avsload_pipe_binary.tar.bz2

override_dh_makeshlibs:
	dh_makeshlibs -a -V

# uncomment to debug avidemux
#override_dh_strip:

override_dh_prep override_dh_auto_build override_dh_auto_install override_dh_auto_test:
