c1456b5cc7778efa227d32d87f6d32152a9f882e
[platform/upstream/btrfs-progs.git] / Documentation / Makefile.in
1 # Guard against environment variables
2 MAN8_TXT =
3
4 # Top level commands
5 MAN8_TXT += btrfs.asciidoc
6 MAN8_TXT += btrfs-convert.asciidoc
7 MAN8_TXT += btrfs-find-root.asciidoc
8 MAN8_TXT += btrfs-image.asciidoc
9 MAN8_TXT += btrfs-map-logical.asciidoc
10 MAN8_TXT += btrfs-show-super.asciidoc
11 MAN8_TXT += btrfs-select-super.asciidoc
12 MAN8_TXT += btrfstune.asciidoc
13 MAN8_TXT += fsck.btrfs.asciidoc
14 MAN8_TXT += mkfs.btrfs.asciidoc
15
16 # Sub commands for btrfs
17 MAN8_TXT += btrfs-subvolume.asciidoc
18 MAN8_TXT += btrfs-filesystem.asciidoc
19 MAN8_TXT += btrfs-balance.asciidoc
20 MAN8_TXT += btrfs-device.asciidoc
21 MAN8_TXT += btrfs-scrub.asciidoc
22 MAN8_TXT += btrfs-check.asciidoc
23 MAN8_TXT += btrfs-rescue.asciidoc
24 MAN8_TXT += btrfs-inspect-internal.asciidoc
25 MAN8_TXT += btrfs-send.asciidoc
26 MAN8_TXT += btrfs-receive.asciidoc
27 MAN8_TXT += btrfs-quota.asciidoc
28 MAN8_TXT += btrfs-qgroup.asciidoc
29 MAN8_TXT += btrfs-replace.asciidoc
30 MAN8_TXT += btrfs-restore.asciidoc
31 MAN8_TXT += btrfs-property.asciidoc
32
33 # Category 5 manual page
34 MAN5_TXT += btrfs-man5.asciidoc
35
36 MAN_TXT = $(MAN8_TXT) $(MAN5_TXT)
37 MAN_XML = $(patsubst %.asciidoc,%.xml,$(MAN_TXT))
38 MAN_HTML = $(patsubst %.asciidoc,%.html,$(MAN_TXT))
39
40 DOC_MAN5 = $(patsubst %.asciidoc,%.5,$(MAN5_TXT))
41 GZ_MAN5 = $(patsubst %.asciidoc,%.5.gz,$(MAN5_TXT))
42
43 DOC_MAN8 = $(patsubst %.asciidoc,%.8,$(MAN8_TXT))
44 GZ_MAN8 = $(patsubst %.asciidoc,%.8.gz,$(MAN8_TXT))
45
46 mandir ?= $(prefix)/share/man
47 man8dir = $(mandir)/man8
48 man5dir = $(mandir)/man5
49
50 ASCIIDOC = @ASCIIDOC@
51 ASCIIDOC_EXTRA =
52 MANPAGE_XSL = manpage-normal.xsl
53 XMLTO = @XMLTO@
54 XMLTO_EXTRA =
55 XMLTO_EXTRA = -m manpage-bold-literal.xsl
56 GZIPCMD = @GZIP@
57 INSTALL = @INSTALL@
58 RM = @RM@
59 RMDIR = @RMDIR@
60 LN_S = @LN_S@
61 MV = @MV@
62 SED = @SED@
63 BTRFS_VERSION = $(shell $(SED) -n 's/.*PACKAGE_VERSION "\(.*\)"/\1/p'\
64                   ../config.h)
65
66 ifneq ($(findstring $(MAKEFLAGS),s),s)
67 ifndef V
68         QUIET_RM        = @
69         QUIET_ASCIIDOC  = @echo "    [ASCII]  $@";
70         QUIET_XMLTO     = @echo "    [XMLTO]  $@";
71         QUIET_GZIP      = @echo "    [GZ]     $@";
72         QUIET_STDERR    = 2> /dev/null
73         QUIET_SUBDIR0   = +@subdir=
74         QUIET_SUBDIR1   = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \
75                           $(MAKE) $(PRINT_DIR) -C $$subdir
76         export V
77 endif
78 endif
79
80 all: man
81 man: man5 man8
82 man5: $(GZ_MAN5)
83 man8: $(GZ_MAN8)
84 html: $(MAN_HTML)
85
86 install: install-man
87
88 install-man: man
89         $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
90         $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
91         $(INSTALL) -m 644 $(GZ_MAN5) $(DESTDIR)$(man5dir)
92         # the source file name of btrfs.5 clashes with section 8 page, but we
93         # want to keep the code generic
94         $(MV) $(DESTDIR)$(man5dir)/btrfs-man5.5.gz $(DESTDIR)$(man5dir)/btrfs.5.gz
95         $(INSTALL) -m 644 $(GZ_MAN8) $(DESTDIR)$(man8dir)
96         $(LN_S) -f btrfs-check.8.gz $(DESTDIR)$(man8dir)/btrfsck.8.gz
97         $(LN_S) -f btrfs-rescue.8.gz $(DESTDIR)$(man8dir)/btrfs-zero-log.8.gz
98         $(LN_S) -f btrfs-inspect-internal.8.gz $(DESTDIR)$(man8dir)/btrfs-debug-tree.8.gz
99
100 uninstall:
101         cd $(DESTDIR)$(man8dir); rm -f btrfs-check.8.gz $(GZ_MAN8)
102         $(RMDIR) -p --ignore-fail-on-non-empty $(DESTDIR)$(man8dir)
103
104 clean:
105         $(QUIET_RM)$(RM) -f *.xml *.xml+ *.5 *.5.gz *.8 *.8.gz *.html
106
107 %.5.gz : %.5
108         $(QUIET_GZIP)$(GZIPCMD) -n -c $< > $@
109
110 %.8.gz : %.8
111         $(QUIET_GZIP)$(GZIPCMD) -n -c $< > $@
112
113 %.5 : %.xml
114         $(QUIET_XMLTO)$(RM) -f $@ && \
115         $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
116
117 %.8 : %.xml
118         $(QUIET_XMLTO)$(RM) -f $@ && \
119         $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
120
121 %.xml : %.asciidoc asciidoc.conf
122         $(QUIET_ASCIIDOC)$(RM) -f $@+ $@ && \
123         $(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
124                 $(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
125                 -o $@+ $< && \
126         $(MV) $@+ $@
127
128 %.html : %.asciidoc asciidoc.conf
129         $(QUIET_ASCIIDOC)$(RM) -f $@+ $@ && \
130         $(ASCIIDOC) -b html -d article -f asciidoc.conf \
131                 $(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
132                 -o $@+ $< && \
133         $(MV) $@+ $@