# $Id: implicit,v 1.10 2004/07/03 15:20:00 pape 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

%.udeb: %.deb-DEBIAN
	@rm -f $*.deb $*.deb-checkdir $*.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'
	@test -s debian/$*/usr/share/doc/$*/changelog || \
	  sh -cx 'rm -f 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 templates; 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 config; 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
