#!/usr/bin/make -f
# Sample debian/rules file - for GNU Hello.
# Copyright 1994,1995 by Ian Jackson.
# I hereby give you perpetual unlimited permission to copy,
# modify and relicense this file, provided that you do not remove
# my name from the file itself.  (I assert my moral right of
# paternity under the Copyright, Designs and Patents Act 1988.)
# This file may have to be extensively modified
#
# Modified by John L. Chmielewski to package ncid
# Last Modified Fri Sep 2, 2011

package = ncid
prog    = ncidd

pkg = client mythtv kpopup samba speak

docdir  = usr/share/doc/$(package)

build:
	$(checkdir)
	$(MAKE) ubuntu
	touch build

clean:
	$(checkdir)
	rm -f build
	-$(MAKE) -i distclean
	rm -rf *~ debian/tmp* debian/*~ debian/files* debian/substvars

binary-indep:   checkroot build
	$(checkdir)
# There are no architecture-independent files to be uploaded
# generated by this package.  If there were any they would be
# made here.

binary-arch:    checkroot build
	$(checkdir)
	rm -rf debian/tmp*
	install -d debian/tmp/DEBIAN debian/tmp/$(docdir) \
                   debian/tmp-ncid/DEBIAN debian/tmp-ncid/$(docdir)
	for i in $(pkg); do \
		install -d debian/tmp-$$i/DEBIAN \
                           debian/tmp-$$i/usr/share/doc/$(package)-$$i; \
        done
	$(MAKE) \
		prefix=$$(pwd)/debian/tmp/usr \
		prefix2=$$(pwd)/debian/tmp \
		prefix3=$$(pwd)/debian/tmp \
		install install-ubuntu

        # NCID server and gateways and support utilities
	install -m 755 debian/postinst debian/prerm debian/postrm \
                       debian/tmp-ncid/DEBIAN
	cp -a debian/tmp/* debian/tmp-ncid
	rm -f debian/tmp-ncid/etc/init.d/ncid-* \
	      debian/tmp-ncid/etc/ncid/ncid.* \
          debian/tmp-ncid/etc/ncid/ncidmodules.conf \
	      debian/tmp-ncid/usr/bin/ncid \
	      debian/tmp-ncid/usr/share/doc/ncid/README.modules \
	      debian/tmp-ncid/usr/share/man/man1/ncid.1 \
          debian/tmp-ncid/usr/share/man/man1/ncidmodules.1 \
	      debian/tmp-ncid/usr/share/man/man5/ncid.conf.5 \
          debian/tmp-ncid/usr/share/man/man5/ncidmodules.conf.5 \
          debian/tmp-ncid/usr/share/ncid/ncid-*
	rm -fr debian/tmp-ncid/usr/share/pixmaps
	install -m 644 debian/changelog debian/tmp-ncid/$(docdir)/changelog.Debian
	cp -a README VERSION doc debian/README.Debian \
          server/README.server cidgate/README.Gateways \
          scripts/README.scripts tools/README.tools \
                   debian/tmp-ncid/$(docdir)
	rm -f debian/tmp-ncid/$(docdir)/doc/CHANGES
	dpkg-shlibdeps debian/tmp-ncid/usr/sbin/ncidd \
                   debian/tmp-ncid/usr/sbin/ncid2ncid \
                   debian/tmp-ncid/usr/sbin/sip2ncid

        # NCID client and base output modules
	install -m 755 debian/postinst debian/tmp-client/DEBIAN
	install -m 755 debian/prerm-client debian/tmp-client/DEBIAN/prerm
	install -m 755 debian/postrm-client debian/tmp-client/DEBIAN/postrm
	cd debian/tmp-client; mkdir -p etc/init.d etc/ncid usr/bin \
       usr/share/ncid usr/share/man/man1 usr/share/man/man5
	mkdir -p debian/tmp-client/usr/share/pixmaps/ncid
	install -m 755 client/ncid debian/tmp-client/usr/bin
	install -m 644 client/ncid.gif debian/tmp-client/usr/share/pixmaps/ncid
	install -m 644 client/ncid.conf modules/ncidmodules.conf \
                   debian/tmp-client/etc/ncid
	cd modules; install -m 755 ncid-initmodem ncid-page ncid-skel ncid-yac \
                               ../debian/tmp-client/usr/share/ncid
	install -m 644 README VERSION client/README.client modules/README.modules \
          debian/tmp-client/usr/share/doc/ncid-client/.
	cd debian; install -m 755 ncid-initmodem ncid-page ncid-yac \
                              ../debian/tmp-client/etc/init.d
	install -m 644 man/ncid.1 man/ncidmodules.1 man/ncid-initmodem.1 \
                   man/ncid-page.1 man/ncid-skel.1 \
                   man/ncid-yac.1 debian/tmp-client/usr/share/man/man1
	install -m 644 man/ncid.conf.5 man/ncidmodules.conf.5 \
                   debian/tmp-client/usr/share/man/man5

        # NCID client KDE popup module
	install -m 755 debian/postinst debian/tmp-kpopup/DEBIAN
	cd debian/tmp-kpopup; mkdir -p usr/share/ncid \
                   usr/share/ncid usr/share/man/man1 usr/share/man/man1
	install -m 644 VERSION modules/README.modules \
                   debian/tmp-kpopup/usr/share/doc/ncid-kpopup
	install -m 755 modules/ncid-kpopup debian/tmp-kpopup/usr/share/ncid/.
	install -m 644 man/ncid-kpopup.1 debian/tmp-kpopup/usr/share/man/man1

        # NCID client MythTV module
	install -m 755 debian/postinst debian/tmp-mythtv/DEBIAN
	install -m 755 debian/prerm-mythtv debian/tmp-mythtv/DEBIAN/prerm
	install -m 755 debian/postrm-mythtv debian/tmp-mythtv/DEBIAN/postrm
	cd debian/tmp-mythtv; mkdir -p etc/init.d usr/share/ncid \
                   usr/share/ncid usr/share/man/man1 usr/share/man/man1
	install -m 644 VERSION modules/README.modules \
                   debian/tmp-mythtv/usr/share/doc/ncid-mythtv
	install -m 755 modules/ncid-mythtv debian/tmp-mythtv/usr/share/ncid/.
	install -m 755 debian/ncid-mythtv debian/tmp-mythtv/etc/init.d/.
	install -m 644 man/ncid-mythtv.1 debian/tmp-mythtv/usr/share/man/man1

        # NCID client samba module
	install -m 755 debian/postinst debian/tmp-samba/DEBIAN
	install -m 755 debian/prerm-samba debian/tmp-samba/DEBIAN/prerm
	install -m 755 debian/postrm-samba debian/tmp-samba/DEBIAN/postrm
	cd debian/tmp-samba; mkdir -p etc/init.d usr/share/ncid \
                   usr/share/ncid usr/share/man/man1 usr/share/man/man1
	install -m 644 VERSION modules/README.modules \
                   debian/tmp-samba/usr/share/doc/ncid-samba
	install -m 755 modules/ncid-samba debian/tmp-samba/usr/share/ncid/.
	install -m 755 debian/ncid-samba debian/tmp-samba/etc/init.d/.
	install -m 644 man/ncid-samba.1 debian/tmp-samba/usr/share/man/man1

        # NCID client speak module
	install -m 755 debian/postinst debian/tmp-speak/DEBIAN
	install -m 755 debian/prerm-speak debian/tmp-speak/DEBIAN/prerm
	install -m 755 debian/postrm-speak debian/tmp-speak/DEBIAN/postrm
	cd debian/tmp-speak; mkdir -p etc/init.d usr/share/ncid \
                   usr/share/ncid usr/share/man/man1 usr/share/man/man1
	install -m 644 VERSION modules/README.modules \
                   debian/tmp-speak/usr/share/doc/ncid-speak
	install -m 755 modules/ncid-speak debian/tmp-speak/usr/share/ncid/.
	install -m 755 debian/ncid-speak debian/tmp-speak/etc/init.d/.
	install -m 644 man/ncid-speak.1 debian/tmp-speak/usr/share/man/man1

        # cleanup and build packages
	gzip -r9 debian/tmp-ncid/usr/share/man debian/tmp-client/usr/share/man
	for i in $(package) $(pkg); do \
        find debian/tmp-$$i -name \*CVS -print | xargs rm -fr; \
        chown -R root:root debian/tmp-$$i; \
        chmod -R u+w,go=rX debian/tmp-$$i; \
        if [ $$i = "ncid" ] ; then \
            dpkg-gencontrol -isp -Pdebian/tmp-$$i -pncid; else  \
            dpkg-gencontrol -isp -Pdebian/tmp-$$i -pncid-$$i; fi; \
        dpkg --build debian/tmp-$$i ..; \
        done

define checkdir
	test -f server/$(prog).c -a -f debian/rules
endef

binary: binary-indep binary-arch

checkroot:
	$(checkdir)
	test $$(id -u) = 0

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