ec8598bb57d3d304e21ceeacc71adf304a9d9d8a
[platform/upstream/btrfs-progs.git] / Documentation / Makefile
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 MAN_TXT = $(MAN8_TXT)
35 MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT))
36 DOC_MAN8 = $(patsubst %.txt,%.8,$(MAN8_TXT))
37 GZ_MAN8 = $(patsubst %.txt,%.8.gz,$(MAN8_TXT))
38
39 mandir ?= $(prefix)/share/man
40 man8dir = $(mandir)/man8
41
42 ASCIIDOC = asciidoc
43 ASCIIDOC_EXTRA =
44 MANPAGE_XSL = manpage-normal.xsl
45 XMLTO = xmlto
46 XMLTO_EXTRA =
47 XMLTO_EXTRA = -m manpage-bold-literal.xsl
48 GZIP = gzip
49 INSTALL ?= install
50 RM ?= rm -f
51 BTRFS_VERSION = $(shell sed -n 's/.*BTRFS_BUILD_VERSION "Btrfs \(.*\)"/\1/p'\
52                   ../version.h)
53
54 ifneq ($(findstring $(MAKEFLAGS),s),s)
55 ifndef V
56         QUIET_ASCIIDOC  = @echo '   ' ASCIIDOC $@;
57         QUIET_XMLTO     = @echo '   ' XMLTO $@;
58         QUIET_GZIP      = @echo '   ' GZIP $@;
59         QUIET_STDERR    = 2> /dev/null
60         QUIET_SUBDIR0   = +@subdir=
61         QUIET_SUBDIR1   = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \
62                           $(MAKE) $(PRINT_DIR) -C $$subdir
63         export V
64 endif
65 endif
66
67 all: man
68 man: man8
69 man8: $(GZ_MAN8)
70
71 install: install-man
72
73 install-man: man
74         $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
75         $(INSTALL) -m 644 $(GZ_MAN8) $(DESTDIR)$(man8dir)
76
77 clean:
78         $(RM) *.xml *.xml+ *.8 *.8.gz
79
80 %.8.gz : %.8
81         $(QUIET_GZIP)$(GZIP) -n -c $< > $@
82
83 %.8 : %.xml 
84         $(QUIET_XMLTO)$(RM) $@ && \
85         $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
86
87 %.xml : %.txt asciidoc.conf
88         $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
89         $(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
90                 $(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
91                 -o $@+ $< && \
92         mv $@+ $@