]>
Commit | Line | Data |
---|---|---|
eec79e02 AC |
1 | # Copyright 2021-2024, Alejandro Colomar <alx@kernel.org> |
2 | # SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception | |
0110da57 AC |
3 | |
4 | ||
5 | ifndef MAKEFILE_INSTALL_MAN_INCLUDED | |
6 | MAKEFILE_INSTALL_MAN_INCLUDED := 1 | |
7 | ||
8 | ||
16322535 AC |
9 | include $(MAKEFILEDIR)/configure/build-depends/coreutils/install.mk |
10 | include $(MAKEFILEDIR)/configure/build-depends/coreutils/ln.mk | |
11 | include $(MAKEFILEDIR)/configure/build-depends/coreutils/test.mk | |
12 | include $(MAKEFILEDIR)/configure/build-depends/findutils/xargs.mk | |
13 | include $(MAKEFILEDIR)/configure/build-depends/grep/grep.mk | |
16322535 AC |
14 | include $(MAKEFILEDIR)/configure/build-depends/moreutils/sponge.mk |
15 | include $(MAKEFILEDIR)/configure/build-depends/sed/sed.mk | |
57d0f8b4 AC |
16 | include $(MAKEFILEDIR)/configure/directory_variables/install.mk |
17 | include $(MAKEFILEDIR)/configure/directory_variables/src.mk | |
18 | include $(MAKEFILEDIR)/configure/man/link_pages.mk | |
edaa12e6 | 19 | include $(MAKEFILEDIR)/install/_.mk |
57d0f8b4 | 20 | include $(MAKEFILEDIR)/src/man.mk |
8bb88d5f AC |
21 | |
22 | ||
c988f384 | 23 | _mandir := $(DESTDIR)$(mandir) |
402d0926 | 24 | $(foreach s, $(MANSECTIONS), \ |
c988f384 AC |
25 | $(eval _man$(s)dir := $(DESTDIR)$(man$(s)dir))) |
26 | ||
402d0926 | 27 | $(foreach s, $(MANSECTIONS), \ |
c988f384 | 28 | $(eval _man$(s)pages := \ |
dbcf1323 | 29 | $(patsubst $(MAN$(s)DIR)/%.$(s), $(_man$(s)dir)/%$(man$(s)ext), \ |
c988f384 | 30 | $(MAN$(s)PAGES)))) |
333bd846 AC |
31 | $(foreach s, $(MANSECTIONS), \ |
32 | $(eval _man$(s)intropage := \ | |
dbcf1323 | 33 | $(patsubst $(MAN$(s)DIR)/%.$(s), $(_man$(s)dir)/%$(man$(s)ext), \ |
333bd846 AC |
34 | $(MAN$(s)INTROPAGE)))) |
35 | _manintropages := $(foreach s, $(MANSECTIONS), $(_man$(s)intropage)) | |
402d0926 | 36 | _manpages := $(_manintropages) $(foreach s, $(MANSECTIONS), $(_man$(s)pages)) |
c988f384 AC |
37 | |
38 | _manintropages_rm := $(addsuffix -rm, $(wildcard $(_manintropages))) | |
402d0926 | 39 | $(foreach s, $(MANSECTIONS), \ |
c988f384 AC |
40 | $(eval _man$(s)pages_rm := \ |
41 | $(addsuffix -rm, \ | |
42 | $(wildcard $(_man$(s)pages))))) | |
43 | ||
44 | ||
402d0926 | 45 | $(foreach s, $(MANSECTIONS), \ |
333bd846 | 46 | $(eval $(_man$(s)pages) $(_man$(s)intropage): \ |
dbcf1323 | 47 | $(_man$(s)dir)/%$(man$(s)ext): \ |
63d245ab | 48 | $(_MANDIR)/man$(s)/%.$(s) $(MK) | $$$$(@D)/)) |
04fdef68 AC |
49 | |
50 | ||
51 | $(_manpages): | |
d965e737 | 52 | $(info $(INFO_)INSTALL $@) |
30c38a8b | 53 | <$< \ |
ee0086c3 | 54 | $(SED) $(foreach s, $(MANSECTIONS), \ |
dbcf1323 | 55 | -e '/^\.so /s, man$(s)/\(.*\)\.$(s)$$, $(notdir $(man$(s)dir))/\1$(man$(s)ext),') \ |
30c38a8b | 56 | | $(INSTALL_DATA) -T /dev/stdin $@ |
335acbfb AC |
57 | ifeq ($(LINK_PAGES),symlink) |
58 | if $(GREP) '^\.so ' <$@ >/dev/null; then \ | |
c4d8bc8f | 59 | $(GREP) '^\.so ' <$@ \ |
701ed069 | 60 | | $(SED) 's,^\.so \(.*\),../\1,' \ |
335acbfb AC |
61 | | $(XARGS) -I tgt $(LN) -fsT tgt $@; \ |
62 | fi | |
63 | endif | |
0110da57 | 64 | |
0110da57 | 65 | |
ad0321aa AC |
66 | .PHONY: install-manintro |
67 | install-manintro: $(_manintropages); | |
402d0926 | 68 | $(foreach s, $(MANSECTIONS), \ |
c988f384 | 69 | $(eval .PHONY: install-man$(s))) |
402d0926 | 70 | $(foreach s, $(MANSECTIONS), \ |
c988f384 | 71 | $(eval install-man$(s): $(_man$(s)pages);)) |
0110da57 | 72 | .PHONY: install-man |
402d0926 | 73 | install-man: install-manintro $(foreach s, $(MANSECTIONS), install-man$(s)); |
0110da57 | 74 | |
ad0321aa AC |
75 | .PHONY: uninstall-manintro |
76 | uninstall-manintro: $(_manintropages_rm); | |
402d0926 | 77 | $(foreach s, $(MANSECTIONS), \ |
c988f384 | 78 | $(eval .PHONY: uninstall-man$(s))) |
402d0926 | 79 | $(foreach s, $(MANSECTIONS), \ |
c988f384 | 80 | $(eval uninstall-man$(s): $(_man$(s)pages_rm);)) |
0110da57 | 81 | .PHONY: uninstall-man |
402d0926 | 82 | uninstall-man: uninstall-manintro $(foreach s, $(MANSECTIONS), uninstall-man$(s)); |
0110da57 AC |
83 | |
84 | ||
b8d2c839 | 85 | endif # include guard |