2 # Copyright (c) 2005 Thorsten Kukuk <kukuk@suse.de>
5 FILES=pam pam_appl pam_modules
6 FSRCS=pam_appl.sgml pam_modules.sgml
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
13 MODULES=$(shell ls modules/*.sgml)
15 CLEANFILES = *~ */*~ $(TEXTS) $(PSFILES) $(PDFFILES) html/pam*.html \
16 ps/missfont.log MODULES-SGML pam.sgml \
17 specs/draft-morgan-pam-current.txt
19 EXTRA_DIST = $(FSRCS) CREDITS NOTES figs/pam_orient.txt pdf/README \
20 ps/README html/index.html txts/README man/template-man $(MANS) \
21 pam_source.sgml $(MODULES) modules/module.sgml-template \
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)
29 #######################################################
31 all: html text postscript pdf
35 $(HTMLS) : $(FSRCS) pam.sgml
36 @echo 'Building html documentation from files in modules/*.sgml'
38 @for i in $(FILES) ; do \
39 if [ ! -f "html/$$i.html" ] || [ "$$i.sgml" -nt "html/$$i.html" ]; \
41 cd html ; sgml2html ../$$i ; \
42 if [ $$? -ne 0 ]; then exit 1 ; fi ; \
47 @echo XXX - you do not have the sgml2html binary installed
52 $(TEXTS) : $(FSRCS) pam.sgml
53 @echo 'Building text documentation from files in modules/*.sgml'
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 .. ; \
62 @echo XXX - you do not have the sgml2txt binary installed
65 postscript: $(PSFILES)
67 $(PSFILES): $(FSRCS) pam.sgml
68 @echo 'Building postscript documentation from files in modules/*.sgml'
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 .. ; \
76 @echo XXX - neither sgml2ps nor sgml2latex binaries are installed
81 $(PDFFILES) : $(PSFILES)
82 @echo 'Building PDF documentation from files in modules/*.sgml'
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 ; \
91 @echo XXX - ps2pdf is not installed
94 @echo XXX - neither sgml2ps nor sgml2latex binaries are installed
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
100 MODULES-SGML: $(MODULES)
101 @echo 'Building module text from files in 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
111 $(mkinstalldirs) $(DESTDIR)$(DOCDIR)
113 $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/text
114 for file in txts/*.txt; do \
115 $(INSTALL_DATA) $$file $(DESTDIR)$(DOCDIR)/text
119 $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/ps
120 for file in ps/*.ps; do \
121 $(INSTALL_DATA) $$file $(DESTDIR)$(DOCDIR)/ps
124 $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/pdf
125 for file in pdf/*.pdf; do \
126 $(INSTALL_DATA) $$file $(DESTDIR)$(DOCDIR)/pdf
131 $(mkinstalldirs) $(DESTDIR)$(DOCDIR)/html
132 for file in html/*.html; do \
133 $(INSTALL_DATA) $$file $(DESTDIR)$(DOCDIR)/html
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
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 tar jvfc Linux-PAM-$(VERSION)-docs.tar.bz2 \
146 --exclude CVS --exclude .cvsignore --exclude '.#*' \
147 html ps txts pdf specs/draft-morgan-pam-current.txt