source: git/doc/Makefile.in @ a725183

spielwiese
Last change on this file since a725183 was a725183, checked in by Matthias Koeppe <mkoeppe@…>, 3 years ago
doc/Makefile.in: Exclude tag pyobject if pyobject module is not built
  • Property mode set to 100644
File size: 8.7 KB
Line 
1####################################################################
2###
3### Makefile for Singular documentation
4#####################################################################
5SHELL=/bin/sh
6
7####################################################################
8##
9## Configuration
10##
11SINGUNAME       = spielwiese
12
13top_builddir    = @top_builddir@
14top_srcdir      = @top_srcdir@
15bindir          = ${top_builddir}/Singular
16EXEEXT          = @EXEEXT@
17
18##
19## needed programs
20##
21MKINSTALLDIRS   = mkdir -p
22UUDECODE        = uudecode
23
24PERL            = perl
25TEX             = tex
26MAKEINFO        = @MAKEINFO@ --force
27TEXI2PDF        = @TEXI2PDF@
28TEXINDEX        = @TEXINDEX@
29# use our local texi2html
30TEXI2HTML       = ./texi2html
31DVIPS           = @DVIPS@
32
33VERBOSE         = 1 # override this with make VERBOSE=2
34
35# d2t stuff
36SINGULAR        = ${top_builddir}/Singular/Singular
37SINGULAR_LIB_DIR= ${top_srcdir}/Singular/LIB
38# from Singular/Makefile.am, extended by dynmodules stuff:
39TESTS_ENVIRONMENT = SINGULARPATH='${top_builddir}/Singular/LIB:${top_srcdir}/Singular/LIB:${top_builddir}/libpolys/polys/.libs:${top_builddir}/factory/gftables:'"$$(for d in ${top_builddir}/Singular/dyn_modules/*/.libs; do printf $$d:; done)" SINGULAR_ROOT_DIR='${top_builddir}' PATH="${top_builddir}/IntegerProgramming:$$PATH"
40LIBPARSE        = ${bindir}/libparse${EXEEXT}
41DOC_SUBDIR      = ./d2t_singular
42EX_SUBDIR       = ./examples
43CHKSUM_DB       = ${DOC_SUBDIR}/chksum
44# which tags to avoid:
45DOC2TEX_EXAMPLE_EXCLUSIONS = -exclude polymake -exclude bertini
46@ENABLE_PYOBJECT_MODULE_FALSE@ DOC2TEX_EXAMPLE_EXCLUSIONS += -exclude pyobject
47# which tags to avoid:
48TAG             = polymake
49DOC2TEX         = ${TESTS_ENVIRONMENT} ${PERL} ./doc2tex.pl -docdir ${DOC_SUBDIR} \
50                  -Singular ${SINGULAR} -verbose ${VERBOSE} -make ${MAKE} \
51                  -exdir ${EX_SUBDIR} ${DOC2TEX_EXAMPLE_EXCLUSIONS}
52
53DOC2TEX_M        = ${TESTS_ENVIRONMENT} ${PERL} ./doc2tex.pl -docdir ${DOC_SUBDIR} \
54                  -Singular ${SINGULAR} -verbose ${VERBOSE} -make ${MAKE} \
55                  -exdir ${EX_SUBDIR}
56
57PL2DOC          = ${PERL} ./pl2doc.pl ${TAG} -db ${CHKSUM_DB}
58PL2DOC_M        = ${PERL} ./pl2doc.pl -db ${CHKSUM_DB}
59
60# t2h stuff
61TMP_DIR         = tmp
62HTML_SUBDIR     = html
63TEXI2HTML_INIT  = t2h_singular.init
64ifeq ($(VERBOSE),0)
65T2H_VERBOSE     =
66else
67T2H_VERBOSE     = -Verbose
68endif
69TEXI2HTML_OPTS  = -init_file ${TEXI2HTML_INIT} -l2h \
70                  -short_ext -l2h_tmp ${TMP_DIR} -subdir ${HTML_SUBDIR} \
71                  ${T2H_VERBOSE}
72HTML_MANUAL_PREFIX = sing
73HTML_TUTOR_PREFIX  = tut
74HTML_MANUAL_TOP    = index.htm
75HTML_TUTOR_TOP     = tutor.htm
76##
77## End configuration dependend stuff
78#################################################################
79
80###########################################################
81# File sets
82#
83STANDALONE_TEXI_FILES   = COPYING.texi NEWS.texi  lib2doc.texi
84
85DOC2TEX_FILES   = cones.tex countedref.tex decodegb.tex \
86                examples.tex general.tex ti_ip.tex math.tex reference.tex \
87                start.tex types.tex pdata.tex tricks.tex platform.tex \
88                plural.tex letterplace.tex plulibs.tex sca.tex pyobject.tex
89
90MANUAL_FILES    = ${TEX_FILES} ${DOC2TEX_FILES}
91
92TUTOR_FILES     = \
93                tutor.tex examples.tex start.tex COPYING.texi
94
95IMAGES_UU       := $(wildcard images/*.uu)
96IMAGES     := $(IMAGES_UU:images/%.uu=%)
97IMAGES_SRC := $(IMAGES:%=images/%)
98IMAGES_HTML := $(IMAGES:%=${HTML_SUBDIR}/%)
99
100# prepend bindir to path so that programs from there are taken first
101export PATH := "${bindir}:${PATH}"
102
103###########################################################
104# top targets
105#
106
107.PHONY: info dvi ps html
108
109# default target
110all: info dvi html singular.idx
111
112# info stuff
113info: singular.hlp
114
115singular.hlp: ${MANUAL_FILES} singular.tex s-plural.tex s-plulibs.tex s-letterplace.tex
116        - ${MAKEINFO} --no-split singular.tex
117
118# dvi stuff
119dvi: manual.dvi usercard.dvi
120
121singular.dvi: ${MANUAL_FILES} singular.tex s-plural.tex s-plulibs.tex s-letterplace.tex
122        tex singular.tex
123        texindex singular.cp
124        tex singular.tex
125        texindex singular.cp
126        tex singular.tex
127
128singular.pdf: ${MANUAL_FILES} singular.tex s-plural.tex s-plulibs.tex s-letterplace.tex
129        ${TEXI2PDF} singular.tex
130
131manual.dvi: ${MANUAL_FILES} manual.tex s-plural.tex s-plulibs.tex  s-letterplace.tex
132        tex manual.tex
133        texindex manual.cp
134        tex manual.tex
135        texindex manual.cp
136        tex manual.tex
137
138tutor.dvi: ${TUTOR_FILES}
139        tex tutor.tex
140        tex tutor.tex
141        tex tutor.tex
142
143tutor.pdf: ${TUTOR_FILES}
144        ${TEXI2PDF} tutor.tex
145
146usercard.dvi: usercard.tex singcard.tex
147        ${TEX} $<
148
149s-plural.tex: plural.tex
150        sed -e "s/BR_PLURAL_BR/(plural)/g" <plural.tex >s-plural.tex
151
152s-plulibs.tex: plulibs.tex
153        sed -e "s/BR_PLURAL_BR/(plural)/g" <plulibs.tex >s-plulibs.tex
154
155s-letterplace.tex: letterplace.tex
156        sed -e "s/BR_LETTERPLACE_BR/(letterplace)/g" <letterplace.tex >s-letterplace.tex
157
158# postscript stuff
159ps: dvi manual.ps usercard.ps
160
161usercard.ps: usercard.dvi
162        ${DVIPS} -t landscape -t a4 $< -o $@
163
164%.ps: %.dvi
165        ${DVIPS} $< -o $@
166
167###########################################################
168# texinfo targets
169#
170manual.tex:  ${MANUAL_FILES} doc2tex.pl ${SINGULAR} singular.doc $(STANDALONE_TEXI_FILES)
171        +${DOC2TEX_M} -no_fun -o manual.tex singular.doc
172
173singular.tex: ${MANUAL_FILES} doc2tex.pl ${LIB_TEX_FILES} ${SINGULAR} ${LIBPARSE} singular.doc $(STANDALONE_TEXI_FILES)
174        +${DOC2TEX} -o singular.tex singular.doc
175
176#pattern rule for tex files
177%_noEx.tex : %.doc doc2tex.pl ${SINGULAR}
178        +${DOC2TEX_M} -o $@ -no_ex $<
179
180%.tex: %.doc doc2tex.pl ${SINGULAR}
181        +${DOC2TEX} -o $@ $<
182
183# pattern rules for lib docus
184${DOC_SUBDIR}/%_lib.pl : ${SINGULAR_LIB_DIR}/%.lib ${LIBPARSE}
185        test -d ${DOC_SUBDIR} || mkdir ${DOC_SUBDIR}
186        ${LIBPARSE} -i $< > $@
187
188%_noFun.doc : %.pl pl2doc.pl
189        ${PL2DOC_M}  -no_fun -o $@  $<
190
191%.doc : %.pl pl2doc.pl
192        ${PL2DOC} -o $@ $<
193
194# do not delete intermediate .pl and .doc files
195.PRECIOUS: %.doc %_noFun.doc ${DOC_SUBDIR}/%_lib.pl
196
197# index file for help
198singular.idx: singular.hlp ${HTML_SUBDIR}/${HTML_MANUAL_PREFIX}_cp.idx doc2idx.pl
199        ${PERL} doc2idx.pl singular.hlp ${HTML_SUBDIR}/${HTML_MANUAL_PREFIX}_cp.idx ${CHKSUM_DB} > singular.idx
200
201###########################################################
202
203ifeq ($(SINGUNAME),@SINGUNAME@)
204UNAME_OPT = -D UNAME
205endif
206
207# targets which produce stand-alone documents
208%.${SINGUNAME}.txt : %.texi
209        ${MAKEINFO} $(UNAME_OPT) --no-header --paragraph-indent none  -o $@ $<
210
211%.txt :  %.texi
212        ${MAKEINFO} --no-header --paragraph-indent none -o $@ $<
213
214%.${SINGUNAME}.html : %.texi
215        ${PERL} ${TEXI2HTML} $(UNAME_OPT) -init_file t2h_standalone.init -split none -out_file $@ $<
216
217%.html : %.texi
218        ${PERL} ${TEXI2HTML} -init_file t2h_standalone.init -split none -out_file $@ $<
219
220% : %.txt
221        cp $< $@
222
223###########################################################
224# html targets
225#
226html: ${TMP_DIR} ${HTML_SUBDIR}/${HTML_MANUAL_TOP} ${IMAGES_HTML} $(STANDALONE_TEXI_FILES)
227${HTML_SUBDIR}/${HTML_MANUAL_TOP}: ${TEXI2HTML_INIT} ${TEXI2HTML} singular.tex s-plural.tex s-letterplace.tex
228        ${PERL} ${TEXI2HTML} ${TEXI2HTML_OPTS} -prefix ${HTML_MANUAL_PREFIX} \
229        -top_file ${HTML_MANUAL_TOP} singular.tex
230
231# html stuff
232html_tutor: ${TMP_DIR} ${HTML_SUBDIR}/${HTML_TUTOR_TOP} ${IMAGES_HTML}
233${HTML_SUBDIR}/${HTML_TUTOR_TOP}: ${TEXI2HTML_INIT} ${TEXI2HTML} tutor.tex
234        ${PERL} ${TEXI2HTML} ${TEXI2HTML_OPTS} -prefix ${HTML_TUTOR_PREFIX} \
235        -top_file ${HTML_TUTOR_TOP} tutor.tex
236
237${HTML_SUBDIR}/${HTML_MANUAL_PREFIX}_cp.idx: ${HTML_SUBDIR}/${HTML_MANUAL_TOP}
238
239${TMP_DIR}:
240        ${MKINSTALLDIRS} ${TMP_DIR}
241
242# pattern rules for images - but not everybody has gnu-uudecode
243images/%.gif : images/%.gif.uu
244        cd images; ${UUDECODE} ../$< ;cd ..
245
246images/%.jpg : images/%.jpg.uu
247        cd images; ${UUDECODE} ../$< ;cd ..
248
249images/%.xbm : images/%.xbm.uu
250        cd images; ${UUDECODE} ../$< ;cd ..
251
252${IMAGES_HTML} : ${IMAGES_SRC}
253        test -d ${HTML_SUBDIR} || mkdir ${HTML_SUBDIR}
254        cp ${IMAGES_SRC} ${HTML_SUBDIR}
255
256###########################################################
257# misc targets
258#
259texi2html = $(TEXI2HTML:%.pl=%)
260
261clean: mostlyclean
262        /bin/rm -rf singular.tex manual.tex ${DOC_SUBDIR} ${EX_SUBDIR}
263
264mostlyclean:
265        /bin/rm -f .singular_hist doe.tmp dump.ascii example.mp example.txt
266        /bin/rm -f save_i test.ascii test.mp
267        /bin/rm -f Z* *.tst *.pag *.dir *.lst *.log *.aux *.cp *.cps
268        /bin/rm -f *.fn *.fns *.ky *.kys *.log *.pg *.pgs *.toc *.tp
269        /bin/rm -f *.tps *.vr *.vrs *.dvi *.ps
270        /bin/rm -f s-plural.tex s-plulibs.tex s-letterplace.tex
271        /bin/rm -f singular.hlp manual.hlp  ${DOC2TEX_FILES} singular.idx
272        /bin/rm -f manual.hlp
273        /bin/rm -f ${HTML_SUBDIR}/${HTML_MANUAL_TOP} ${HTML_SUBDIR}/${HTML_TUTOR_TOP}
274        /bin/rm -rf ${STANDALONE_HTML_FILES} ${STANDALONE_FILES} ${STANDALONE_TXT_FILES}
275        /bin/rm -f INSTALL_unix.${SINGUNAME}.txt INSTALL_unix.${SINGUNAME}.html
276
277distclean: clean
278        /bin/rm -f Makefile
279        /bin/rm -rf ${HTML_SUBDIR} ../html ../examples
280
281maintainer-clean: distclean
282
283depend:
284        @echo "No make depend available!"
285
286${SINGULAR}:
287#       cd ..; ${MAKE} ${SINGULAR}
288
289html-done: ${MANUAL_FILES}
Note: See TracBrowser for help on using the repository browser.