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