Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. srcdir = .
  2. top_srcdir = ..
  3. top_builddir = ..
  4. default: all
  5. include ../Makefile.conf
  6. SOURCES = main.c enquiry.c filesdb.c archives.c processarc.c \
  7. cleanup.c select.c packages.c configure.c remove.c \
  8. help.c depcon.c errors.c update.c
  9. MAN8PAGES = dpkg.8 dpkg-query.8
  10. OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
  11. GENFILES = $(OBJECTS) archtable.h dpkg dpkg-static
  12. QUERY_SOURCES = query.c filesdb.c errors.c
  13. QUERY_OBJECTS = $(patsubst %.c, %.o, $(QUERY_SOURCES))
  14. QUERY_GENFILES = $(QUERY_OBJECTS) dpkg-query
  15. .PHONY: all
  16. all:: dpkg dpkg-query
  17. ifdef ALSO_STATIC
  18. all:: dpkg-static
  19. endif
  20. .PHONY: install
  21. install:: all
  22. .PHONY: clean
  23. clean::
  24. $(RM) $(GENFILES) $(QUERY_GENFILES)
  25. .PHONY: distclean
  26. cvslean:: clean
  27. $(RM) Makefile
  28. .PHONY: install
  29. install:: install-program install-doc
  30. .PHONY: install-program
  31. install-program:
  32. $(mkinstalldirs) $(DESTDIR)/$(bindir)
  33. $(INSTALL_PROGRAM) dpkg $(DESTDIR)/$(bindir)
  34. ifdef ALSO_STATIC
  35. $(INSTALL_PROGRAM) dpkg-static $(DESTDIR)/$(bindir)
  36. endif
  37. $(INSTALL_PROGRAM) dpkg-query $(DESTDIR)/$(bindir)
  38. $(mkinstalldirs) $(DESTDIR)/$(admindir)/alternatives
  39. $(mkinstalldirs) $(DESTDIR)/$(admindir)/info
  40. $(mkinstalldirs) $(DESTDIR)/$(admindir)/updates
  41. .PHONY: install-doc
  42. install-doc:
  43. $(mkinstalldirs) $(DESTDIR)/$(man8dir)
  44. set -e ; for i in $(MAN8PAGES) ; do \
  45. if test -f $$i ; then d= ; else d="$(srcdir)/" ; fi ; \
  46. $(INSTALL_DATA) $$d$$i $(DESTDIR)/$(man8dir) ; \
  47. done
  48. dpkg-static: LDFLAGS += -static
  49. dpkg-static: ZLIB_LIBS = $(ZLIBS_LIBS_ALSO_STATIC)
  50. dpkg dpkg-static: $(OBJECTS) ../lib/libdpkg.a
  51. $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS) $(NLS_LIBS)
  52. dpkg-query: $(QUERY_OBJECTS) ../lib/libdpkg.a
  53. $(CC) $(LDFLAGS) -o $@ $(QUERY_OBJECTS) $(LIBS) $(NLS_LIBS)
  54. enquiry.o: archtable.h
  55. archtable.h: $(top_srcdir)/archtable
  56. expand $< | \
  57. perl -ne 'print " { \"$$1\",$$2\"$$3\",$$4\"$$5\" },\n" \
  58. if m/^(?!\s*#)\s*(\S+)(\s+)(\S+)(\s+)(\S+)\s*$$/' \
  59. >$@