#!/usr/bin/make -f

export DEB_CFLAGS_MAINT_STRIP = -fstack-protector-strong -fcf-protection=full

# Prefer gcc-4.5, then 4.7, then 4.9 - otherwise fallback to gcc.
export CC = $(shell for _cc in gcc-4.5 gcc-4.7 gcc-4.9 gcc false; do \
		if which "$$_cc" >/dev/null 2>&1; then echo "$$_cc"; break; fi; done)

# export CC = gcc -fcf-protection=none -fno-stack-protector

%:
	dh $@ --parallel

override_dh_auto_configure:
	# Run configure
ifeq ($(DEB_BUILD_ARCH), amd64)
	./configure --prefix=/opt/wine-devel \
				--libdir=\$${prefix}/lib64 \
				--mandir=\$${prefix}/share/man \
				--infodir=\$${prefix}/share/info \
				--enable-win64 \
				--disable-tests \
				--with-gstreamer \

				$(CONFFLAGS)
else
	./configure --prefix=/opt/wine-devel \
				--libdir=\$${prefix}/lib \
				--mandir=\$${prefix}/share/man \
				--infodir=\$${prefix}/share/info \
				--disable-tests \
				--with-gstreamer \

				$(CONFFLAGS)
endif


override_dh_auto_test:
	# Wine's test suite does not pass on build daemons, skip it for now


override_dh_installdocs:
	dh_installdocs --link-doc=wine-devel


override_dh_install:
	dh_install --fail-missing

	# These files will end up in multiple packages otherwise
	rm -f debian/wine-devel/opt/wine-devel/bin/wine
	rm -f debian/wine-devel/opt/wine-devel/bin/wine-preloader
	rm -f debian/wine-devel/opt/wine-devel/bin/wine64
	rm -f debian/wine-devel/opt/wine-devel/bin/wine64-preloader

	# Compat symlinks for bindir
	mkdir -p debian/winehq-devel/usr/bin
	for _file in $$(ls "debian/wine-devel/opt/wine-devel/bin"); do \
		ln -s "/opt/wine-devel/bin/$$_file" "debian/winehq-devel/usr/bin/$$_file"; \
	done
	for _file in wine wine-preloader; do \
		ln -s "/opt/wine-devel/bin/$$_file" "debian/winehq-devel/usr/bin/$$_file"; \
	done
ifeq ($(DEB_HOST_ARCH),amd64)
	for _file in wine64 wine64-preloader; do \
		ln -s "/opt/wine-devel/bin/$$_file" "debian/winehq-devel/usr/bin/$$_file"; \
	done
endif

	# Compat symlinks for desktop file
	mkdir -p "debian/winehq-devel/usr/share/applications"
	for _file in $$(ls "debian/wine-devel/opt/wine-devel/share/applications"); do \
		ln -s "/opt/wine-devel/share/applications/$$_file" "debian/winehq-devel/usr/share/applications/$$_file"; \
	done

	# Compat manpages
	for _dir in man1 de.UTF-8/man1 fr.UTF-8/man1 pl.UTF-8/man1; do \
		mkdir -p "debian/winehq-devel/usr/share/man/$$_dir"; \
		if [ -d "debian/wine-devel/opt/wine-devel/share/man/$$_dir" ]; then \
			for _file in $$(ls "debian/wine-devel/opt/wine-devel/share/man/$$_dir"); do \
				ln -s "/opt/wine-devel/share/man/$$_dir/$$_file" "debian/winehq-devel/usr/share/man/$$_dir/$$_file"; \
			done; \
		fi; \
		ln -s "/opt/wine-devel/share/man/$$_dir/wine.1" "debian/winehq-devel/usr/share/man/$$_dir/wine.1"; \
	done

	# Generate list of recommendations
# ifeq ($(DEB_HOST_ARCH),amd64)
# 	./debian/recommendations.sh "-m64" "include/config.h" "debian/wine-devel-amd64.substvars"
# else
# 	./debian/recommendations.sh "-m32" "include/config.h" "debian/wine-devel-i386.substvars"
# endif


override_dh_strip:
	dh_strip -Xwine-pthread -Xwine-kthread --dbg-package=wine-devel-dbg


override_dh_shlibdeps:
ifeq ($(DEB_HOST_ARCH),amd64)
	dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-devel/lib64/
else
	dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-devel/lib/
endif
