#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

DEB_SCONS_OPTIONS :=
ifneq (,$(filter debug,$(DEB_BUILD_OPTIONS)))
	DEB_SCONS_OPTIONS := --d=DEBUGBUILD
endif

ifeq (,$(filter nodbgsym,$(DEB_BUILD_OPTIONS)))
       DEB_SCONS_OPTIONS += --nostrip
endif

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
       PROCS=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
       DEB_SCONS_OPTIONS += -j$(PROCS)
endif

COMMON_OPTIONS = --use-system-all --ssl $(DEB_SCONS_OPTIONS)

gperftools_archs = amd64 i386 armhf ppc64el
ifneq (,$(filter $(DEB_HOST_ARCH), $(gperftools_archs)))
COMMON_OPTIONS += --allocator=tcmalloc
else
COMMON_OPTIONS += --allocator=system
endif

no_v8_archs = arm64
ifneq (,$(filter $(DEB_HOST_ARCH), $(no_v8_archs)))
COMMON_OPTIONS += --disable-scripting
endif

override_dh_auto_clean:
	scons --keep-going --clean $(COMMON_OPTIONS) .

override_dh_auto_build:
	scons $(COMMON_OPTIONS) core tools

ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
override_dh_auto_test:
	scons $(COMMON_OPTIONS) \
		--smokedbprefix=$(CURDIR)/debian/tmp-test \
		test unittests moduletests smoke
.PHONY: override_dh_auto_test
endif

override_dh_auto_install:
	scons $(COMMON_OPTIONS) --prefix=$(CURDIR)/debian/tmp/usr install

override_dh_systemd_enable:
	dh_systemd_enable -pmongodb-server --name=mongodb

override_dh_installinit:
	dh_installinit -pmongodb-server --name=mongodb

override_dh_install:
	dh_install --list-missing
ifneq (,$(filter $(DEB_HOST_ARCH), $(no_v8_archs)))
	# mongo shell is broken without scripting so drop it from
	# the binary
	rm -f $(CURDIR)/tmp/mongodb-clients/usr/bin/mongo
endif

%:
	dh $@ --parallel --with=systemd

.PHONY: override_dh_auto_clean override_dh_auto_build \
	override_dh_auto_install override_dh_installinit \
	override_dh_systemd_enable override_dh_install
