summaryrefslogtreecommitdiff
path: root/Documentation/Makefile.in
blob: aea2cb47c3f04db50ce0c04ad623868d2467a752 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# Guard against environment variables
MAN8_TXT =

# Top level commands
MAN8_TXT += btrfs.asciidoc
MAN8_TXT += btrfs-convert.asciidoc
MAN8_TXT += btrfs-find-root.asciidoc
MAN8_TXT += btrfs-image.asciidoc
MAN8_TXT += btrfs-map-logical.asciidoc
MAN8_TXT += btrfs-select-super.asciidoc
MAN8_TXT += btrfstune.asciidoc
MAN8_TXT += fsck.btrfs.asciidoc
MAN8_TXT += mkfs.btrfs.asciidoc

# Sub commands for btrfs
MAN8_TXT += btrfs-subvolume.asciidoc
MAN8_TXT += btrfs-filesystem.asciidoc
MAN8_TXT += btrfs-balance.asciidoc
MAN8_TXT += btrfs-device.asciidoc
MAN8_TXT += btrfs-scrub.asciidoc
MAN8_TXT += btrfs-check.asciidoc
MAN8_TXT += btrfs-rescue.asciidoc
MAN8_TXT += btrfs-inspect-internal.asciidoc
MAN8_TXT += btrfs-send.asciidoc
MAN8_TXT += btrfs-receive.asciidoc
MAN8_TXT += btrfs-quota.asciidoc
MAN8_TXT += btrfs-qgroup.asciidoc
MAN8_TXT += btrfs-replace.asciidoc
MAN8_TXT += btrfs-restore.asciidoc
MAN8_TXT += btrfs-property.asciidoc

# Category 5 manual page
MAN5_TXT += btrfs-man5.asciidoc

MAN_TXT = $(MAN8_TXT) $(MAN5_TXT)
MAN_XML = $(patsubst %.asciidoc,%.xml,$(MAN_TXT))
MAN_HTML = $(patsubst %.asciidoc,%.html,$(MAN_TXT))

DOC_MAN5 = $(patsubst %.asciidoc,%.5,$(MAN5_TXT))
GZ_MAN5 = $(patsubst %.asciidoc,%.5.gz,$(MAN5_TXT))

DOC_MAN8 = $(patsubst %.asciidoc,%.8,$(MAN8_TXT))
GZ_MAN8 = $(patsubst %.asciidoc,%.8.gz,$(MAN8_TXT))

mandir ?= $(prefix)/share/man
man8dir = $(mandir)/man8
man5dir = $(mandir)/man5

ASCIIDOC = @ASCIIDOC@
ASCIIDOC_EXTRA =
MANPAGE_XSL = manpage-normal.xsl
XMLTO = @XMLTO@
XMLTO_EXTRA =
XMLTO_EXTRA = -m manpage-bold-literal.xsl
GZIPCMD = @GZIP@
INSTALL = @INSTALL@
RM = @RM@
RMDIR = @RMDIR@
LN_S = @LN_S@
MV = @MV@
SED = @SED@
BTRFS_VERSION = $(shell $(SED) -n 's/.*PACKAGE_VERSION "\(.*\)"/\1/p'\
		  ../config.h)

ifneq ($(findstring $(MAKEFLAGS),s),s)
ifndef V
	QUIET_RM	= @
	QUIET_ASCIIDOC	= @echo "    [ASCII]  $@";
	QUIET_XMLTO	= @echo "    [XMLTO]  $@";
	QUIET_GZIP	= @echo "    [GZ]     $@";
	QUIET_STDERR	= 2> /dev/null
	QUIET_SUBDIR0	= +@subdir=
	QUIET_SUBDIR1	= ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \
			  $(MAKE) $(PRINT_DIR) -C $$subdir
	export V
endif
endif

all: man
man: man5 man8
man5: $(GZ_MAN5)
man8: $(GZ_MAN8)
html: $(MAN_HTML)

install: install-man

install-man: man
	$(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
	$(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
	$(INSTALL) -m 644 $(GZ_MAN5) $(DESTDIR)$(man5dir)
	# the source file name of btrfs.5 clashes with section 8 page, but we
	# want to keep the code generic
	$(MV) $(DESTDIR)$(man5dir)/btrfs-man5.5.gz $(DESTDIR)$(man5dir)/btrfs.5.gz
	$(INSTALL) -m 644 $(GZ_MAN8) $(DESTDIR)$(man8dir)
	$(LN_S) -f btrfs-check.8.gz $(DESTDIR)$(man8dir)/btrfsck.8.gz
	$(LN_S) -f btrfs-rescue.8.gz $(DESTDIR)$(man8dir)/btrfs-zero-log.8.gz
	$(LN_S) -f btrfs-inspect-internal.8.gz $(DESTDIR)$(man8dir)/btrfs-debug-tree.8.gz
	$(LN_S) -f btrfs-inspect-internal.8.gz $(DESTDIR)$(man8dir)/btrfs-show-super.8.gz

uninstall:
	cd $(DESTDIR)$(man8dir); rm -f btrfs-check.8.gz $(GZ_MAN8)
	$(RMDIR) -p --ignore-fail-on-non-empty $(DESTDIR)$(man8dir)

clean:
	$(QUIET_RM)$(RM) -f *.xml *.xml+ *.5 *.5.gz *.8 *.8.gz *.html

%.5.gz : %.5
	$(QUIET_GZIP)$(GZIPCMD) -n -c $< > $@

%.8.gz : %.8
	$(QUIET_GZIP)$(GZIPCMD) -n -c $< > $@

%.5 : %.xml
	$(QUIET_XMLTO)$(RM) -f $@ && \
	$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<

%.8 : %.xml
	$(QUIET_XMLTO)$(RM) -f $@ && \
	$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<

%.xml : %.asciidoc asciidoc.conf
	$(QUIET_ASCIIDOC)$(RM) -f $@+ $@ && \
	$(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
		$(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
		-o $@+ $< && \
	$(MV) $@+ $@

%.html : %.asciidoc asciidoc.conf
	$(QUIET_ASCIIDOC)$(RM) -f $@+ $@ && \
	$(ASCIIDOC) -b html -d article -f asciidoc.conf \
		$(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
		-o $@+ $< && \
	$(MV) $@+ $@