1AUTOMAKE_OPTIONS = 1.4 foreign
2AUTOTOOL_VERSION=autoconf-2.52 automake-1.5 libtool-1.4.2
3
4PYRUN = PYTHONDONTWRITEBYTECODE=1 $(PYDEFS) @PYTHON@ $(PYFLAGS)
5PLRUN = PERL_DL_NONLAZY=1         $(PLDEFS) @PERL@   $(PLFLAGS)
6DELETE = echo deleting...
7
8doc_FILES = README.MSVC6 README.SDL COPYING.MPL COPYING.LIB COPYING.ZLIB \
9            zziplib.html zzipmmapped.html zzipfseeko.html
10htm_FILES = zzip-index.htm zzip-zip.htm zzip-file.htm zzip-sdl-rwops.htm \
11            zzip-extio.htm zzip-xor.htm zzip-crypt.htm zzip-cryptoid.htm \
12            zzip-api.htm  zzip-basics.htm zzip-extras.htm zzip-parse.htm \
13            64on32.htm future.htm fseeko.htm mmapped.htm memdisk.htm \
14            configs.htm sfx-make.htm   developer.htm download.htm \
15            history.htm referentials.htm  faq.htm copying.htm notes.htm \
16            functions.htm zip-php.htm
17htms_FILES = changes.htm
18SDL = @top_srcdir@/SDL
19SDL_RWOPS = $(SDL)/SDL_rwops_zzcat.c \
20            $(SDL)/SDL_rwops_zzip.c $(SDL)/SDL_rwops_zzip.h
21changelog = @top_srcdir@/ChangeLog
22
23EXTRA_DIST = make-doc.py $(doc_FILES) $(htm_FILES) $(SDL_RWOPS) \
24             make-doc.pl make-dbk.pl   mksite.sh mksite.pl body.htm \
25             dbk2man.py dir2index.py \
26             $(zzipdoc_FILES) sdocbook.css \
27             zziplib-manpages.dbk zziplib-master.dbk \
28             zziplib-manpages.tar
29CLEANFILES = *.pc *.omf *.tar *.html *.xml changes.htm
30DISTCLEANFILES = zziplib.spec
31
32zzipdoc_FILES = makedocs.py               zzipdoc/__init__.py \
33	zzipdoc/commentmarkup.py          zzipdoc/match.py    \
34	zzipdoc/dbk2htm.py                zzipdoc/htm2dbk.py  \
35	zzipdoc/functionheader.py         zzipdoc/options.py  \
36	zzipdoc/functionlisthtmlpage.py   zzipdoc/textfileheader.py \
37	zzipdoc/functionlistreference.py  zzipdoc/textfile.py \
38	zzipdoc/functionprototype.py      zzipdoc/htmldocument.py \
39                                          zzipdoc/docbookdocument.py
40
41html_FILES = $(htm_FILES:.htm=.html)       $(htms_FILES:.htm=.html) \
42             $(htm_FILES:.htm=.print.html) $(htms_FILES:.htm=.print.html) \
43             site.html site.print.html
44
45all : all-am default
46default : doc @MAINTAINER_MODE_FALSE@ mans
47clean-doc clean-docs : clean-unpack
48	- rm $(DISTCLEANFILES)
49	- rm $(MAINTAINERCLEANFILES)
50install-data-local : @MAINTAINER_MODE_FALSE@ install-mans
51
52# -------------------------------------------------------------------
53zziplib.spec : @top_srcdir@/$(PACKAGE).spec
54	@ cp $? $@ # the two zzip-doc.* will grep through zziplib.spec
55doc  : $(doc_FILES) site.html
56docs : doc manpages.tar htmpages.tar
57# docu : docs
58docu :
59	- rm zziplib2.html zzipmmapped.html zzipfseeko.html
60	$(MAKE) manpages.tar htmpages.tar DELETE=exit
61
62zziplib.html: zziplib.xml
63zziplib.xml: zziplib.spec $(srcdir)/Makefile.am \
64                 $(srcdir)/zzipdoc/*.py \
65                 $(srcdir)/makedocs.py @top_srcdir@/zzip/*.c
66	$(PYRUN) $(srcdir)/makedocs.py @top_srcdir@/zzip/*.c $(zziplib) \
67                   "--package=$(PACKAGE)" "--version=$(VERSION)" \
68                   "--onlymainheader=zzip/lib.h" "--output=zziplib"
69	test -s zziplib.docbook && mv zziplib.docbook zziplib.xml
70zzipmmapped.html: zzipmmapped.xml
71zzipmmapped.xml: zziplib.spec $(srcdir)/Makefile.am \
72                 $(srcdir)/zzipdoc/*.py \
73                 $(srcdir)/makedocs.py @top_srcdir@/zzip/*.c
74	$(PYRUN) $(srcdir)/makedocs.py @top_srcdir@/zzip/*.c $(zziplib) \
75                   "--package=$(PACKAGE)" "--version=$(VERSION)" \
76                   "--onlymainheader=zzip/mmapped.h" "--output=zzipmmapped"
77	test -s zzipmmapped.docbook && mv zzipmmapped.docbook zzipmmapped.xml
78zzipfseeko.html: zzipfseeko.xml
79zzipfseeko.xml: zziplib.spec $(srcdir)/Makefile.am \
80                 $(srcdir)/zzipdoc/*.py \
81                 $(srcdir)/makedocs.py @top_srcdir@/zzip/*.c
82	$(PYRUN) $(srcdir)/makedocs.py @top_srcdir@/zzip/*.c $(zziplib) \
83                   "--package=$(PACKAGE)" "--version=$(VERSION)" \
84                   "--onlymainheader=zzip/fseeko.h" "--output=zzipfseeko"
85	test -s zzipfseeko.docbook && mv zzipfseeko.docbook zzipfseeko.xml
86
87omfdir=${datadir}/omf
88pkgomfdir=${omfdir}/${PACKAGE}
89pkgdocdir=${mandir}/../doc/${PACKAGE}
90bins = @top_srcdir@/bins
91DOCEXAMPLES = $(bins)/zzdir.c $(bins)/zzcat.c \
92	      $(bins)/zzobfuscated.c $(bins)/zziptest.c \
93              $(bins)/zzxordir.c $(bins)/zzxorcat.c \
94	      $(bins)/zzxorcopy.c        $(SDL_RWOPS)
95
96install-docs: $(doc_FILES) $(man_FILES) site.html htmpages.tar
97	$(mkinstalldirs) $(DESTDIR)$(pkgdocdir)
98	$(INSTALL_DATA) $(html_FILES) $(DESTDIR)$(pkgdocdir)
99	for i in $(doc_FILES) $(DOCEXAMPLES) $(changelog) $(srcdir)/README.* \
100	; do $(INSTALL_DATA) `test -f $$i || echo $(srcdir)/`$$i \
101	    $(DESTDIR)$(pkgdocdir) ; done
102	cd $(DESTDIR)$(pkgdocdir) && ln -sf zzip-index.html index.html
103	$(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/man
104	@ echo $(PAX_TAR_EXTRACT) htmpages.tar '>>>' $(DESTDIR)$(pkgdocdir)/man/ \
105	; test -f htmpages.tar || cd "$srcdir" \
106	; P=`pwd` ; test -s htmpages.tar || exit 1 \
107	; cd $(DESTDIR)$(pkgdocdir)/man && $(PAX_TAR_EXTRACT) $$P/htmpages.tar \
108	; true
109
110install-doc : install-docs $(PACKAGE)-doc.omf
111	$(mkinstalldirs) $(DESTDIR)$(pkgomfdir)
112	$(INSTALL_DATA) $(PACKAGE)-doc.omf $(DESTDIR)$(pkgomfdir)/
113	- test ".$(DESTDIR)" != "." || scrollkeeper-update
114
115SOURCEFORGE_GROUP=zziplib
116SOURCEFORGE_HOST=web.sourceforge.net
117SOURCEFORGE_PATH=/home/groups/z/zz/zziplib/htdocs
118www: upload-sourceforge
119upload-sourceforge:
120	$(MAKE) install-docs DESTDIR=/tmp/zziplib-htdocs-$$USER/
121	echo scp ... $(SOURCEFORGE_HOST):$(SOURCEFORGE_PATH)/ ; sleep 4
122	scp -r /tmp/zziplib-htdocs-$$USER/$(pkgdocdir)/* \
123               $$USER,$(SOURCEFORGE_GROUP)@$(SOURCEFORGE_HOST):$(SOURCEFORGE_PATH)
124	rm -r /tmp/zziplib-htdocs-$$USER/
125
126# ------------------------------------------------------------ package manpages
127mans : manpages
128install-mans : install-man3
129
130man3 man manpages : manpages.tar
131html htm htmpages : htmpages.tar
132
133zziplib-manpages.tar : manpages.tar
134	test -s "$@" || test -s "$(srcdir)/$@"
135manpages.tar : zziplib.xml zzipmmapped.xml zzipfseeko.xml
136	: "unix man format of the manpages - goes to ../share/man/man3"
137	@ if test "$(XMLTO)" != ":" \
138	; then echo going to regenerate "$@" in subdir "'"man"'" \
139	; echo 'test ! -d man3 || rm man3/* ; test -d man3 || mkdir man3' \
140	;       test ! -d man3 || rm man3/* ; test -d man3 || mkdir man3  \
141	; echo '$(XMLTO) -o man3 man zziplib.xml' \
142	;       $(XMLTO) -o man3 man zziplib.xml  \
143	; echo '$(XMLTO) -o man3 man zzipmmapped.xml' \
144	;       $(XMLTO) -o man3 man zzipmmapped.xml  \
145	; echo '$(XMLTO) -o man3 man zzipfseeko.xml' \
146	;       $(XMLTO) -o man3 man zzipfseeko.xml  \
147	; if test -d man3/man3; then mv man3 man3_ \
148	;   mv man3_/man3 man3; rm -r man3_; fi \
149	; echo 'chmod 664 man3/*.3' \
150	;       chmod 664 man3/*.3  \
151	; echo '$(PAX_TAR_CREATE) "$@" man3/' \
152	;       $(PAX_TAR_CREATE) "$@" man3/  \
153	; fi ; true
154	@ if test "$(XMLTO)" = ":" \
155	; then echo going to regenerate "$@" in subdir "'"man"'" \
156	; echo 'test ! -d man3 || rm man3/* ; test -d man3 || mkdir man3' \
157	;       test ! -d man3 || rm man3/* ; test -d man3 || mkdir man3  \
158	; echo     '$(srcdir)/dbk2man.py -o man3 man zziplib.xml' \
159	; $(PYTHON) $(srcdir)/dbk2man.py -o man3 man zziplib.xml  \
160	; echo     '$(srcdir)/dbk2man.py -o man3 man zzipmmapped.xml' \
161	; $(PYTHON) $(srcdir)/dbk2man.py -o man3 man zzipmmapped.xml  \
162	; echo     '$(srcdir)/dbk2man.py -o man3 man zzipfseeko.xml' \
163	; $(PYTHON) $(srcdir)/dbk2man.py -o man3 man zzipfseeko.xml  \
164	; if test -d man3/man3; then mv man3 man3_ \
165	;   mv man3_/man3 man3; rm -r man3_; fi \
166	; echo 'chmod 664 man3/*.3' \
167	;       chmod 664 man3/*.3  \
168	; echo '$(PAX_TAR_CREATE) "$@" man3/' \
169	;       $(PAX_TAR_CREATE) "$@" man3/  \
170	; fi ; true
171	@ if test -s $@ \
172	; then echo cp $@ zziplib-$@ "(saved)"; cp $@ zziplib-$@ \
173	; else echo cp $(srcdir)/zziplib-$@ $@; cp $(srcdir)/zziplib-$@ $@ \
174	; fi
175
176zziplib-htmpages.tar : htmpages.tar
177	test -s "$@" || test -s "$(srcdir)/$@"
178htmpages.tar : zziplib.xml zzipmmapped.xml zzipfseeko.xml zziplib-manpages.dbk
179	: "html format of the manpages - put into zziplib/htdocs/man/*"
180	@ if test "$(XMLTO)" != ":" \
181	; then echo going to regenerate "$@" in subdir "'"html"'" \
182	; echo 'test ! -d html || rm html/* ; test -d html || mkdir html' \
183	;       test ! -d html || rm html/* ; test -d html || mkdir html  \
184	; echo 'cp $(srcdir)/zziplib-manpages.dbk zziplib-manpages.xml' \
185	;       cp $(srcdir)/zziplib-manpages.dbk zziplib-manpages.xml \
186	; echo '$(XMLTO) -o html html zziplib-manpages.xml | tee written.lst' \
187	;       $(XMLTO) -o html html zziplib-manpages.xml | tee written.lst \
188	; echo '$(PAX_TAR_CREATE) $@ html/*.*' \
189	;       $(PAX_TAR_CREATE) $@ html/*.*  \
190	; fi ; true
191	@ if test "$(XMLTO)" = ":" \
192	; then echo going to regenerate "$@" in subdir "'"html"'" \
193	; echo 'test ! -d html || rm html/* ; test -d html || mkdir html' \
194	;       test ! -d html || rm html/* ; test -d html || mkdir html  \
195	; echo 'cp $(srcdir)/zziplib-manpages.dbk zziplib-manpages.xml' \
196	;       cp $(srcdir)/zziplib-manpages.dbk zziplib-manpages.xml \
197	; echo     '$(srcdir)/dbk2man.py -o html html zziplib.xml' \
198	; $(PYTHON) $(srcdir)/dbk2man.py -o html html zziplib.xml  \
199	; echo     '$(srcdir)/dbk2man.py -o html html zzipmmapped.xml' \
200	; $(PYTHON) $(srcdir)/dbk2man.py -o html html zzipmmapped.xml  \
201	; echo     '$(srcdir)/dbk2man.py -o html html zzipfseeko.xml' \
202	; $(PYTHON) $(srcdir)/dbk2man.py -o html html zzipfseeko.xml  \
203	; echo     '$(srcdir)/dir2index.py -o html html ' \
204	; $(PYTHON) $(srcdir)/dir2index.py -o html html   \
205	; echo '$(PAX_TAR_CREATE) $@ html/*.*' \
206	;       $(PAX_TAR_CREATE) $@ html/*.*  \
207	; fi ; true
208	@ if test -s $@ \
209	; then echo cp $@ zziplib-$@ "(saved)"; cp $@ zziplib-$@ \
210	; else echo cp $(srcdir)/zziplib-$@ $@; cp $(srcdir)/zziplib-$@ $@ \
211	; fi
212
213install-man3 : manpages.tar
214	$(mkinstalldirs) $(DESTDIR)$(mandir)/man3
215	P=`pwd` ; test -s manpages.tar || exit 1 \
216	; cd $(DESTDIR)$(mandir) && $(PAX_TAR_EXTRACT) $$P/manpages.tar \
217        ; true
218
219unpack : manpages.tar htmpages.tar
220	test -s manpages.tar && test -s htmpages.tar
221	(rm -rf _htm && mkdir _htm && cd _htm && $(PAX_TAR_EXTRACT) ../htmpages.tar)
222	(rm -rf _man && mkdir _man && cd _man && $(PAX_TAR_EXTRACT) ../manpages.tar)
223clean-unpack :
224	rm -rf _htm
225	rm -rf _man
226
227# --------------------------------------------------------------- OMF handling
228spec_file=$(top_srcdir)/$(PACKAGE).spec
229DOCSERIES= 775fb73e-1874-11d7-93e9-e18cd7ea3c2e
230FROMSPEC= $(spec_file) | head -1 | sed -e 's,<,\&lt;,g' -e 's,>,\&gt;,g'
231DATESPEC= `date +%Y-%m-%d`
232
233$(PACKAGE)-doc.omf : $(spec_file) Makefile
234	: "OMF for the html documentation - a copy of zziplib.sf.net"
235	echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>' >$@
236	echo '<omf><resource><creator> Guido Draheim </creator>' >>$@
237	grep Packager $(FROMSPEC) | sed -e 's,Packager *: *, <maintainer>,' \
238                                    -e '/<maintainer>/s,$$,</maintainer>,' >>$@
239	grep Summary  $(FROMSPEC) | sed -e 's,Summary *: *, <title>,' \
240		       -e '/<title>/s,$$,</title>,' >>$@
241	echo ' <date>'$(DATESPEC)'</date>' >>$@
242	echo ' <version identifier="$(VERSION)" date="'$(DATESPEC)'"/>' >>$@
243	grep Group  $(FROMSPEC) | sed -e 's,Group *: *, <subject category=",' \
244	                -e 's,/,|,g' -e '/<subject/s,$$," />,' >>$@
245	echo ' <format mime="text/html"/>' >>$@
246	pkgdocdir=`echo "$(pkgdocdir)" | sed -e "s|/[a-z][a-z]*/[.][.]/|/|"` \
247	echo ' <identifier url="file:'"$$pkgdocdir"'/zzip-index.html"/>' >>$@
248	echo ' <language code="C"/>' >>$@
249	echo ' <relation seriesid="$(DOCSERIES)"/>' >>$@
250	echo ' <rights type="GNU LGPL" holder="Guido Draheim"' >>$@
251	pkgdocdir=`echo "$(pkgdocdir)" | sed -e "s|/[a-z][a-z]*/[.][.]/|/|"` \
252	echo '         license="'"$$pkgdocdir"')/COPYING.LIB"/>' >>$@
253	echo '</resource></omf>' >>$@
254
255DOCBOOKDTD= -//OASIS/DTD Docbook V4.1.2//EN
256MANSERIES= a302c642-1888-11d7-86f6-ba4b52ef847d
257$(PACKAGE)-man.omf : $(PACKAGE)-doc.omf $(PACKAGE).xml
258	: "OMF for functions reference - the docbook master of the manpages"
259	sed -e 's,"text/html","text/xml" dtd="$(DOCBOOKDTD)",' \
260	    -e 's,</title>, (Function Reference)</title>,' \
261	    -e 's,/index.html,/xml/manpages.xml,' \
262	    -e 's,$(DOCSERIES),$(MANSERIES),' $(PACKAGE)-doc.omf > $@
263	test -s $@ || rm $@
264
265omf : $(PACKAGE)-doc.omf $(PACKAGE)-man.omf
266install-omf : omf zziplib.xml zzipmmapped.xml zzipfseeko.xml
267	: "not installed by default anymore - 'make install-doc' has one OMF"
268	$(mkinstalldirs) $(DESTDIR)$(pkgomfdir)
269	$(INSTALL_DATA) $(PACKAGE)-doc.omf $(DESTDIR)$(pkgomfdir)/
270	$(mkinstalldirs) $(DESTDIR)$(pkgdocdir)
271	$(INSTALL_DATA) $(srcdir)/zziplib-manpages.xml \
272               $(DESTDIR)$(pkgdocdir)/xml/manpages.xml
273	$(INSTALL_DATA)  zziplib.xml zzipmmapped.xml zzipfseeko.xml \
274               $(DESTDIR)$(pkgdocdir)/xml/
275	$(INSTALL_DATA) $(PACKAGE)-man.omf $(DESTDIR)$(pkgomfdir)/
276	- test ".$(DESTDIR)" != "." || scrollkeeper-update -v
277
278# ----------------------------------------------- mksite.sh for the main html
279site.htm : body.htm
280	cp $(srcdir)/body.htm site.htm
281mksite_sh_args = --VERSION=$(VERSION) --xml --src-dir=$(srcdir) --print
282site.html : body.htm site.htm mksite.sh $(htm_FILES) $(htms_FILES)
283	cp $(srcdir)/body.htm site.htm
284	perl $(srcdir)/mksite.pl $(mksite_sh_args) site.htm || \
285	$(SHELL) $(srcdir)/mksite.sh $(mksite_sh_args) site.htm
286
287changes.htm : $(top_srcdir)/ChangeLog Makefile
288	echo "<pre>" > $@ ; cat $(top_srcdir)/ChangeLog \
289	| sed -e "s,\\&,\\&amp\\;,g" \
290	-e "s,<,\\&lt\\;,g" -e "s,>,\\&gt\\;,g" \
291	-e "/^[A-Z].*[12][09][09][09]/s,\\(.*\\),<b>&</b>," \
292	-e "/^[0-9]/s,\\(.*\\),<b>&</b>," >> $@ ; echo "</pre>" >>$@
293
294# ----------------------------------------------- create pdf via docbook xml
295# sorry, the xmlto / docbook-xsl are too broken to rebuild the PDF anymore
296
297zzip.xml : $(htm_FILES) zziplib.xml make-dbk.pl
298	: '@PERL@ make-dbk.pl $(htm_FILES) zziplib.xml >$@'
299	@PYTHON@ $(srcdir)/zzipdoc/htm2dbk.py $(htm_FILES) zziplib.xml >$@
300	test -s "$@" || rm "$@"
301
302zzip.html : zzip.xml
303	xmlto html-nochunks zzip.xml
304zzip.pdf  : zzip.xml
305	xmlto pdf zzip.xml
306
307zziplib.pdf : $(htm_FILES) $(srcdir)/zziplib-master.dbk mksite.pl
308	cp $(srcdir)/zziplib-master.dbk zziplib.docbook
309	xmlto pdf zziplib.docbook ; rm zziplib.docbook
310	test -s zziplib.pdf
311
312pdfs : zziplib.pdf
313