#$OpenXM: OpenXM/src/asir-contrib/packages/doc/Makefile,v 1.59 2004/06/27 18:30:52 ohara Exp $
# targets
# all :
# Extracts all tex-info files from ../src/* and generate *.texi files.
# install : install-help
# install-help : all
# Installing online help to OpenXM/lib/asir/help-*
# install-document : all gen-dvi-ps
# Copy the documents in dvi and ps to OpenXM/doc/asir-contrib
# install-html-help
# Copy html help to OpenXM/doc/asir-contrib
# gen-html-en gen-html-ja
# Generate HTML documents under html-en and html-ja
# gen-help-en gen-help-ja
# Generate help files.
# gen-dvi-ps
# Generate dvi and ps files.
#
# NOTE: install-help should be executed after installing asir2000.
########################################################################
# How to add new documents in the category xxx
# "xxx*.texi <--- xxx.oxweave (manually written) + xxx*-auto.{en,ja} (automatic)"
# (1) "xxx.oxweave" --> xxx.en and xxx.ja
# xxx-auto.en and xxx-auto.ja should be included from
# xxx.en and xxx.ja (JASRCS, ENSRCS)
# NOTE: xxx.oxweave might be embedded in xxx.rr or xxx,
# but this style is obsolete.
# (2) "xxx.rr" or "xxx" --> xxx-auto.en and xxx-auto.ja
# (JAAUTO, ENAUTO)
# xxx-auto*.texi's are extracted from xxx or xxx.rr
# (3) xxx.en and xxx.ja should be included from cman.texi
# and cman-en.texi
# cf. glib* base*
########################################################################
OpenXM_ROOT=../../../../../OpenXM
ASIRDOC=$(OpenXM_ROOT)/src/asir-doc
ASIRLIB=$(OpenXM_ROOT)/../OpenXM_contrib2/asir2000/lib
CONTRIB=$(OpenXM_ROOT)/src/asir-contrib/packages/src
OPTGENTEXI= --include
#OPTGENTEXI= --include --example
## PS documents are installed under $(OpenXM_doc)/asir-contrib
OpenXM_doc=$(OpenXM_ROOT)/doc
DVIPS=dvips -f
OXWEAVE=$(OpenXM_ROOT)/bin/oxweave
TEXI2HTML=texi2html -menu -split_node
RM=rm
DVIPDF=dvipdfmx
SRC = base.oxweave calculus.oxweave complex.oxweave dsolv.oxweave \
glib.oxweave gnuplot.oxweave graphic.oxweave hypergeometric.oxweave \
intro.oxweave m.oxweave matrix.oxweave misc.oxweave names.oxweave \
number.oxweave oxrfc100.oxweave pfp.oxweave phc.oxweave \
plucker.oxweave poly.oxweave print.oxweave series.oxweave sm1.oxweave \
tigers.oxweave util.oxweave windows.oxweave
ENSRCS = ${SRC:.oxweave=.en} opening.texi oxom.en
JASRCS = ${SRC:.oxweave=.ja} opening.texi oxom.ja Diff-ja.texi Dmodule-ja.texi
ENAUTO= base-auto.en glib-auto.en matrix-auto.en number-auto.en pfp-auto.en \
plucker-auto.en poly-auto.en print-auto.en sm1-auto.en util-auto.en
JAAUTO=${ENAUTO:.en=.ja}
.SUFFIXES: .en .ja .oxweave .dvi .pdf
.oxweave.en:
$(RM) -f ${<:.oxweave=.en}
$(OXWEAVE) C en < $< > ${<:.oxweave=.en}
.oxweave.ja:
$(RM) -f ${<:.oxweave=.ja}
$(OXWEAVE) C ja < $< > ${<:.oxweave=.ja}
.dvi.pdf:
${DVIPDF} $<
all : gentexi $(JASRCS) $(ENSRCS) $(JAAUTO) $(ENAUTO)
@echo "Type in tex cman-en.texi to generate the manual(en) in dvi format."
@echo "Type in ptex cman-ja.texi to generate the manual(ja) in dvi format."
install :
@if [ ! -f ./.done_install ] ; then \
make install2 ; \
touch ./.done_install ; \
else \
echo "NOTE: Installation is already done. Remove .done_install for a new installation." ; \
fi
install-document : install-html-help
@if [ ! -f ./.done_install_document ] ; then \
make install-document2 ; \
touch ./.done_install_document ; \
else \
echo "NOTE: Installation of document is already done. Remove .done_install_document for a new installation." ; \
fi
install2 : install-help
gentexi : gentexi.c
gcc -o gentexi gentexi.c
oxom.ja : $(CONTRIB)/om
$(RM) -f oxom.ja
$(OXWEAVE) C ja <$(CONTRIB)/om >oxom.ja
oxom.en : $(CONTRIB)/om
$(RM) -f oxom.en
$(OXWEAVE) C en <$(CONTRIB)/om >oxom.en
### base
base-auto.en : $(CONTRIB)/names.rr gentexi
$(RM) -f base-auto.en
$(OXWEAVE) usage <$(CONTRIB)/names.rr | ./gentexi --category base --en --upnode "Basic (Standard Functions)" ${OPTGENTEXI} >base-auto.en
base-auto.ja : $(CONTRIB)/names.rr gentexi
$(RM) -f base-auto.ja
$(OXWEAVE) usage <$(CONTRIB)/names.rr | ./gentexi --category base --ja --upnode "Basic (Standard Functions)" ${OPTGENTEXI} >base-auto.ja
### plucker
plucker-auto.en : $(CONTRIB)/plucker.rr gentexi
$(RM) -f plucker-auto.en
$(OXWEAVE) usage <$(CONTRIB)/plucker.rr | ./gentexi --category plucker --en --upnode "Plucker relations" ${OPTGENTEXI} >plucker-auto.en
plucker-auto.ja : $(CONTRIB)/plucker.rr gentexi
$(RM) -f plucker-auto.ja
$(OXWEAVE) usage <$(CONTRIB)/plucker.rr | ./gentexi --category plucker --ja --upnode "Plucker relations" ${OPTGENTEXI} >plucker-auto.ja
### number
number-auto.en : $(CONTRIB)/names.rr gentexi
$(RM) -f number-auto.en
cat ${CONTRIB}/names.rr | $(OXWEAVE) usage | ./gentexi --category number --en --upnode "Numbers (Standard Mathematical Functions)" ${OPTGENTEXI} >number-auto.en
number-auto.ja : $(CONTRIB)/names.rr gentexi
$(RM) -f number-auto.ja
cat ${CONTRIB}/names.rr | $(OXWEAVE) usage | ./gentexi --category number --ja --upnode "Numbers (Standard Mathematical Functions)" ${OPTGENTEXI} >number-auto.ja
### matrix
matrix-auto.en : $(CONTRIB)/names.rr gentexi
$(RM) -f matrix-auto.en
$(OXWEAVE) usage <$(CONTRIB)/names.rr | ./gentexi --category matrix --en --upnode "Matrix (Standard Mathematical Functions)" ${OPTGENTEXI} >matrix-auto.en
matrix-auto.ja : $(CONTRIB)/names.rr gentexi
$(RM) -f matrix-auto.ja
$(OXWEAVE) usage <$(CONTRIB)/names.rr | ./gentexi --category matrix --ja --upnode "Matrix (Standard Mathematical Functions)" ${OPTGENTEXI} >matrix-auto.ja
### print
print-auto.en : $(CONTRIB)/names.rr gentexi
$(RM) -f print-auto.en
$(OXWEAVE) usage <$(CONTRIB)/names.rr | ./gentexi --category print --en --upnode "Print (Standard Mathematical Functions)" ${OPTGENTEXI} >print-auto.en
print-auto.ja : $(CONTRIB)/names.rr gentexi
$(RM) -f print-auto.ja
$(OXWEAVE) usage <$(CONTRIB)/names.rr | ./gentexi --category print --ja --upnode "Print (Standard Mathematical Functions)" ${OPTGENTEXI} >print-auto.ja
### poly
poly-auto.en : $(CONTRIB)/names.rr gentexi
$(RM) -f poly-auto.en
$(OXWEAVE) usage <$(CONTRIB)/names.rr | ./gentexi --category poly --en --upnode "Polynomials (Standard Mathematical Functions)" ${OPTGENTEXI} >poly-auto.en
poly-auto.ja : $(CONTRIB)/names.rr gentexi
$(RM) -f poly-auto.ja
$(OXWEAVE) usage <$(CONTRIB)/names.rr | ./gentexi --category poly --ja --upnode "Polynomials (Standard Mathematical Functions)" ${OPTGENTEXI} >poly-auto.ja
### sm1
sm1-auto.en : $(CONTRIB)/sm1 gentexi
$(RM) -f sm1-auto.en
$(OXWEAVE) usage <$(CONTRIB)/sm1 | ./gentexi --category sm1 --en --upnode "SM1 Functions" ${OPTGENTEXI} >sm1-auto.en
sm1-auto.ja : $(CONTRIB)/sm1 gentexi
$(RM) -f sm1-auto.ja
$(OXWEAVE) usage <$(CONTRIB)/sm1 | ./gentexi --category sm1 --ja --upnode "SM1 Functions" ${OPTGENTEXI} >sm1-auto.ja
### glib
glib-auto.en : ${ASIRLIB}/glib gentexi
$(RM) -f glib-auto.en
cat ${ASIRLIB}/glib | $(OXWEAVE) usage | ./gentexi --category glib --en --upnode "Graphic Library (2 dimensional)" ${OPTGENTEXI} >glib-auto.en
glib-auto.ja : ${ASIRLIB}/glib gentexi
$(RM) -f glib-auto.ja
cat ${ASIRLIB}/glib | $(OXWEAVE) usage | ./gentexi --category glib --ja --upnode "Graphic Library (2 dimensional)" ${OPTGENTEXI} >glib-auto.ja
### pfp
pfp-auto.en : $(CONTRIB)/pfpcoh.rr $(CONTRIB)/pfphom.rr gentexi
$(RM) -f pfp-auto.en
cat $(CONTRIB)/pfpcoh.rr $(CONTRIB)/pfphom.rr | $(OXWEAVE) usage | ./gentexi --en --upnode Pfpcohom ${OPTGENTEXI} >pfp-auto.en
pfp-auto.ja : $(CONTRIB)/pfpcoh.rr $(CONTRIB)/pfphom.rr gentexi
$(RM) -f pfp-auto.ja
cat $(CONTRIB)/pfpcoh.rr $(CONTRIB)/pfphom.rr | $(OXWEAVE) usage | ./gentexi --ja --upnode Pfpcohom ${OPTGENTEXI} >pfp-auto.ja
### util
util-auto.en : $(CONTRIB)/names.rr gentexi
$(RM) -f util-auto.en
cat ${CONTRIB}/names.rr | $(OXWEAVE) usage | ./gentexi --category util --en --upnode "Utility Functions" ${OPTGENTEXI} >util-auto.en
util-auto.ja : $(CONTRIB)/names.rr gentexi
$(RM) -f util-auto.ja
cat ${CONTRIB}/names.rr | $(OXWEAVE) usage | ./gentexi --category util --ja --upnode "Utility Functions" ${OPTGENTEXI} >util-auto.ja
### Generating online manual
gen-help-en: $(ENSRCS) $(ASIRDOC)/extract_func $(ENAUTO)
-$(RM) -rf tmp-en help-en
mkdir help-en tmp-en
cp cman-en.texi $(ENSRCS) $(ENAUTO) tmp-en
-(cd tmp-en; makeinfo --force cman-en.texi)
(cd help-en; for i in ../tmp-en/asir-contrib*; do ../$(ASIRDOC)/extract_func $$i; done)
gen-help-ja: $(JASRCS) $(ASIRDOC)/extract_func $(JAAUTO)
-$(RM) -rf tmp-ja help-ja
mkdir help-ja tmp-ja
for i in cman-ja.texi $(JASRCS) $(JAAUTO); do nkf -e $$i > tmp-ja/$$i; done
-(cd tmp-ja; makeinfo --force cman-ja.texi)
(cd help-ja; for i in ../tmp-ja/asir-contrib*; do ../$(ASIRDOC)/extract_func -j $$i; done)
gen-html-en: gen-help-en
-$(RM) -rf html-en
-mkdir html-en
-cp tmp-en/*.texi tmp-en/*.en html-en
-(cd html-en; ${TEXI2HTML} cman-en.texi)
gen-html-ja: gen-help-ja
-mkdir html-ja
-cp tmp-ja/*.texi tmp-ja/*.ja html-ja
-cp tmp-ja/cman-ja.texi html-ja/cman-ja.texi
-(cd html-ja; ${TEXI2HTML} cman-ja.texi)
install-help:
-make install-help-en
-make install-help-ja
install-help-ja: gen-help-ja
$(RM) -rf $(OpenXM_ROOT)/lib/asir/help-jp/xm.help
mkdir $(OpenXM_ROOT)/lib/asir/help-jp/xm.help
-cp -f help-ja/* $(OpenXM_ROOT)/lib/asir/help-jp/xm.help
install-help-en: gen-help-en
$(RM) -rf $(OpenXM_ROOT)/lib/asir/help-eg/xm.help
mkdir $(OpenXM_ROOT)/lib/asir/help-eg/xm.help
-cp -f help-en/* $(OpenXM_ROOT)/lib/asir/help-eg/xm.help
install-html-help: gen-html-en gen-html-ja
-mkdir $(OpenXM_doc)/asir-contrib
-( tar cf - html-en | (cd $(OpenXM_doc)/asir-contrib ; tar xf -))
-( tar cf - html-ja | (cd $(OpenXM_doc)/asir-contrib ; tar xf -))
install-document2 : gen-dvi-ps
-mkdir $(OpenXM_doc)/asir-contrib
-cp cman-ja.dvi $(OpenXM_doc)/asir-contrib/cman-ja.dvi
-$(DVIPS) cman-ja >$(OpenXM_doc)/asir-contrib/cman-ja.ps
-cp cman-en.dvi $(OpenXM_doc)/asir-contrib/cman-en.dvi
-$(DVIPS) cman-en >$(OpenXM_doc)/asir-contrib/cman-en.ps
gen-dvi-ps: all clean-mk-openxm-asir-contrib-document-dir cman-ja.dvi cman-en.dvi
cman-ja.dvi: $(JASRCS) $(JAAUTO)
-ptex cman-ja.texi
-ptex cman-ja.texi
cman-en.dvi: $(ENSRCS) $(ENAUTO)
-tex cman-en.texi
-tex cman-en.texi
cman-ja.pdf: cman-ja.dvi
cman-en.pdf: cman-en.dvi
clean-mk-openxm-asir-contrib-document-dir :
$(RM) -rf $(OpenXM_doc)/asir-contrib
$(RM) -f ./.done_install ./.done_install_document
mkdir $(OpenXM_doc)/asir-contrib
touch $(OpenXM_doc)/asir-contrib/DO_NOT_EDIT_THIS_DIRECTORY._ALL_FILES_ARE_AUTOMATICDALLY_GENERATED.
clean :
$(RM) -f ./.done_install ./.done_install_document
$(RM) -f gentexi $(JAAUTO) $(ENAUTO) gentexi-in.tmp gentexi-out.tmp
$(RM) -f *.aux *.cp *.dvi *.fn *.ky *.log *.pg *.toc *.tp *.vr *~
$(RM) -f *.en *.ja
$(RM) -rf help-ja help-en tmp-en tmp-ja html-en html-ja