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