##################################################################### ### ### Makefile for Singular documentation ### ##################################################################### SHELL=/bin/sh #################################################################### ## ## Configuration ## ## directory where info files are installed prefix = @prefix@ infodir = ${prefix}/info bindir = @bindir@ htmldir = ${prefix}/html ## ## needed programs ## @SET_MAKE@ CC = @CC@ INSTALL = ../install-sh -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 MKINSTALLDIRS = ../mkinstalldirs PERL5 = @PERL5@ TEX = tex MAKEINFO = @MAKEINFO@ TEXI2DVI = @TEXI2DVI@ TEXINDEX = @TEXINDEX@ TEXI2HTML = @TEXI2HTML@ DVIPS = dvips IMAGES_UU := $(wildcard images/*.uu) # d2t stuff SINGULAR = @SINGULAR@ LIBPARSE = ${bindir}/libparse D2T_SUBDIR = ./d2t_singular DOC2TEX = ./doc2tex.pl -subdir ${D2T_SUBDIR} -Singular ${SINGULAR} \ -libparse ${LIBPARSE} -I ../Singular/LIB TMP_DIR = @TMP_DIR@ TEXI2HTML_OPTS = @TEXI2HTML_OPTS@ -l2h_tmp ${TMP_DIR} ## ## End configuration dependend stuff ################################################################# # files TEX_FILES = copyright.tex DOC2TEX_FILES = \ examples.tex general.tex math.tex reference.tex \ start.tex types.tex pdata.tex tricks.tex MANUAL_FILES = ${TEX_FILES} ${DOC2TEX_FILES} TUTOR_FILES = \ tutor.tex examples.tex start.tex copyright.tex IMAGES := $(IMAGES_UU:images/%.uu=%) IMAGES_SRC := $(IMAGES:%=images/%) IMAGES_HTML := $(IMAGES:%=html/%) IMAGES_TUTOR := $(IMAGES:%=html_tutor/%) # prepend bindir to path so that programs from there are taken first export PATH := "${bindir}:${PATH}" .PHONY: info dvi ps # default target all: info dvi html # info stuff info: singular.hlp singular.hlp: ${MANUAL_FILES} singular.tex - ${MAKEINFO} --no-split singular.tex # dvi stuff dvi: manual.dvi usercard.dvi singular.dvi: ${MANUAL_FILES} singular.tex ${TEXI2DVI} singular.tex manual.dvi: ${MANUAL_FILES} manual.tex ${TEXI2DVI} manual.tex tutor.dvi: ${TUTOR_FILES} ${TEXI2DVI} tutor.tex usercard.dvi: usercard.tex singcard.tex ${TEX} $< # postscript stuff ps: singular.ps usercard.ps usercard.ps: usercard.dvi ${DVIPS} -t landscape -t a4 $< -o $@ %.ps: %.dvi ${DVIPS} $< -o $@ # html stuff html: html/index.htm ${IMAGES_HTML} html/index.htm: t2h_singular.init t2h.init singular.tex singular.hlp ${TEXI2HTML} ${PERL5} ${TEXI2HTML} -init_file t2h_singular.init ${TEXI2HTML_OPTS} -subdir html singular.tex # html stuff html_tutor: ${TUTOR_FILES} ${IMAGES_TUTOR} test -d html_tutor || mkdir html_tutor cd html_tutor && ${PERL5} ${TEXI2HTML} ${TEXI2HTML_OPTS} ../tutor.tex test -d html || mkdir html test -d html/images || mkdir html/images for img in ${IMAGES}; \ do \ echo uudecode images/$${img}.uu; \ uudecode images/$${img}.uu; \ done test -e html_tutor/images || (cd html_tutor; ln -s ../html/images images) touch html_tutor # how to create the texinfo files manual.tex: ${MANUAL_FILES} doc2tex.pl ${SINGULAR} ${LIBPARSE} singular.doc ${PERL5} ${DOC2TEX} -o manual.tex singular.doc singular.tex: ${MANUAL_FILES} doc2tex.pl ${SINGULAR} ${LIBPARSE} singular.doc ${PERL5} ${DOC2TEX} -lib_fun -lib_ex -o singular.tex singular.doc %.tex: %.doc doc2tex.pl ${SINGULAR} ${LIBPARSE} ${PERL5} ${DOC2TEX} $* # targets which produce stand-alone documents COPYING: copyright.tex ${MAKEINFO} --no-header -o COPYING copyright.tex ${IMAGES_HTML} : ${IMAGES_SRC} test -d html || mkdir html cp ${IMAGES_SRC} html ${IMAGES_TUTOR} : ${IMAGES_SRC} test -d html_tutor || mkdir html_tutor cp ${IMAGES_SRC} html_tutor images/%.gif : images/%.gif.uu uudecode $< -o $@ images/%.jpg : images/%.jpg.uu uudecode $< -o $@ images/%.xbm : images/%.xbm.uu uudecode $< -o $@ # targets concerned with maintenance install: singular.hlp html/index.htm ${MKINSTALLDIRS} ${infodir} ${INSTALL_DATA} singular.hlp ${infodir} test -L ${htmldir} || (rm -rf ${htmldir}; ln -s `pwd`/html ${htmldir}) uninstall: rm -f ${infodir}/singular.hlp - rmdir ${infodir} clean: /bin/rm -f .singular_hist doe.tmp dump.ascii example.mp example.txt /bin/rm -f save_i test.ascii test.mp /bin/rm -f Z* *.tst *.pag *.dir *.lst *.log *.aux *.cp *.cps /bin/rm -f *.fn *.fns *.ky *.kys *.log *.pg *.pgs *.toc *.tp /bin/rm -f *.tps *.vr *.vrs /bin/rm -f singular.hlp *.dvi *.ps ${DOC2TEX_FILES} /bin/rm -rf singular.tex manual.tex html ${D2T_SUBDIR} mostlyclean: clean distclean: mostlyclean /bin/rm -f Makefile maintainer-clean: distclean ${SINGULAR}: # cd ..; ${MAKE} ${SINGULAR} Makefile: Makefile.in cd ..; ${MAKE} doc/Makefile html-done: ${MANUAL_FILES}