1f83685b79465335719e9ad6517d5208aab8789b
[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.txt
6 MAN8_TXT += btrfs-convert.txt
7 MAN8_TXT += btrfs-debug-tree.txt
8 MAN8_TXT += btrfs-find-root.txt
9 MAN8_TXT += btrfs-image.txt
10 MAN8_TXT += btrfs-map-logical.txt
11 MAN8_TXT += btrfs-show-super.txt
12 MAN8_TXT += btrfstune.txt
13 MAN8_TXT += btrfs-zero-log.txt
14 MAN8_TXT += fsck.btrfs.txt
15 MAN8_TXT += mkfs.btrfs.txt
16
17 # Sub commands for btrfs
18 MAN8_TXT += btrfs-subvolume.txt
19 MAN8_TXT += btrfs-filesystem.txt
20 MAN8_TXT += btrfs-balance.txt
21 MAN8_TXT += btrfs-device.txt
22 MAN8_TXT += btrfs-scrub.txt
23 MAN8_TXT += btrfs-check.txt
24 MAN8_TXT += btrfs-rescue.txt
25 MAN8_TXT += btrfs-inspect-internal.txt
26 MAN8_TXT += btrfs-send.txt
27 MAN8_TXT += btrfs-receive.txt
28 MAN8_TXT += btrfs-quota.txt
29 MAN8_TXT += btrfs-qgroup.txt
30 MAN8_TXT += btrfs-replace.txt
31 MAN8_TXT += btrfs-restore.txt
32 MAN8_TXT += btrfs-property.txt
33
34 # Mount manpage
35 MAN5_TXT += btrfs-mount.txt
36
37 MAN_TXT = $(MAN8_TXT) $(MAN5_TXT)
38 MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT))
39
40 DOC_MAN5 = $(patsubst %.txt,%.5,$(MAN5_TXT))
41 GZ_MAN5 = $(patsubst %.txt,%.5.gz,$(MAN5_TXT))
42
43 DOC_MAN8 = $(patsubst %.txt,%.8,$(MAN8_TXT))
44 GZ_MAN8 = $(patsubst %.txt,%.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 BTRFS_VERSION = $(shell sed -n 's/.*PACKAGE_VERSION "\(.*\)"/\1/p'\
62                   ../config.h)
63
64 ifneq ($(findstring $(MAKEFLAGS),s),s)
65 ifndef V
66         QUIET_RM        = @
67         QUIET_ASCIIDOC  = @echo "    [ASCII]  $@";
68         QUIET_XMLTO     = @echo "    [XMLTO]  $@";
69         QUIET_GZIP      = @echo "    [GZ]     $@";
70         QUIET_STDERR    = 2> /dev/null
71         QUIET_SUBDIR0   = +@subdir=
72         QUIET_SUBDIR1   = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \
73                           $(MAKE) $(PRINT_DIR) -C $$subdir
74         export V
75 endif
76 endif
77
78 all: man
79 man: man5 man8
80 man5: $(GZ_MAN5)
81 man8: $(GZ_MAN8)
82
83 install: install-man
84
85 install-man: man
86         $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
87         $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
88         $(INSTALL) -m 644 $(GZ_MAN5) $(DESTDIR)$(man5dir)
89         # the source file name of btrfs.5 clashes with section 8 page, but we
90         # want to keep the code generic
91         mv $(DESTDIR)$(man5dir)/btrfs-mount.5.gz $(DESTDIR)$(man5dir)/btrfs.5.gz
92         $(INSTALL) -m 644 $(GZ_MAN8) $(DESTDIR)$(man8dir)
93         $(LN_S) -f btrfs-check.8.gz $(DESTDIR)$(man8dir)/btrfsck.8.gz
94
95 uninstall:
96         cd $(DESTDIR)$(man8dir); rm -f btrfs-check.8.gz $(GZ_MAN8)
97         $(RMDIR) -p --ignore-fail-on-non-empty $(DESTDIR)$(man8dir)
98
99 clean:
100         $(QUIET_RM)$(RM) -f *.xml *.xml+ *.5 *.5.gz *.8 *.8.gz
101
102 %.5.gz : %.5
103         $(QUIET_GZIP)$(GZIPCMD) -n -c $< > $@
104
105 %.8.gz : %.8
106         $(QUIET_GZIP)$(GZIPCMD) -n -c $< > $@
107
108 %.5 : %.xml
109         $(QUIET_XMLTO)$(RM) -f $@ && \
110         $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
111
112 %.8 : %.xml
113         $(QUIET_XMLTO)$(RM) -f $@ && \
114         $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
115
116 %.xml : %.txt asciidoc.conf
117         $(QUIET_ASCIIDOC)$(RM) -f $@+ $@ && \
118         $(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
119                 $(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
120                 -o $@+ $< && \
121         mv $@+ $@