git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4106 4a8a32a2...
[fw/sdcc] / doc / Makefile
index a715ec29bdee8e88c41799ef6912523d1bd0cd3d..437a8a6599fe441d1932d234003075b2fc76cd04 100644 (file)
@@ -2,29 +2,67 @@ include ../Makefile.common
 
 MANUAL = sdccman
 TSS = test_suite_spec
+CDB = cdbfileformat
 
-all: $(MANUAL).html $(MANUAL).pdf $(MANUAL).txt \
-       $(TSS).html $(TSS).pdf $(TSS).txt
+all: $(MANUAL).pdf $(MANUAL).html/index.html $(MANUAL).txt \
+       $(TSS).pdf $(TSS).html/index.html $(TSS).txt \
+       $(CDB).pdf $(CDB).html/index.html $(CDB).txt
 
 install:
-       $(INSTALL) -d $(docdir)
-       cp -rf *.html *.txt *.pdf $(MANUAL).html $(TSS).html z80 avr $(docdir)
+       $(INSTALL) -d $(DESTDIR)$(docdir)
+       cp -rf *.txt z80 avr $(DESTDIR)$(docdir)
+       if [ -f $(MANUAL).html/index.html ]; then cp -rf $(MANUAL).html $(DESTDIR)$(docdir); fi
+       if [ -f $(TSS).html/index.html    ]; then cp -rf $(TSS).html    $(DESTDIR)$(docdir); fi
+       if [ -f $(CDB).html/index.html    ]; then cp -rf $(CDB).html    $(DESTDIR)$(docdir); fi
+       if [ -f $(MANUAL).pdf             ]; then cp -rf $(MANUAL).pdf  $(DESTDIR)$(docdir); fi
+       if [ -f $(TSS).pdf                ]; then cp -rf $(TSS).pdf     $(DESTDIR)$(docdir); fi
+       if [ -f $(CDB).pdf                ]; then cp -rf $(CDB).pdf     $(DESTDIR)$(docdir); fi
+       rm -rf `find $(DESTDIR)$(docdir) -name .svn -type d`
+       rm -f $(DESTDIR)$(docdir)/*/WARNINGS $(DESTDIR)$(docdir)/*/*.pl $(DESTDIR)$(docdir)/*/images.*
 
 uninstall:
-       rm -rf $(docdir)
-
-
-$(MANUAL).html: $(MANUAL).tex $(MANUAL).ind ;#$(MANUAL).glo
-       latex2html -split 5 -show_section_numbers -dir $(MANUAL).html $(MANUAL)
-
-$(TSS).html: $(TSS).tex
-       latex2html -split 0 -dir $(TSS).html $(TSS)
+       rm -rf $(DESTDIR)$(docdir)
+
+$(MANUAL).html/index.html: $(MANUAL).tex $(MANUAL).ind ;#$(MANUAL).glo
+       mkdir -p `dirname $@`
+       # 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 -local_icons -info "" -dir $(MANUAL).html $(MANUAL)
+       mv `basename $< .tex`.orig.tex $<
+
+$(TSS).html/index.html: $(TSS).tex
+       mkdir -p `dirname $@`
+       # 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 -local_icons -info "" -dir $(TSS).html $(TSS)
+       mv `basename $< .tex`.orig.tex $<
+
+$(CDB).html/index.html: $(CDB).tex
+       mkdir -p `dirname $@`
+       # 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 -local_icons -info "" -dir $(CDB).html $(CDB)
+       mv `basename $< .tex`.orig.tex $<
 
 %.txt: %.lyx
        lyx -e text $<
 
-%.pdf: %.dvi
-       pdflatex $*
+%.pdf: %.tex %.dvi %.ind
+       dvipdf $*
+# pdflatex creates documents for acrobat reader >= 5.0 
+#      which pdflatex > /dev/null && pdflatex $* || dvipdf $*
+
+%.ps:  %.pdf
+       dvips $*
 
 %.dvi: %.tex
        latex $<
@@ -33,20 +71,31 @@ $(TSS).html: $(TSS).tex
        lyx -e latex $<
 
 %.ind: %.dvi
-       makeindex -s l2hidx.ist $*
+       latex $*
+       -makeindex $*
+#      -makeindex -s l2hidx.ist $*
+       latex $*
+       latex $*
 
 %.glo: %.dvi
        # the glossary, not implemented yet
        # makeindex -s l2hglo.ist -o $@ $<
 
+archive: all
+       rm -rf sdcc-doc sdcc-doc.tar.bz2
+       mkdir sdcc-doc
+       rsync -rCt avr z80 *.pdf *.txt sdcc-doc
+
+       for doc in $(MANUAL) $(TSS) $(CDB); do \
+         rsync -Rt $$doc.html/*.html $$doc.html/*.png $$doc.html/*.css sdcc-doc/; \
+       done
+
+       mkdir sdcc-doc/as
+       rsync -rCt ../as/doc/* sdcc-doc/as/
+
+       mkdir sdcc-doc/ucsim
+       cd ../sim/ucsim/doc; rsync *.html *.jpg *.gif *.fig ../../../doc/sdcc-doc/ucsim/
 
-clean:
-       # remove intermediate file, not the final pdf's and html's
-       # because these are needed for the distribution
-       rm -rf *.tex *.aux *.dvi *.idx *.ilg *.ind *.log *.toc *~ \#* \
-               *.ps */*.css */*.pl *.gif core
+       tar -c sdcc-doc | bzip2 -9 > sdcc-doc.tar.bz2
 
-superclean:
-       $(MAKE) clean
-       # now get rid of the generated pdf's and html's as well
-       rm -rf *.pdf $(MANUAL).html $(TSS).html
\ No newline at end of file
+include clean.mk