rules 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #!/usr/bin/make -f
  2. DIR:=$(shell pwd)
  3. arch=$(shell dpkg --print-architecture)
  4. mcidir=debian/tmp-main/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-trees: checkroot build
  19. $(checkdir)
  20. -rm -rf debian/tmp-{main,dev}
  21. install -d debian/tmp-{main,dev}/{DEBIAN,etc/dpkg,usr/doc/dpkg}
  22. install -d debian/tmp-dev/usr/{lib/dpkg,doc/dpkg-dev,man/man1,man/man8,sbin,bin}
  23. set -e; if [ $(arch) = i386 ]; then \
  24. sed -e 's/^# i386elf: //' <debian/preinst >$(mcidir)/preinst ; \
  25. else \
  26. sed -e '/^# i386elf: /d' debian/preinst >$(mcidir)/preinst ; \
  27. fi
  28. set -e; if [ -f debian/shlibs.default.$(arch) ]; then \
  29. echo /etc/dpkg/shlibs.default >debian/tmp-dev/DEBIAN/conffiles ; \
  30. cp debian/shlibs.default.$(arch) \
  31. debian/tmp-dev/etc/dpkg/shlibs.default ; \
  32. fi
  33. cp debian/{prerm,postinst} $(mcidir)/.
  34. chmod +x $(mcidir)/{postinst,prerm,preinst}
  35. $(MAKE) prefix=$(DIR)/debian/tmp-main/usr \
  36. datadir=$(DIR)/debian/tmp-main/var/lib/dpkg \
  37. etcdir=$(DIR)/debian/tmp-main/etc \
  38. install
  39. find debian/tmp-main/usr/man -type f | xargs gzip -9v
  40. set -e; for f in dpkg-buildpackage dpkg-gencontrol dpkg-distaddfile \
  41. dpkg-parsechangelog dpkg-genchanges dpkg-shlibdeps; do \
  42. rm debian/tmp-main/usr/man/man1/$$f.1; \
  43. ln -s dpkg-source.1.gz debian/tmp-main/usr/man/man1/$$f.1.gz ; \
  44. done
  45. gzip -9v debian/tmp-main/usr/doc/dpkg/changelog.*
  46. cp debian/copyright debian/tmp-main/usr/doc/dpkg/copyright
  47. cp debian/copyright debian/tmp-dev/usr/doc/dpkg-dev/copyright
  48. cp debian/dev-README debian/tmp-dev/usr/doc/dpkg-dev/README
  49. cp TODO debian/tmp-dev/usr/doc/dpkg/WISHLIST
  50. set -e; for f in \
  51. usr/doc/dpkg/{programmer.html,policy.html,developer-keys.pgp,changelog.manuals.gz} \
  52. usr/bin/dpkg-{source,genchanges,gencontrol,shlibdeps,buildpackage,parsechangelog} \
  53. usr/bin/{dpkg-distaddfile,822-date,dpkg-scanpackages} \
  54. usr/man/man1/dpkg-{source,genchanges,gencontrol,shlibdeps,buildpackage}.1.gz \
  55. usr/man/man1/{dpkg-parsechangelog,dpkg-distaddfile,822-date}.1.gz \
  56. usr/man/man5 usr/man/man8/dpkg-scanpackages.8.gz usr/lib/emacs \
  57. usr/lib/dpkg/parsechangelog usr/lib/dpkg/controllib.pl \
  58. ; do mv debian/tmp-main/$$f debian/tmp-dev/$$f; done
  59. binary-indep: checkroot build binary-trees
  60. $(checkdir)
  61. dpkg-gencontrol -pdpkg-dev -Pdebian/tmp-dev
  62. chown -R root.root debian/tmp-dev
  63. chmod -R g-ws,a+r,u+w debian/tmp-dev
  64. dpkg-deb --build debian/tmp-dev ..
  65. set -e -x; cd doc; for f in policy programmer; do \
  66. debiandoc2ps -pa4 -O $$f.sgml | gzip -9v >../../$$f.ps.gz; \
  67. dpkg-distaddfile -f../debian/files $$f.ps.gz byhand -; \
  68. GZIP=-9v tar zcf ../../$$f.html.tar.gz $$f.html; \
  69. dpkg-distaddfile -f../debian/files $$f.html.tar.gz byhand -; \
  70. done
  71. binary-arch: checkroot build binary-trees
  72. touch debian/tmp-main/var/lib/dpkg/{status,available}
  73. dpkg-shlibdeps -dPre-Depends main/dpkg dselect/dselect
  74. dpkg-gencontrol -pdpkg -Pdebian/tmp-main
  75. chown -R root.root debian/tmp-main
  76. chmod -R g-ws,a+r,u+w debian/tmp-main
  77. set -e; cd debian/tmp-main; \
  78. version=`sed -n 's/^Version: //p' DEBIAN/control`; \
  79. file=dpkg_$${version}_$(arch).nondebbin.tar; \
  80. tar cf ../../../$${file} usr var && gzip -9vf ../../../$${file}; \
  81. cd ../..; dpkg-distaddfile $${file}.gz byhand -
  82. rm debian/tmp-main/var/lib/dpkg/{status,available}
  83. dpkg-deb --build debian/tmp-main ..
  84. define checkdir
  85. test -f include/dpkg.h
  86. endef
  87. checkroot:
  88. $(checkdir)
  89. test root = "`whoami`"
  90. .PHONY: binary source diff clean checkroot