]> granicus.if.org Git - linux-pam/blob - doc/Makefile.am
Relevant BUGIDs: none
[linux-pam] / doc / Makefile.am
1 #
2 # Copyright (c) 2005 Thorsten Kukuk <kukuk@suse.de>
3 #
4
5 FILES=pam pam_appl pam_modules
6 FSRCS=pam_appl.sgml pam_modules.sgml
7
8 TEXTS=txts/pam.txt txts/pam_appl.txt txts/pam_modules.txt
9 HTMLS=html/pam.html html/pam_appl.html html/pam_modules.html
10 PSFILES=ps/pam.ps ps/pam_appl.ps ps/pam_modules.ps
11 PDFFILES=pdf/pam.pdf pdf/pam_appl.pdf pdf/pam_modules.pdf
12
13 MODULES=$(shell ls modules/*.sgml)
14
15 CLEANFILES = *~ */*~ $(TEXTS) $(PSFILES) $(PDFFILES) html/*.html \
16         ps/missfont.log MODULES-SGML pam.sgml \
17         specs/draft-morgan-pam-current.txt
18
19 EXTRA_DIST = $(FSRCS) CREDITS NOTES figs/pam_orient.txt pdf/README \
20         ps/README html/README txts/README man/template-man $(MANS) \
21         pam_source.sgml $(MODULES) modules/module.sgml-template \
22         modules/README
23
24 man_MANS = $(addprefix man/, pam.8 pam.conf.5 pam.d.5 pam_authenticate.3 \
25         pam_chauthtok.3 pam_close_session.3 pam_end.3 pam_fail_delay.3 \
26         pam_get_item.3 pam_open_session.3 pam_set_item.3 pam_setcred.3 \
27         pam_start.3 pam_strerror.3)
28
29 #######################################################
30
31 all: html text postscript pdf
32
33 html: $(HTMLS)
34
35 $(HTMLS) : $(FSRCS) pam.sgml
36         @echo 'Building html documentation from files in modules/*.sgml'
37 if HAVE_SGML2HTML
38         @for i in $(FILES) ; do \
39         if [ ! -f "html/$$i.html" ] || [ "$$i.sgml" -nt "html/$$i.html" ]; \
40         then \
41                 cd html ; sgml2html ../$$i ; \
42                 if [ $$? -ne 0 ]; then exit 1 ; fi ; \
43                 cd .. ; \
44         fi ; \
45         done
46 else
47         @echo XXX - you do not have the sgml2html binary installed
48 endif
49
50 text: $(TEXTS)
51
52 $(TEXTS) : $(FSRCS) pam.sgml
53         @echo 'Building text documentation from files in modules/*.sgml'
54 if HAVE_SGML2TXT
55         @for i in $(FILES) ; do \
56                 if [ ! -f "txts/$$i.txt" ] \
57                                 || [ "$$i.sgml" -nt "txts/$$i.txt" ]; then \
58                         cd txts ; sgml2txt ../$$i ; cd .. ; \
59                 fi ; \
60         done
61 else
62         @echo XXX - you do not have the sgml2txt binary installed
63 endif
64
65 postscript: $(PSFILES)
66
67 $(PSFILES): $(FSRCS) pam.sgml
68         @echo 'Building postscript documentation from files in modules/*.sgml'
69 if HAVE_SGML2PS
70         @for i in $(FILES) ; do \
71         if [ ! -f "ps/$$i.ps" ] || [ "$$i.sgml" -nt "ps/$$i.ps" ]; then \
72                 cd ps ; $(PSER) ../$$i ; cd .. ; \
73         fi ; \
74         done
75 else
76         @echo XXX - neither sgml2ps nor sgml2latex binaries are installed
77 endif
78
79 pdf: $(PDFFILES)
80
81 $(PDFFILES) : $(PSFILES)
82         @echo 'Building PDF documentation from files in modules/*.sgml'
83 if HAVE_SGML2PS
84 if HAVE_PS2PDF
85         @for i in $(FILES) ; do \
86         if [ ! -f "pdf/$$i.pdf" ] || [ "ps/$$i.ps" -nt "ps/$$i.pdf" ]; then \
87                 ps2pdf ps/$$i.ps pdf/$$i.pdf ; \
88         fi ; \
89         done
90 else
91         @echo XXX - ps2pdf is not installed
92 endif
93 else
94         @echo XXX - neither sgml2ps nor sgml2latex binaries are installed
95 endif
96
97 pam.sgml: pam_source.sgml MODULES-SGML CREDITS
98         @sed -e '/^<!\-\- insert\-file MODULES\-SGML \-\->/r MODULES-SGML' pam_source.sgml | sed -e '/^<!\-\- insert\-file CREDITS \-\->/r CREDITS' > pam.sgml
99
100 MODULES-SGML: $(MODULES)
101         @echo 'Building module text from files in modules/*.sgml'
102         @rm -f MODULES-SGML
103         @echo '<!-- modules included:' > MODULES-SGML
104         @ls modules/*.sgml >> MODULES-SGML
105         @echo '  and that is all -->' >> MODULES-SGML
106         @cat modules/*.sgml >> MODULES-SGML
107
108 extraclean: clean
109
110 install-data-local:
111         $(mkinstalldirs) $(DESTDIR)$(DOCDIR)
112 if HAVE_SGML2TXT
113         $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/text
114         for file in txts/*.txt; do \
115           $(INSTALL_DATA) $$file $(DESTDIR)$(DOCDIR)/text
116         done
117 endif
118 if HAVE_SGML2PS
119         $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/ps
120         for file in ps/*.ps; do \
121           $(INSTALL_DATA) $$file $(DESTDIR)$(DOCDIR)/ps
122         done
123 if HAVE_PS2PDF
124         $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/pdf
125         for file in pdf/*.pdf; do \
126           $(INSTALL_DATA) $$file $(DESTDIR)$(DOCDIR)/pdf
127         done
128 endif
129 endif
130 if HAVE_SGML2HTML
131         $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/html
132         for file in html/*.html; do \
133           $(INSTALL_DATA) $$file $(DESTDIR)$(DOCDIR)/html
134         done
135 endif
136
137 spec: specs/draft-morgan-pam.raw
138         cd specs/formatter && $(MAKE)
139         specs/formatter/padout < specs/draft-morgan-pam.raw > specs/draft-morgan-pam-current.txt
140
141 releasedocs: all spec
142         tar zvfc Linux-PAM-$(VERSION)-docs.tar.gz \
143         --exclude CVS --exclude .cvsignore --exclude '.#*' \
144         html ps txts pdf specs/draft-morgan-pam-current.txt
145