#!/usr/bin/make -f
## debian/rules for neko.

## General compile options.
cflags := \
	$(shell dpkg-buildflags --get CFLAGS) \
	-Wall -fPIC -I vm -DCOMPACT_TABLE -D_GNU_SOURCE -I libs/common
ldflags := \
	$(shell dpkg-buildflags --get LDFLAGS) \
	-pthread

## Both AMD64 and all kFreeBSDs seem to have problems with the type
## punning used in the Neko source.
ifeq (amd64,$(DEB_HOST_ARCH))
        cflags += -fno-strict-aliasing
endif
ifeq (kfreebsd,$(DEB_HOST_ARCH_OS))
        cflags += -fno-strict-aliasing
endif

build: build-stamp
build-arch: build-stamp
build-indep: build-stamp

build-stamp:
	dh_testdir
	make CFLAGS="$(cflags)" EXTFLAGS="$(ldflags)"
	touch $@

debian := $(CURDIR)/debian
overrides := usr/share/lintian/overrides

binary-indep: build
	dh_testdir
	dh_testroot
	dh_install -plibapache2-mod-neko -pneko-dev
	dh_apache2 -plibapache2-mod-neko -e
	dh_installdocs -plibapache2-mod-neko -pneko-dev
	dh_installchangelogs -plibapache2-mod-neko -pneko-dev CHANGES
	dh_compress -plibapache2-mod-neko -pneko-dev
	dh_fixperms -plibapache2-mod-neko -pneko-dev
	dh_installdeb -plibapache2-mod-neko -pneko-dev
	dh_gencontrol -plibapache2-mod-neko -pneko-dev
	dh_md5sums -plibapache2-mod-neko -pneko-dev
	dh_builddeb -plibapache2-mod-neko -pneko-dev

binary-arch: build
	dh_testdir
	dh_testroot
	dh_install -a
	mkdir -p $(debian)/neko/$(overrides)
	cp $(debian)/neko.lintian-overrides $(debian)/neko/$(overrides)/neko
	dh_installdocs -a
	dh_installexamples -a
	dh_installchangelogs -a CHANGES
	dh_installman -pneko debian/neko.1 debian/nekoc.1 debian/nekotools.1
	dh_strip -a -Xnekoc -Xnekotools
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs
	dh_installdeb -a
	dh_shlibdeps -a
	find $(debian) -name '*.ndll' -exec chmod -x '{}' ';'
	find $(debian) -name '*.neko' -exec chmod -x '{}' ';'
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch

clean:
	dh_testdir
	dh_testroot
	-rm -f *-stamp
	make clean
	dh_clean

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