#!/usr/bin/make -f

LC_ALL:=C
export LC_ALL

DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

MUSL=$(DEB_HOST_GNU_CPU)-linux-musl
ifneq (,$(findstring armel,$(DEB_HOST_ARCH)))
MUSL=arm-linux-musleabi
endif
ifneq (,$(findstring armhf,$(DEB_HOST_ARCH)))
MUSL=arm-linux-musleabihf
endif
ifeq ($(DEB_HOST_ARCH_CPU),i386)
MUSL=i386-linux-musl
endif

build-indep:

build-arch: debian/.build_stamp

debian/.build_stamp:
	dh_testdir
	-rm -f $@
	sh debian/meat && :>$@
	test -e $@

clean:
	dh_testdir
	dh_clean
	-rm -rf builddir
	-rm -rf debian/.*_stamp

binary-indep: build-indep

binary-arch: build-arch
	dh_testdir
	if test -x "$$(which dh_prep)"; then dh_prep -a; else dh_clean -a -k; fi
	cat builddir/substvars >>debian/mksh.substvars
	dh_installchangelogs -a
	dh_installdocs -a
	# we install this already, except with more information
	rm -f debian/mksh/usr/share/doc/mksh/README.Debian
	cp builddir/README.Debian.gz debian/mksh/usr/share/doc/mksh/
	dh_installexamples -a
	dh_install -a
	if test -e builddir/static-klibc/mksh; then \
	    mkdir -p debian/mksh/usr/lib/klibc/bin && \
	    cp builddir/static-klibc/mksh debian/mksh/usr/lib/klibc/bin/; \
	fi
	if test -e builddir/static-dietlibc/mksh; then \
	    mkdir -p debian/mksh/usr/lib/diet/bin && \
	    cp builddir/static-dietlibc/mksh debian/mksh/usr/lib/diet/bin/; \
	fi
	if test -e builddir/static-musl/mksh; then \
	    mkdir -p debian/mksh/usr/lib/${MUSL}/bin && \
	    cp builddir/static-musl/mksh debian/mksh/usr/lib/${MUSL}/bin/; \
	fi
	case $$(cat builddir/which_static) in \
	(klibc) ln -sf /usr/lib/klibc/bin/mksh debian/mksh/bin/mksh-static ;; \
	(diet*) ln -sf /usr/lib/diet/bin/mksh debian/mksh/bin/mksh-static ;; \
	(musl) ln -sf /usr/lib/${MUSL}/bin/mksh debian/mksh/bin/mksh-static ;; \
	(glibc) cp builddir/static-glibc/mksh debian/mksh/bin/mksh-static ;; \
	(*) echo cannot happen; exit 1 ;; \
	esac
	cp -a dot.mkshrc debian/mksh/etc/mkshrc
	dh_installmenu -a
	dh_installman -a
	mkdir -p debian/mksh/usr/share/lintian/overrides
	cp -a debian/mksh.lintian \
	    debian/mksh/usr/share/lintian/overrides/mksh
	dh_link -a
	dh_strip -a
	dh_compress -a
	ln -sf mksh.1.gz debian/mksh/usr/share/man/man1/mksh-static.1.gz
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a
	#-
	gzip -d <builddir/README.Debian.gz | sed \
	    -e '1,/^Details/d' -e '/^Actual/d' -e '/^]/d'

build: build-arch build-indep
binary: binary-indep binary-arch
.PHONY: binary binary-arch binary-indep build build-arch build-indep clean
