]>
Commit | Line | Data |
---|---|---|
0110da57 AC |
1 | ######################################################################## |
2 | # Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com> | |
3 | # SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0 | |
4 | ######################################################################## | |
5 | ||
6 | ||
7 | ifndef MAKEFILE_INSTALL_MAN_INCLUDED | |
8 | MAKEFILE_INSTALL_MAN_INCLUDED := 1 | |
9 | ||
10 | ||
8bb88d5f AC |
11 | include $(srcdir)/lib/install.mk |
12 | ||
13 | ||
0110da57 AC |
14 | mandir := $(datarootdir)/man |
15 | man0dir := $(mandir)/man0 | |
16 | man1dir := $(mandir)/man1 | |
17 | man2dir := $(mandir)/man2 | |
18 | man3dir := $(mandir)/man3 | |
19 | man4dir := $(mandir)/man4 | |
20 | man5dir := $(mandir)/man5 | |
21 | man6dir := $(mandir)/man6 | |
22 | man7dir := $(mandir)/man7 | |
23 | man8dir := $(mandir)/man8 | |
24 | man0ext := .0 | |
25 | man1ext := .1 | |
26 | man2ext := .2 | |
27 | man2type_ext := .2type | |
28 | man3ext := .3 | |
29 | man3type_ext := .3type | |
30 | man4ext := .4 | |
31 | man5ext := .5 | |
32 | man6ext := .6 | |
33 | man7ext := .7 | |
34 | man8ext := .8 | |
35 | _mandir := $(DESTDIR)$(mandir) | |
36 | ||
37 | ||
38 | _manpages := $(patsubst $(MANDIR)/%,$(_mandir)/%,$(MANPAGES)) | |
39 | _man0pages := $(filter %$(man0ext),$(_manpages)) | |
40 | _man1pages := $(filter %$(man1ext),$(_manpages)) | |
41 | _man2pages := $(filter %$(man2ext),$(_manpages)) | |
42 | _man2pages += $(filter %$(man2type_ext),$(_manpages)) | |
43 | _man3pages := $(filter %$(man3ext),$(_manpages)) | |
44 | _man3pages += $(filter %$(man3type_ext),$(_manpages)) | |
45 | _man4pages := $(filter %$(man4ext),$(_manpages)) | |
46 | _man5pages := $(filter %$(man5ext),$(_manpages)) | |
47 | _man6pages := $(filter %$(man6ext),$(_manpages)) | |
48 | _man7pages := $(filter %$(man7ext),$(_manpages)) | |
49 | _man8pages := $(filter %$(man8ext),$(_manpages)) | |
50 | ||
51 | _mandirs := $(patsubst $(MANDIR)/%,$(_mandir)/%/.,$(MANDIRS)) | |
52 | _man0dir := $(filter %man0/.,$(_mandirs)) | |
53 | _man1dir := $(filter %man1/.,$(_mandirs)) | |
54 | _man2dir := $(filter %man2/.,$(_mandirs)) | |
55 | _man3dir := $(filter %man3/.,$(_mandirs)) | |
56 | _man4dir := $(filter %man4/.,$(_mandirs)) | |
57 | _man5dir := $(filter %man5/.,$(_mandirs)) | |
58 | _man6dir := $(filter %man6/.,$(_mandirs)) | |
59 | _man7dir := $(filter %man7/.,$(_mandirs)) | |
60 | _man8dir := $(filter %man8/.,$(_mandirs)) | |
61 | ||
62 | _man0pages_rm := $(addsuffix -rm,$(wildcard $(_man0pages))) | |
63 | _man1pages_rm := $(addsuffix -rm,$(wildcard $(_man1pages))) | |
64 | _man2pages_rm := $(addsuffix -rm,$(wildcard $(_man2pages))) | |
65 | _man3pages_rm := $(addsuffix -rm,$(wildcard $(_man3pages))) | |
66 | _man4pages_rm := $(addsuffix -rm,$(wildcard $(_man4pages))) | |
67 | _man5pages_rm := $(addsuffix -rm,$(wildcard $(_man5pages))) | |
68 | _man6pages_rm := $(addsuffix -rm,$(wildcard $(_man6pages))) | |
69 | _man7pages_rm := $(addsuffix -rm,$(wildcard $(_man7pages))) | |
70 | _man8pages_rm := $(addsuffix -rm,$(wildcard $(_man8pages))) | |
71 | ||
72 | _mandirs_rmdir := $(addsuffix -rmdir,$(wildcard $(_mandirs))) | |
73 | _man0dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man0dir))) | |
74 | _man1dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man1dir))) | |
75 | _man2dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man2dir))) | |
76 | _man3dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man3dir))) | |
77 | _man4dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man4dir))) | |
78 | _man5dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man5dir))) | |
79 | _man6dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man6dir))) | |
80 | _man7dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man7dir))) | |
81 | _man8dir_rmdir := $(addsuffix -rmdir,$(wildcard $(_man8dir))) | |
82 | _mandir_rmdir := $(addsuffix -rmdir,$(wildcard $(_mandir)/.)) | |
83 | ||
84 | MAN_SECTIONS := 0 1 2 3 4 5 6 7 8 | |
85 | install_manX := $(foreach x,$(MAN_SECTIONS),install-man$(x)) | |
86 | installdirs_manX := $(foreach x,$(MAN_SECTIONS),installdirs-man$(x)) | |
87 | uninstall_manX := $(foreach x,$(MAN_SECTIONS),uninstall-man$(x)) | |
88 | ||
89 | ||
90 | $(_manpages): $(_mandir)/man%: $(MANDIR)/man% | $$(@D)/. | |
91 | $(info INSTALL $@) | |
92 | $(INSTALL_DATA) -T $< $@ | |
93 | ||
94 | $(_mandirs): %/.: | $$(dir %). $(_mandir)/. | |
95 | ||
96 | $(_mandirs_rmdir): $(_mandir)/man%/.-rmdir: $$(_man%pages_rm) FORCE | |
97 | $(_mandir_rmdir): $(uninstall_manX) FORCE | |
98 | ||
99 | ||
100 | .PHONY: $(install_manX) | |
101 | $(install_manX): install-man%: $$(_man%pages) | installdirs-man% | |
102 | @: | |
103 | ||
104 | .PHONY: install-man | |
105 | install-man: $(install_manX) | |
106 | @: | |
107 | ||
108 | .PHONY: $(installdirs_manX) | |
109 | $(installdirs_manX): installdirs-man%: $$(_man%dir) | |
110 | @: | |
111 | ||
112 | .PHONY: installdirs-man | |
113 | installdirs-man: $(installdirs_manX) | |
114 | @: | |
115 | ||
116 | .PHONY: $(uninstall_manX) | |
117 | $(uninstall_manX): uninstall-man%: $$(_man%pages_rm) $$(_man%dir_rmdir) | |
118 | @: | |
119 | ||
120 | .PHONY: uninstall-man | |
121 | uninstall-man: $(_mandir_rmdir) $(uninstall_manX) | |
122 | @: | |
123 | ||
124 | ||
125 | endif # MAKEFILE_INSTALL_MAN_INCLUDED |