#!/usr/bin/make -f

export BUILDER=./Setup

# -j1 is used for reproducible build
export BUILDEROPTIONS=-j1

# Reduce optimisation on armhf and armel to avoid running out of
# memory.  Passing -O1 to ghc causes it to pass -O2 to llc.  We can't
# simply use ghc's -optlc to pass -O2 to llc, because when we don't
# pass -O1 to ghc, it will pass an -O3 to llc, overriding our -optlc
# attempt.  See definition of runPhase in
# compiler/main/DriverPipeline.hs in ghc source
DEB_HOST_ARCH?=$(shell dpkg-architecture -qDEB_HOST_ARCH)
ifneq (,$(filter armel,$(DEB_HOST_ARCH)))
export BUILDEROPTIONS:=$(BUILDEROPTIONS) --ghc-option=-O1
endif
ifneq (,$(filter armhf,$(DEB_HOST_ARCH)))
export BUILDEROPTIONS:=$(BUILDEROPTIONS) --ghc-option=-O1
endif

STANDALONE_BUILD=$(shell grep -qe '^Package: git-annex-standalone' debian/control \
                         && echo 1 || echo 0)

# Do use the changelog's version number, rather than making one up.
export RELEASE_BUILD=1

%:
	dh $@


# Standalone build logic/helpers
ifeq ($(STANDALONE_BUILD),1)

override_dh_auto_build:
	make linuxstandalone GIT_ANNEX_PACKAGE_INSTALL=1

override_dh_auto_install:
	make install-misc install-docs DESTDIR=debian/git-annex-standalone
	# bins are linked into place, as instructed in debian/install and debian/links

override_dh_fixperms:
	dh_fixperms -Xld-linux

# gdb can't do much with a haskell program, so avoid the debug package
override_dh_strip:
	dh_strip --no-ddebs

# Do not add "ldconfig" trigger since all libraries in the standalone build
# are private copies and the trigger activate-noawait trigger may not work
# on elderly distributions (e.g. squeeze)
override_dh_makeshlibs:
	dh_makeshlibs --noscripts

endif
