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