# $Id: implicit,v 1.1 2004/06/16 05:08:32 matt Exp $

.PHONY: deb-checkdir deb-checkuid

deb-checkdir:
	@test -e debian/control || sh -cx '! : wrong directory'
deb-checkuid:
	@test "`id -u`" -eq 0 || sh -cx '! : need root privileges'

%.deb: %.deb-docs %.deb-DEBIAN
	@rm -f $*.deb $*.deb-checkdir $*.deb-docs $*.deb-docs-base \
	  $*.deb-docs-docs $*.deb-docs-examples $*.deb-DEBIAN \
	  $*.deb-DEBIAN-dir $*.deb-DEBIAN-scripts $*.deb-DEBIAN-md5sums

%.deb-checkdir:
	@test -d debian/$* || sh -cx '! : directory debian/$* missing'
	@test "`id -u`" -eq 0 || sh -cx '! : need root privileges'

%.deb-docs-base:
	: implicit
	@rm -f debian/$*/usr/share/doc/$*/* || :
	@install -d -m0755 debian/$*/usr/share/doc/$*
	: debian/$*/usr/share/doc/$*/
	@sh -cx 'install -m0644 debian/copyright debian/$*/usr/share/doc/$*/'
	@sh -cx 'install -m0644 debian/changelog \
	  debian/$*/usr/share/doc/$*/changelog.Debian'
	@test ! -r changelog || \
	  sh -cx 'install -m0644 changelog debian/$*/usr/share/doc/$*/'
	@test -r debian/$*/usr/share/doc/$*/changelog || \
	  sh -cx 'mv debian/$*/usr/share/doc/$*/changelog.Debian \
	    debian/$*/usr/share/doc/$*/changelog'
	@gzip -9 debian/$*/usr/share/doc/$*/changelog*
%.deb-docs-docs:
	@for i in `cat debian/$*.docs 2>/dev/null || :`; do \
	  sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/" || exit 1; \
	done
	@test ! -r debian/$*.README.Debian || \
	  sh -cx 'install -m0644 debian/$*.README.Debian \
	    debian/$*/usr/share/doc/$*/README.Debian'
	@if test -r debian/$*.NEWS.Debian; then \
	  sh -cx 'install -m0644 debian/$*.NEWS.Debian \
	    debian/$*/usr/share/doc/$*/NEWS.Debian && \
	      gzip -9 debian/$*/usr/share/doc/$*/NEWS.Debian'; \
	fi
%.deb-docs-examples:
	@rm -rf debian/$*/usr/share/doc/$*/examples
	: debian/$*/usr/share/doc/$*/examples/
	@test ! -r debian/$*.examples || \
	  install -d -m0755 debian/$*/usr/share/doc/$*/examples
	@for i in `cat debian/$*.examples 2>/dev/null || :`; do \
	  sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/examples/" \
	    || exit 1; \
	done
%.deb-docs: %.deb-checkdir %.deb-docs-base %.deb-docs-docs %.deb-docs-examples
	: debian/$*/usr/share/doc/$*/ ok

%.deb-DEBIAN-base:
	@rm -rf debian/$*/DEBIAN
	: debian/$*/DEBIAN/
	@install -d -m0755 debian/$*/DEBIAN
	@for i in conffiles shlibs; do \
	  test ! -r debian/$*.$$i || \
	    sh -cx "install -m0644 debian/$*.$$i debian/$*/DEBIAN/$$i" \
	      || exit 1; \
	done
%.deb-DEBIAN-scripts:
	@for i in preinst prerm postinst postrm; do \
	  test ! -r debian/$*.$$i || \
	    sh -cx "install -m0755 debian/$*.$$i debian/$*/DEBIAN/$$i" \
	      || exit 1; \
	done
%.deb-DEBIAN-md5sums:
	: debian/$*/DEBIAN/md5sums
	@rm -f debian/$*/DEBIAN/md5sums
	@cd debian/$* && find * -path 'DEBIAN' -prune -o \
	  -type f -exec md5sum {} >>DEBIAN/md5sums \;
%.deb-DEBIAN: %.deb-checkdir %.deb-DEBIAN-base %.deb-DEBIAN-scripts \
	  %.deb-DEBIAN-md5sums
	: debian/$*/DEBIAN/ ok
