##################################################################### ### ### 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 VERBOSE = 1 # override this with make VERBOSE=2 # d2t stuff SINGULAR = @SINGULAR@ SINGULAR_LIB_DIR= ../Singular/LIB LIBPARSE = ${bindir}/libparse D2T_SUBDIR = ./d2t_singular CHKSUM_DB = ${D2T_SUBDIR}/chksum.db DOC2TEX = ${PERL5} ./doc2tex.pl -subdir ${D2T_SUBDIR} \ -Singular ${SINGULAR} -verbose ${VERBOSE} -make ${MAKE} PL2DOC = ${PERL5} ./pl2doc.pl -db ${CHKSUM_DB} # t2h stuff TMP_DIR = @TMP_DIR@ HTML_SUBDIR = html TEXI2HTML_INIT = t2h_singular.init ifeq ($(VERBOSE),0) T2H_VERBOSE = -no_verbose else T2H_VERBOSE = -verbose endif TEXI2HTML_OPTS = -init_file ${TEXI2HTML_INIT} @TEXI2HTML_OPTS@ \ -short_extn -l2h_tmp ${TMP_DIR} -subdir ${HTML_SUBDIR} \ ${T2H_VERBOSE} HTML_MANUAL_PREFIX = sing HTML_TUTOR_PREFIX = tut HTML_MANUAL_TOP = index.htm HTML_TUTOR_TOP = tutor.htm ## ## End configuration dependend stuff ################################################################# ########################################################### # File sets # TEX_FILES = copyright.tex DOC2TEX_FILES = \ examples.tex general.tex math.tex reference.tex \ start.tex types.tex pdata.tex tricks.tex platform.tex MANUAL_FILES = ${TEX_FILES} ${DOC2TEX_FILES} TUTOR_FILES = \ tutor.tex examples.tex start.tex copyright.tex IMAGES_UU := $(wildcard images/*.uu) IMAGES := $(IMAGES_UU:images/%.uu=%) IMAGES_SRC := $(IMAGES:%=images/%) IMAGES_HTML := $(IMAGES:%=${HTML_SUBDIR}/%) # prepend bindir to path so that programs from there are taken first export PATH := "${bindir}:${PATH}" ########################################################### # top targets # .PHONY: info dvi ps html # default target all: info dvi html singular.idx # 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 $@ ########################################################### # texinfo targets # manual.tex: ${MANUAL_FILES} doc2tex.pl ${SINGULAR} singular.doc ${DOC2TEX} -no_fun -o manual.tex singular.doc singular.tex: ${MANUAL_FILES} doc2tex.pl ${LIB_TEX_FILES} ${SINGULAR} ${LIBPARSE} singular.doc ${DOC2TEX} -o singular.tex singular.doc #pattern rule for tex files %_noEx.tex : %.doc doc2tex.pl ${SINGULAR} ${DOC2TEX} -o $@ -no_ex $< %.tex: %.doc doc2tex.pl ${SINGULAR} ${DOC2TEX} -o $@ $< # pattern rules for lib docus ${D2T_SUBDIR}/%_lib.pl : ${SINGULAR_LIB_DIR}/%.lib ${LIBPARSE} test -d ${D2T_SUBDIR} || mkdir ${D2T_SUBDIR} ${LIBPARSE} -i $< > $@ %_noFun.doc : %.pl pl2doc.pl ${PL2DOC} -no_fun -o $@ $< %.doc : %.pl pl2doc.pl ${PL2DOC} -o $@ $< # do not delete intermediate .pl and .doc files .PRECIOUS: %.doc %_noFun.doc ${D2T_SUBDIR}/%_lib.pl # index file for help singular.idx: singular.hlp ${HTML_SUBDIR}/${HTML_MANUAL_PREFIX}_cp.idx ${CHKSUM_DB} doc2idx.pl ${PERL5} doc2idx.pl singular.hlp ${HTML_SUBDIR}/${HTML_MANUAL_PREFIX}_cp.idx ${CHKSUM_DB} > singular.idx # targets which produce stand-alone documents COPYING: copyright.tex ${MAKEINFO} --no-header -o COPYING copyright.tex ########################################################### # html targets # html: ${HTML_SUBDIR}/${HTML_MANUAL_TOP} ${IMAGES_HTML} ${HTML_SUBDIR}/${HTML_MANUAL_TOP}: ${TEXI2HTML_INIT} ${TEXI2HTML} singular.tex ${PERL5} ${TEXI2HTML} ${TEXI2HTML_OPTS} -prefix ${HTML_MANUAL_PREFIX} \ -top_file ${HTML_MANUAL_TOP} singular.tex # html stuff html_tutor: ${HTML_SUBDIR}/${HTML_TUTOR_TOP} ${IMAGES_HTML} ${HTML_SUBDIR}/${HTML_TUTOR_TOP}: ${TEXI2HTML_INIT} ${TEXI2HTML} tutor.tex ${PERL5} ${TEXI2HTML} ${TEXI2HTML_OPTS} -prefix ${HTML_TUTOR_PREFIX} \ -top_file ${HTML_TUTOR_TOP} tutor.tex ${HTML_SUBDIR}/${HTML_MANUAL_PREFIX}_cp.idx: ${HTML_SUBDIR}/${HTML_MANUAL_TOP} # pattern rules for images images/%.gif : images/%.gif.uu uudecode $< -o $@ images/%.jpg : images/%.jpg.uu uudecode $< -o $@ images/%.xbm : images/%.xbm.uu uudecode $< -o $@ ${IMAGES_HTML} : ${IMAGES_SRC} test -d ${HTML_SUBDIR} || mkdir ${HTML_SUBDIR} cp ${IMAGES_SRC} ${HTML_SUBDIR} ########################################################### # misc targets # install: singular.hlp html/index.htm singular.idx ${MKINSTALLDIRS} ${infodir} ${INSTALL_DATA} singular.hlp ${infodir} test -L ${htmldir} || (rm -rf ${htmldir}; ln -s `pwd`/${HTML_DIR} ${htmldir}) uninstall: rm -f ${infodir}/singular.hlp - rmdir ${infodir} clean: mostlyclean /bin/rm -rf singular.tex manual.tex ${HTML_DIR} ${D2T_SUBDIR} mostlyclean: /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 *.dvi *.ps /bin/rm -f singular.hlp manual.hlp ${DOC2TEX_FILES} singular.idx /bin/rm -f ${HTML_SUBDIR}/${HTML_MANUAL_TOP} ${HTML_SUBDIR}/${HTML_TUTOR_TOP} distclean: clean /bin/rm -f Makefile maintainer-clean: distclean ${SINGULAR}: # cd ..; ${MAKE} ${SINGULAR} Makefile: Makefile.in cd ..; ${MAKE} doc/Makefile html-done: ${MANUAL_FILES}