#!/usr/bin/make -f

export PATH:=$(PATH):/usr/lib/wine-development/:/usr/lib/wine/

ARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

JOBS="-j8"

ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes) $(DEB_HOST_ARCH), yes i386)
   skip_packages = -Ncarla -Ncarla-lv2 -Ncarla-vst
endif

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
CXXFLAGS += -fpermissive

export WINECC=/usr/lib/wine/winegcc

%:
	dh $@

override_dh_auto_clean:
	$(MAKE) distclean
	find . -name .libmagic-tmp -delete

override_dh_auto_configure:
	dh_auto_configure
	$(MAKE) features

override_dh_auto_build:
	$(MAKE) $(JOBS)

ifeq ($(ARCH),amd64)
	make $(JOBS) posix64 wine64
	env CFLAGS="" CPPFLAGS="" CXXFLAGS="" LDFLAGS="" \
		make $(JOBS) win64 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++
endif

ifeq ($(ARCH),i386)
	make $(JOBS) posix32 wine32
	env CFLAGS="" CPPFLAGS="" CXXFLAGS="" LDFLAGS="" \
		make $(JOBS) win32 CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++
endif

override_dh_auto_install:
	dh_auto_install -- PREFIX=/usr
	# Move pkgconfigs to multi-arch directory
	mkdir -p debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/
	mv debian/tmp/usr/lib/pkgconfig/carla-native-plugin.pc \
		debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/carla-native-plugin.pc
	mv debian/tmp/usr/lib/pkgconfig/carla-standalone.pc \
		debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/carla-standalone.pc
	mv debian/tmp/usr/lib/pkgconfig/carla-utils.pc \
		debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/carla-utils.pc
	mv debian/tmp/usr/lib/pkgconfig/carla-host-plugin.pc \
		debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/carla-host-plugin.pc

override_dh_install:
	dh_install
	if [ -e debian/carla/usr/lib/carla/carla-bridge-posix* ]; then \
		rm debian/carla/usr/lib/carla/carla-bridge-posix*; \
	fi
	if [ -e debian/carla/usr/lib/carla/carla-discovery-posix* ]; then \
		rm debian/carla/usr/lib/carla/carla-discovery-posix*; \
	fi
	if [ -e debian/carla/usr/lib/carla/*.exe* ]; then \
		rm debian/carla/usr/lib/carla/*.exe*; \
	fi
	if [ -e debian/carla/usr/lib/carla/jackbridge-wine*.dll ]; then \
		rm debian/carla/usr/lib/carla/jackbridge-wine*.dll; \
	fi
	if [ -e debian/carla-vst/usr/lib/vst/carla.vst/*.exe* ]; then \
		rm debian/carla-vst/usr/lib/vst/carla.vst/*.exe*; \
	fi
	if [ -e debian/carla-vst/usr/lib/vst/carla.vst/carla-bridge-posix* ]; then \
		rm debian/carla-vst/usr/lib/vst/carla.vst/carla-bridge-posix*; \
	fi
	if [ -e debian/carla-vst/usr/lib/vst/carla.vst/carla-discovery-posix* ]; then \
		rm debian/carla-vst/usr/lib/vst/carla.vst/carla-discovery-posix*; \
	fi
	if [ -e debian/carla-vst/usr/lib/vst/carla.vst/jackbridge-wine*.dll ]; then \
		rm debian/carla-vst/usr/lib/vst/carla.vst/jackbridge-wine*.dll; \
	fi
	if [ -e debian/carla-lv2/usr/lib/lv2/carla.lv2/*.exe* ]; then \
		rm debian/carla-lv2/usr/lib/lv2/carla.lv2/*.exe*; \
	fi
	if [ -e debian/carla-lv2/usr/lib/lv2/carla.lv2/carla-bridge-posix* ]; then \
		rm debian/carla-lv2/usr/lib/lv2/carla.lv2/carla-bridge-posix*; \
	fi
	if [ -e debian/carla-lv2/usr/lib/lv2/carla.lv2/carla-discovery-posix* ]; then \
		rm debian/carla-lv2/usr/lib/lv2/carla.lv2/carla-discovery-posix*; \
	fi
	if [ -e debian/carla-lv2/usr/lib/lv2/carla.lv2/jackbridge-wine*.dll ]; then \
		rm debian/carla-lv2/usr/lib/lv2/carla.lv2/jackbridge-wine*.dll; \
	fi

override_dh_missing:
	dh_missing --fail-missing

override_dh_shlibdeps:
	env LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/x86_64-linux-gnu/wine-development:/usr/lib/x86_64-linux-gnu/wine:/usr/lib/i386-linux-gnu/wine-development:/usr/lib/i386-linux-gnu/wine dh_shlibdeps

override_dh_builddeb:
	dh_builddeb $(skip_packages)

override_dh_gencontrol:
	dh_gencontrol $(skip_packages)
