Makefile 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. INSTALL ?= install
  3. RM ?= rm -f
  4. RMDIR ?= rmdir --ignore-fail-on-non-empty
  5. PREFIX ?= /usr/share
  6. MANDIR ?= $(PREFIX)/man
  7. MAN1DIR = $(MANDIR)/man1
  8. MAN1_RST = $(wildcard rv*.rst)
  9. _DOC_MAN1 = $(patsubst %.rst,%.1,$(MAN1_RST))
  10. DOC_MAN1 = $(addprefix $(OUTPUT),$(_DOC_MAN1))
  11. RST2MAN_DEP := $(shell command -v rst2man 2>/dev/null)
  12. RST2MAN_OPTS += --verbose
  13. TEST_RST2MAN = $(shell sh -c "rst2man --version > /dev/null 2>&1 || echo n")
  14. $(OUTPUT)%.1: %.rst
  15. ifndef RST2MAN_DEP
  16. $(info ********************************************)
  17. $(info ** NOTICE: rst2man not found)
  18. $(info **)
  19. $(info ** Consider installing the latest rst2man from your)
  20. $(info ** distribution, e.g., 'dnf install python3-docutils' on Fedora,)
  21. $(info ** or from source:)
  22. $(info **)
  23. $(info ** https://docutils.sourceforge.io/docs/dev/repository.html )
  24. $(info **)
  25. $(info ********************************************)
  26. $(error NOTICE: rst2man required to generate man pages)
  27. endif
  28. rst2man $(RST2MAN_OPTS) $< > $@
  29. man1: $(DOC_MAN1)
  30. man: man1
  31. clean:
  32. $(RM) $(DOC_MAN1)
  33. install: man
  34. $(INSTALL) -d -m 755 $(DESTDIR)$(MAN1DIR)
  35. $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(MAN1DIR)
  36. uninstall:
  37. $(RM) $(addprefix $(DESTDIR)$(MAN1DIR)/,$(_DOC_MAN1))
  38. $(RMDIR) $(DESTDIR)$(MAN1DIR)
  39. .PHONY: man man1 clean install uninstall
  40. .DEFAULT_GOAL := man