rules 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/usr/bin/make -f
  2. DIR:=$(shell pwd)
  3. arch=$(shell dpkg --print-architecture)
  4. cidir=debian/tmp/DEBIAN
  5. build:
  6. $(checkdir)
  7. ./configure --prefix=/usr
  8. $(MAKE)
  9. touch build
  10. clean:
  11. $(checkdir)
  12. -rm -f build
  13. -$(MAKE) -i distclean || $(MAKE) -f Makefile.in -i distclean
  14. -rm -rf debian/tmp* *~ *.orig ./#*# tmp.* debian/files*
  15. -rm -f config.cache config.status config.h install config.log
  16. find -name '*~' -print0 | xargs -r0 rm --
  17. binary: binary-arch binary-indep
  18. binary-indep:
  19. $(checkdir)
  20. binary-arch: checkroot build
  21. $(checkdir)
  22. -rm -rf debian/tmp
  23. install -d debian/tmp debian/tmp/DEBIAN debian/tmp/etc/dpkg
  24. install -d debian/tmp/usr/doc/{copyright,dpkg}
  25. set -e; if [ $(arch) = i386 ]; then \
  26. sed -e 's/^# i386elf: //' <debian/preinst >$(cidir)/preinst ; \
  27. else \
  28. sed -e '/^# i386elf: /d' debian/preinst >$(cidir)/preinst ; \
  29. fi
  30. set -e; if [ -f debian/shlibs.default.$(arch) ]; then \
  31. echo /etc/dpkg/shlibs.default >$(cidir)/conffiles ; \
  32. cp debian/shlibs.default.$(arch) debian/tmp/etc/dpkg/shlibs.default ; \
  33. fi
  34. cp debian/{prerm,postinst} $(cidir)/.
  35. chmod +x $(cidir)/{postinst,prerm,preinst}
  36. $(MAKE) prefix=$(DIR)/debian/tmp/usr \
  37. datadir=$(DIR)/debian/tmp/var/lib/dpkg \
  38. etcdir=$(DIR)/debian/tmp/etc \
  39. install
  40. find debian/tmp/usr/man -type f | xargs gzip -9v
  41. set -e; for f in dpkg-buildpackage dpkg-gencontrol dpkg-distaddfile \
  42. dpkg-parsechangelog dpkg-genchanges dpkg-shlibdeps; do \
  43. rm debian/tmp/usr/man/man1/$$f.1; \
  44. ln -s dpkg-source.1.gz debian/tmp/usr/man/man1/$$f.1.gz ; \
  45. done
  46. gzip -9v debian/tmp/usr/doc/dpkg/changelog.*
  47. cp debian/copyright debian/tmp/usr/doc/dpkg/copyright
  48. cp TODO debian/tmp/usr/doc/dpkg/WISHLIST
  49. touch debian/tmp/var/lib/dpkg/{status,available}
  50. dpkg-shlibdeps -dPre-Depends main/dpkg dselect/dselect
  51. dpkg-gencontrol
  52. chown -R root.root debian/tmp
  53. chmod -R g-ws,a+r,u+w debian/tmp
  54. set -e; cd debian/tmp; \
  55. version=`sed -n 's/^Version: //p' DEBIAN/control`; \
  56. file=dpkg_$${version}_$(arch).nondebbin.tar; \
  57. tar cf ../../../$${file} usr var && gzip -9vf ../../../$${file}; \
  58. cd ../..; dpkg-distaddfile $${file}.gz byhand -
  59. mv debian/tmp/usr/bin/dpkg-deb{,.dist}
  60. rm debian/tmp/var/lib/dpkg/{status,available}
  61. dpkg-deb --build debian/tmp ..
  62. define checkdir
  63. test -f include/dpkg.h
  64. endef
  65. checkroot:
  66. $(checkdir)
  67. test root = "`whoami`"
  68. .PHONY: binary source diff clean checkroot