* src/pic/device.c (pic14_assignConfigWordValue): remember assignments to
[fw/sdcc] / doc / Makefile
index 1a25ba07ea3d1158f6b746fdebf1db72013e96e1..05c197623faba5f44434d16e5aa4615062bac18a 100644 (file)
 include ../Makefile.common
 
+ifdef $(LYX_SYSDIR)
+  LYXFLAGS += -sysdir $(LYX_SYSDIR)
+endif
+
 MANUAL = sdccman
 TSS = test_suite_spec
+CDB = cdbfileformat
 
-all: $(MANUAL).html $(MANUAL).pdf $(MANUAL).txt \
-       $(TSS).html $(TSS).pdf $(TSS).txt
-
-install:
-       $(INSTALL) -d $(docdir)
-       cp -rf *.html *.txt *.pdf $(MANUAL).html $(TSS).html z80 avr $(docdir)
+SOURCES = $(MANUAL).lyx $(TSS).lyx $(CDB).lyx
 
-uninstall:
-       rm -rf $(docdir)
+TXT  = $(SOURCES:.lyx=.txt)
+PDF  = $(SOURCES:.lyx=.pdf)
+TEX  = $(SOURCES:.lyx=.tex)
+HTML_DIR   = $(SOURCES:.lyx=.html)
+HTML_INDEX = $(SOURCES:.lyx=.html/index.html)
 
+all: $(TXT) $(PDF) $(HTML_INDEX)
 
-$(MANUAL).html: $(MANUAL).tex $(MANUAL).ind ;#$(MANUAL).glo
-       mkdir -p $@
-       latex2html -split 5 -show_section_numbers -dir $(MANUAL).html $(MANUAL)
+install:
+       $(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.*
 
-$(TSS).html: $(TSS).tex
-       mkdir -p $@
-       latex2html -split 0 -dir $(TSS).html $(TSS)
+uninstall:
+       rm -rf $(DESTDIR)$(docdir)
+
+$(MANUAL).html/index.html: $(MANUAL).tex $(MANUAL).ind
+       rm -rf $(MANUAL).html 
+       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 -show_section_numbers -split 5 -local_icons -dir $(MANUAL).html `basename $<`
+       mv `basename $< .tex`.orig.tex $<
+       rm -f $(MANUAL).html/WARNINGS $(MANUAL).html/labels.pl
+
+$(TSS).html/index.html: $(TSS).tex
+       rm -rf `dirname $@`
+       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 -dir $(TSS).html `basename $<`
+       mv `basename $< .tex`.orig.tex $<
+       rm -f $(TSS).html/WARNINGS $(TSS).html/labels.pl
+
+$(CDB).html/index.html: $(CDB).tex
+       rm -rf `dirname $@`
+       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 -show_section_numbers -split 0 -local_icons -dir $(CDB).html `basename $<`
+       mv `basename $< .tex`.orig.tex $<
+       rm -f $(CDB).html/WARNINGS $(CDB).html/labels.pl
 
 %.txt: %.lyx
-       lyx -e text $<
+       lyx -e text $(LYXFLAGS) $<
 
-%.pdf: %.dvi
-       which pdflatex > /dev/null && pdflatex $* || dvipdf $*
+%.pdf: %.tex
+       @echo "### Create pdf from tex: $< -> $@"
+       pdflatex $*
+       -makeindex $*
+       pdflatex $*
+       pdflatex $*
+       pdfopt $*.pdf tmp.pdf
+       rm $*.pdf
+       mv tmp.pdf $*.pdf
+
+#%.ps:  %.pdf
+#      dvips $*
 
 %.dvi: %.tex
        latex $<
 
 %.tex: %.lyx
-       lyx -e latex $<
+       lyx -e latex $< $(LYXFLAGS)
+
+#%.ind: %.dvi
+#      latex $*
+#      -makeindex $*
+##     -makeindex -s l2hidx.ist $*
+       #latex $*
+#      latex $*
 
-%.ind: %.dvi
-       makeindex -s l2hidx.ist $*
+#%.glo: %.dvi
+#      # the glossary, not implemented yet
+#      # makeindex -s l2hglo.ist -o $@ $<
 
-%.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
 
-# Deleting all files created by building the program
-# --------------------------------------------------
-clean:
-# The directories are still in CVS, so don't delete them
-#      rm -rf $(MANUAL).html $(TSS).html
-       rm -f $(MANUAL).html/* $(TSS).html/*
-       rm -f $(MANUAL).txt $(TSS).txt *.pdf *.dvi *.tex *.ind *.glo *.aux *.idx *.ilg *.log *.toc
+       for doc in $(MANUAL) $(TSS) $(CDB); do \
+         rsync -Rt $$doc.html/*.html $$doc.html/*.png $$doc.html/*.css sdcc-doc/; \
+       done
 
-# Deleting all files created by configuring or building the program
-# -----------------------------------------------------------------
-distclean: clean
+       mkdir sdcc-doc/as
+       rsync -rCt ../as/doc/* sdcc-doc/as/
 
-# Like clean but some files may still exist
-# -----------------------------------------
-mostlyclean: clean
+       mkdir sdcc-doc/ucsim
+       cd ../sim/ucsim/doc; rsync *.html *.jpg *.gif *.fig ../../../doc/sdcc-doc/ucsim/
 
-# Deleting everything that can reconstructed by this Makefile. It deletes
-# everything deleted by distclean plus files created by bison, etc.
-# -----------------------------------------------------------------------
-realclean: distclean
+       tar -c sdcc-doc | bzip2 -9 > sdcc-doc.tar.bz2
 
+include clean.mk