view debian/implicit @ 665:4d9511f98462

fix out-of-tree cleaning If we build out of tree and then run `make clean`, we hit an infinite loop where libtommath tries to enter subdirs that don't exist and run `make clean`.
author Mike Frysinger <vapier@gentoo.org>
date Sun, 08 Apr 2012 02:06:54 -0400
parents 1857c2c551ea
children
line wrap: on
line source

# $Id: implicit,v 1.11 2005/11/29 21:57:55 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 \
	  if test -d $$i; then \
	    sh -cx "install -d -m0755 debian/$*/usr/share/doc/$*/$${i##*/}" && \
	    for j in $$i/*; do \
	      sh -cx "install -m0644 $$j \
	        debian/$*/usr/share/doc/$*/$${i##*/}/" || exit 1; \
	    done || exit 1; \
	    continue; \
	  fi; \
	  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