-bottom_navigation for sdccman.html pages
[fw/sdcc] / doc / Makefile
index ccfb08be35ec609114a7e8f108e64d7715a1b88f..fc0dda6f7412ac6e201dd2f91e4d675910b55f4f 100644 (file)
@@ -1,29 +1,72 @@
-# Very simple Makefile for converting the design doc into something useful.
-TOPDIR = ..
+include ../Makefile.common
 
-include $(TOPDIR)/Makefile.common
+MANUAL = sdccman
+TSS = test_suite_spec
+CDB = cdbfileformat
 
-TEX = latex
+all: $(MANUAL).html $(MANUAL).pdf $(MANUAL).txt \
+       $(TSS).html $(TSS).pdf $(TSS).txt \
+       $(CDB).html $(CDB).pdf $(CDB).txt
 
-S = test_suite_spec.tex
-PDF = $(S:.tex=.pdf)
-PS = $(S:.tex=.ps)
-HTML = $(S:.tex=.html)
+install:
+       $(INSTALL) -d $(docdir)
+       cp -rf *.txt z80 avr $(docdir)
+       $(shell if [ -f $(MANUAL).html ]; then cp -rf $(MANUAL).html $(docdir); fi)
+       $(shell if [ -f $(TSS).html    ]; then cp -rf $(TSS).html    $(docdir); fi)
+       $(shell if [ -f $(CDB).html    ]; then cp -rf $(CDB).html    $(docdir); fi)
+       $(shell if [ -f *.pdf          ]; then cp -rf *.pdf          $(docdir); fi)
 
-all: $(PS) $(PDF) $(HTML)
+uninstall:
+       rm -rf $(docdir)
 
-%.ps: %.dvi
-       dvips -f.ps $< > $@
 
-%.pdf: %.dvi
-       dvipdf $< $@
+$(MANUAL).html: $(MANUAL).tex $(MANUAL).ind ;#$(MANUAL).glo
+       mkdir -p $@
+       # fixes latex2html problems with two consecutive dashes for long-options: --stack-auto
+       # fixes latex2html problems with \tabularnewline
+       mv $< `basename $< .tex`.orig.tex
+       sed 's,-\\/-,-\\/-\\/-,g' < `basename $< .tex`.orig.tex | \
+       sed 's,\\tabularnewline$$,\\\\,g' > $<
+       -latex2html -split 5 -show_section_numbers -bottom_navigation -dir $(MANUAL).html $(MANUAL)
+       mv `basename $< .tex`.orig.tex $<
 
-%.html: %.tex
-       latex2html -no_subdir -split 0 $<
+$(TSS).html: $(TSS).tex
+       mkdir -p $@
+       # fixes latex2html problems with two consecutive dashes for long-options: --stack-auto
+       # fixes latex2html problems with \tabularnewline
+       mv $< `basename $< .tex`.orig.tex
+       sed 's,-\\/-,-\\/-\\/-,g' < `basename $< .tex`.orig.tex | \
+       sed 's,\\tabularnewline$$,\\\\,g' > $<
+       -latex2html -split 0 -dir $(TSS).html $(TSS)
+       mv `basename $< .tex`.orig.tex $<
 
-install:
-       $(INSTALL) -d $(docdir)
-       cp -rf *.html SDCCUdoc.* *.txt *.tex z80 avr $(docdir)
+$(CDB).html: $(CDB).tex
+       mkdir -p $@
+       # fixes latex2html problems with two consecutive dashes for long-options: --stack-auto
+       # fixes latex2html problems with \tabularnewline
+       mv $< `basename $< .tex`.orig.tex
+       sed 's,-\\/-,-\\/-\\/-,g' < `basename $< .tex`.orig.tex | \
+       sed 's,\\tabularnewline$$,\\\\,g' > $<
+       -latex2html -split 0 -show_section_numbers -dir $(CDB).html $(CDB)
+       mv `basename $< .tex`.orig.tex $<
+
+%.txt: %.lyx
+       lyx -e text $<
+
+%.pdf: %.tex %.dvi
+       which pdflatex > /dev/null && pdflatex $* || dvipdf $*
+
+%.dvi: %.tex
+       latex $<
+
+%.tex: %.lyx
+       lyx -e latex $<
+
+%.ind: %.dvi
+       makeindex -s l2hidx.ist $*
+
+%.glo: %.dvi
+       # the glossary, not implemented yet
+       # makeindex -s l2hglo.ist -o $@ $<
 
-clean:
-       rm -f $(PS) $(PDF) *.log *.aux *~
+include clean.mk