#!/usr/bin/make -f

# That's needed for DEB_VERSION_UPSTREAM
-include /usr/share/dpkg/pkg-info.mk
# That's needed for DEB_HOST_MULTIARCH
-include /usr/share/dpkg/architecture.mk

export DEB_CFLAGS_MAINT_APPEND = $(shell dpkg-buildflags --get CPPFLAGS)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# Convenience shortcuts
MA_DESTDIR ?= debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
MA_DEV_DESTDIR ?= debian/libjim-dev/usr/lib/$(DEB_HOST_MULTIARCH)

HELP2MAN_ENV = \
	PATH=$(CURDIR)/debian/tmp/usr/bin:$$PATH \
	LD_LIBRARY_PATH=$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)

mandir := $(CURDIR)/debian/jimsh/usr/share/man/man1

%:
	dh $@

# jimsh0.c is removed from source for DFSG reasons, build it from `make-bootstrap-jim`
autosetup/jimsh0.c: make-bootstrap-jim
	./$< > $@

override_dh_autoreconf:
	# Do not run autoreconf, it is not used

override_dh_auto_configure: autosetup/jimsh0.c
	dh_auto_configure --builddirectory=static/ --
	dh_auto_configure --builddirectory=shared/ -- --shared

override_dh_auto_build:
	dh_auto_build --builddirectory=static/
	dh_auto_build --builddirectory=shared/

override_dh_auto_test:
	dh_auto_test --builddirectory=static/
	dh_auto_test --builddirectory=shared/

override_dh_auto_install:
	dh_auto_install --builddirectory=static/
	dh_auto_install --builddirectory=shared/
	mkdir -p $(mandir)
ifneq ($(filter nodoc,$(DEB_BUILD_OPTIONS)),)
        echo "Skipping manpage generation"
else
ifeq ($(DEB_HOST_GNU_TYPE), $(DEB_BUILD_GNU_TYPE))
	cd $(CURDIR)/debian/tmp/usr/bin && \
	$(HELP2MAN_ENV) help2man jimsh \
            --name="small-footprint implementation of Tcl named Jim" \
            --version-string=$(DEB_VERSION_UPSTREAM) \
	    --no-info \
            > $(mandir)/jimsh.1
	perl -0pi \
            -e 's#(jimsh version $(DEB_VERSION_UPSTREAM))#$$1\n\nUsage: jimsh#' \
            $(mandir)/jimsh.1

	$(HELP2MAN_ENV) help2man debian/jimdb \
            --name="Jim Tcl debugger v1.0" \
            --version-string=$(DEB_VERSION_UPSTREAM) \
	    --no-info \
            > $(mandir)/jimdb.1

else
        install -m 644 $(CURDIR)/debian/manpage/jimsh.1 $(mandir)
        install -m 644 $(CURDIR)/debian/manpage/jimdb.1 $(mandir)
endif
endif

override_dh_install:
	dh_install
	set -e; rootdir=`pwd` ;\
	cd ${MA_DESTDIR}; libfile=`ls *.so.*`; cd $${rootdir};\
	cd ${MA_DEV_DESTDIR}; ln -sf $${libfile} libjim.so

override_dh_missing:
	dh_missing --list-missing

override_dh_auto_clean:
	dh_auto_clean
	rm -f autosetup/jimsh0.c
	rm -f libjim.so*
	rm -f tests/exec.tmp1
	rm -Rf static/
	rm -Rf shared/
