Makefile 1.4 KB

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