#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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


# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

# Pike versions
PIKE76=pike7.6
PIKE76_VERSION=$(shell $(PIKE76) -e 'string v; int rel;sscanf(version(), "Pike v%s release %d", v, rel); write(v+"."+rel);')
PIKE76_MODULES_PATH=$(shell $(PIKE76) -x module --query=system_module_path)
PIKE76_SHARE_MODULES_PATH=$(subst /usr/lib,/usr/share,$(PIKE76_MODULES_PATH))
PIKE76_CHANGELOG=/usr/share/doc/$(PIKE76)/changelog.Debian.gz
PIKE76_DEBIAN_VER=$(shell gunzip -c ${PIKE76_CHANGELOG} | head -1 | sed -e 's/\(.*(\)\(.*\)\().*\)/\2/')
PIKE76_DEBIAN_VER2=$(shell echo $(PIKE76_DEBIAN_VER) | sed -e 's/\(.*\)\(-.*\)/\1/')

# Pike modules section
PIKE_MODULE_FILE_BASENAME=Syslog
PIKE_MODULE_SO_NAME=
PIKE_MODULE_NAMESPACE=Public.Protocols.
PIKE_MODULE_FULL_NAME=$(PIKE_MODULE_NAMESPACE).$(PIKE_MODULE_FILE_BASENAME)
PIKE_MODULE_SUBDIR=$(subst .,.pmod/,$(PIKE_MODULE_NAMESPACE))
PIKE_MODULE_DEBIAN_NAME=public.protocols.syslog

config.status: configure
	dh_testdir -i
	# Add here commands to configure the package.
	touch $(CURDIR)/configure
	$(PIKE76) -x module --configure
	$(PIKE76) -x module --depend

build: build-stamp
build-stamp:  config.status
	# Building
	dh_testdir -i

	# Add here commands to compile the package.
	$(MAKE) clean
	$(PIKE76) -x module --make
	cp -r module.pmod 7.6-$(PIKE_MODULE_FILE_BASENAME).pmod
	touch build-stamp

clean:
	dh_testdir -i
	dh_testroot -i
	rm -f build-stamp 

	# Add here commands to clean up after the build process.
	-$(MAKE) spotless
	rm -f Makefile
	rm -f build-stamp
	rm -f dependencies make_variables stamp-h.in xml2_config.h
	rm -f config.cache config.log config.status
	rm -rf 7.6-$(PIKE_MODULE_FILE_BASENAME).pmod

	dh_clean -i

install: build
	dh_testdir -i
	dh_testroot -i
	dh_clean -k -i
	dh_installdirs -i

	# Add here commands to install the package into debian/tmp
	install -d -m 755 -o root -g root \
	        "$(CURDIR)/debian/pike7.6-$(PIKE_MODULE_DEBIAN_NAME)/$(PIKE76_MODULES_PATH)/$(PIKE_MODULE_SUBDIR)"
	install -d -m 755 -o root -g root \
	        "$(CURDIR)/debian/pike7.6-$(PIKE_MODULE_DEBIAN_NAME)/$(PIKE76_SHARE_MODULES_PATH)/$(PIKE_MODULE_SUBDIR)"
	cp -rap 7.6-$(PIKE_MODULE_FILE_BASENAME).pmod \
	        "$(CURDIR)/debian/pike7.6-$(PIKE_MODULE_DEBIAN_NAME)/$(PIKE76_SHARE_MODULES_PATH)/$(PIKE_MODULE_SUBDIR)/$(PIKE_MODULE_FILE_BASENAME).pmod"
	ln -sf "$(PIKE76_SHARE_MODULES_PATH)/$(PIKE_MODULE_SUBDIR)/$(PIKE_MODULE_FILE_BASENAME).pmod" \
	       "$(CURDIR)/debian/pike7.6-$(PIKE_MODULE_DEBIAN_NAME)/$(PIKE76_MODULES_PATH)/$(PIKE_MODULE_SUBDIR)/"

# Build architecture-independent files here.
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installchangelogs -i
	dh_installdocs -i
	dh_installexamples -i
	dh_install -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i -- -Vpike76:ver=$(PIKE76_VERSION) -Vpike76:name=$(PIKE76)
	dh_md5sums -i
	dh_builddeb -i

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