Makefile 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. srcdir = .
  2. top_srcdir = ..
  3. default: all
  4. include ../Makefile.conf
  5. BIN_SCRIPTS = dpkg-name dpkg-source dpkg-genchanges \
  6. dpkg-gencontrol dpkg-shlibdeps dpkg-buildpackage \
  7. dpkg-parsechangelog dpkg-distaddfile 822-date \
  8. dpkg-scanpackages dpkg-scansources \
  9. dpkg-architecture dpkg-checkbuilddeps
  10. SBIN_SCRIPTS = update-alternatives install-info \
  11. dpkg-divert dpkg-statoverride cleanup-info
  12. MAN1PAGES = dpkg-name.1 dpkg-source.1 822-date.1 \
  13. dpkg-checkbuilddeps.1 dpkg-scanpackages.1 \
  14. dpkg-scansources.1
  15. MAN8PAGES = update-alternatives.8 install-info.8 \
  16. cleanup-info.8 dpkg-divert.8 dpkg-statoverride.8
  17. CHANGELOG_PARSERS = cl-debian
  18. SCRIPTLIBS = controllib.pl
  19. GEN_MAN1PAGES = dpkg-architecture.1 dpkg-scansources.1
  20. MAN_SOURCE_ALIASES = dpkg-gencontrol.1 dpkg-genchanges.1 dpkg-buildpackage.1 \
  21. dpkg-distaddfile.1 dpkg-parsechangelog.1 dpkg-shlibdeps.1
  22. GENFILES = $(CHANGELOG_PARSERS) $(BIN_SCRIPTS) $(SBIN_SCRIPTS) $(GEN_MAN1PAGES)
  23. .PHONY: all
  24. all:: $(GENFILES)
  25. .PHONY: install
  26. install:: all install-program install-doc
  27. .PHONY: clean
  28. clean::
  29. $(RM) $(GENFILES)
  30. .PHONY: distclean
  31. cvslean:: clean
  32. $(RM) Makefile
  33. .PHONY: install-program
  34. install-program:
  35. $(mkinstalldirs) $(DESTDIR)/$(bindir)
  36. set -e ; for i in $(BIN_SCRIPTS) ; do \
  37. if test -f $$i ; then d= ; else d="$(srcdir)/" ; fi ; \
  38. $(INSTALL_SCRIPT) $$d$$i $(DESTDIR)/$(bindir) ; \
  39. done
  40. $(mkinstalldirs) $(DESTDIR)/$(sbindir)
  41. set -e ; for i in $(SBIN_SCRIPTS) ; do \
  42. if test -f $$i ; then d= ; else d="$(srcdir)/" ; fi ; \
  43. $(INSTALL_SCRIPT) $$d$$i $(DESTDIR)/$(sbindir) ; \
  44. done
  45. $(mkinstalldirs) $(DESTDIR)/$(alternativesdir)
  46. $(INSTALL_DATA) $(srcdir)/README.alternatives \
  47. $(DESTDIR)/$(alternativesdir)/README
  48. $(mkinstalldirs) $(DESTDIR)/$(parsechangelogdir)
  49. set -e ; for i in $(CHANGELOG_PARSERS) ; do \
  50. if test -f $$i ; then d= ; else d="$(srcdir)/" ; fi ; \
  51. rn=`echo $$i | $(SED) -e 's/^cl-//'` ; \
  52. $(INSTALL_SCRIPT) $$d$$i $(DESTDIR)/$(parsechangelogdir)/$$rn ; \
  53. done
  54. $(mkinstalldirs) $(DESTDIR)/$(dpkglibdir)
  55. set -e ; for i in $(SCRIPTLIBS) ; do \
  56. if test -f $$i ; then d= ; else d="$(srcdir)/" ; fi ; \
  57. $(INSTALL_DATA) $$d$$i $(DESTDIR)/$(dpkglibdir) ; \
  58. done
  59. .PHONY: install-doc
  60. install-doc:
  61. $(mkinstalldirs) $(DESTDIR)/$(man1dir)
  62. set -e ; for i in $(MAN1PAGES) $(GEN_MAN1PAGES) ; do \
  63. if test -f $$i ; then d= ; else d="$(srcdir)/" ; fi ; \
  64. $(INSTALL_DATA) $$d$$i $(DESTDIR)/$(man1dir) ; \
  65. done
  66. set -e ; for i in $(MAN_SOURCE_ALIASES) ; do \
  67. echo ".so man1/dpkg-source.1" > $(DESTDIR)$(man1dir)/$$i ; \
  68. chmod 644 $(DESTDIR)$(man1dir)/$$i ; \
  69. done
  70. $(mkinstalldirs) $(DESTDIR)/$(man8dir)
  71. set -e ; for i in $(MAN8PAGES) $(GEN_MAN8PAGES) ; do \
  72. if test -f $$i ; then d= ; else d="$(srcdir)/" ; fi ; \
  73. $(INSTALL_DATA) $$d$$i $(DESTDIR)/$(man8dir) ; \
  74. done
  75. %.1: $(srcdir)/%.pl
  76. pod2man --section=1 $^ > $@
  77. %: %.pl
  78. $(SED) -e "s:^#![:space:]*/usr/bin/perl:#! $(PERL):; \
  79. s:\$$dpkglibdir[[:space:]]*=[[:space:]]*['\"][^'\"]*['\"]:\$$dpkglibdir=\"$(dpkglibdir)\":; \
  80. s:\$$admindir[[:space:]]*=[[:space:]]*['\"][^'\"]*['\"]:\$$admindir=\"$(admindir)\":; \
  81. s:\$$version[[:space:]]*=[[:space:]]*['\"][^'\"]*[\"']:\$$version=\"$(VERSION)\":" \
  82. < $< > $@
  83. %: %.sh
  84. $(SED) -e "s:version=\"[^\"]*\":version=\"$(VERSION)\":" \
  85. < $< > $@