src/buildings/doc/Makefile
changeset 8260 c3bf1b481daf
parent 8171 2e0988d19ecc
child 8307 e059b2c2f2e4
child 8390 fb2bef5bb0e2
equal deleted inserted replaced
8259:591bfffeda6a 8260:c3bf1b481daf
       
     1 EPSTOPDF = epstopdf
       
     2 DIA = dia
       
     3 CONVERT = convert
       
     4 
       
     5 
       
     6 SOURCE = source
       
     7 FIGURES = $(SOURCE)/figures
       
     8 
       
     9 # specify figures from which .png and .pdf figures need to be
       
    10 # generated (all dia and eps figures)
       
    11 IMAGES_EPS = 
       
    12 
       
    13 # specify figures for build process (all eps figures)
       
    14 GRAPHS_EPS = 
       
    15 
       
    16 # rescale pdf figures as necessary
       
    17 $(FIGURES)/testbed.pdf_width = 5in
       
    18 
       
    19 IMAGES_PNG = ${IMAGES_EPS:.eps=.png}
       
    20 IMAGES_PDF = ${IMAGES_EPS:.eps=.pdf}
       
    21 
       
    22 IMAGES = $(IMAGES_EPS) $(IMAGES_PNG) $(IMAGES_PDF)
       
    23 
       
    24 %.eps : %.dia; $(DIA) -t eps $< -e $@
       
    25 %.png : %.dia; $(DIA) -t png $< -e $@
       
    26 %.png : %.eps; $(CONVERT) $< $@
       
    27 %.pdf : %.eps; $(EPSTOPDF) $< -o=$@; if test x$($@_width) != x; then TMPFILE=`mktemp`; ./rescale-pdf.sh $($@_width) $@ $${TMPFILE} && mv $${TMPFILE} $@; fi
       
    28 
       
    29 GRAPHS_PNG = ${GRAPHS_EPS:.eps=.png}
       
    30 GRAPHS_PDF = ${GRAPHS_EPS:.eps=.pdf}
       
    31 
       
    32 GRAPHS = $(GRAPHS_EPS) $(GRAPHS_PNG) $(GRAPHS_PDF)
       
    33 
       
    34 %.png : %.eps; $(CONVERT) $< $@
       
    35 %.pdf : %.eps; $(EPSTOPDF) $< -o=$@; if test x$($@_width) != x; then TMPFILE=`mktemp`; ./rescale-pdf.sh $($@_width) $@ $${TMPFILE} && mv $${TMPFILE} $@; fi
       
    36 
       
    37 # You can set these variables from the command line.
       
    38 SPHINXOPTS    =
       
    39 SPHINXBUILD   = sphinx-build
       
    40 PAPER         =
       
    41 BUILDDIR      = build
       
    42 
       
    43 # Internal variables.
       
    44 PAPEROPT_a4     = -D latex_paper_size=a4
       
    45 PAPEROPT_letter = -D latex_paper_size=letter
       
    46 ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(SOURCE) 
       
    47 
       
    48 .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
       
    49 
       
    50 help:
       
    51 	@echo "Please use \`make <target>' where <target> is one of"
       
    52 	@echo "  html       to make standalone HTML files"
       
    53 	@echo "  dirhtml    to make HTML files named index.html in directories"
       
    54 	@echo "  singlehtml to make a single large HTML file"
       
    55 	@echo "  pickle     to make pickle files"
       
    56 	@echo "  json       to make JSON files"
       
    57 	@echo "  htmlhelp   to make HTML files and a HTML help project"
       
    58 	@echo "  qthelp     to make HTML files and a qthelp project"
       
    59 	@echo "  devhelp    to make HTML files and a Devhelp project"
       
    60 	@echo "  epub       to make an epub"
       
    61 	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
       
    62 	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
       
    63 	@echo "  text       to make text files"
       
    64 	@echo "  man        to make manual pages"
       
    65 	@echo "  changes    to make an overview of all changed/added/deprecated items"
       
    66 	@echo "  linkcheck  to check all external links for integrity"
       
    67 	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
       
    68 
       
    69 clean:
       
    70 	-rm -rf $(BUILDDIR)/*
       
    71 	-rm -f $(IMAGES_PNG)
       
    72 	-rm -f $(IMAGES_PDF)
       
    73 	-rm -f $(GRAPHS_PNG)
       
    74 	-rm -f $(GRAPHS_PDF)
       
    75 
       
    76 frag: pickle
       
    77 	@if test ! -d $(BUILDDIR)/frag; then mkdir $(BUILDDIR)/frag; fi
       
    78 	pushd $(BUILDDIR)/frag && ../../pickle-to-xml.py ../pickle/index.fpickle  > navigation.xml && popd
       
    79 	cp -r $(BUILDDIR)/pickle/_images $(BUILDDIR)/frag
       
    80 
       
    81 html:  $(IMAGES) ${GRAPHS}
       
    82 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
       
    83 	@echo
       
    84 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
       
    85 
       
    86 dirhtml:  $(IMAGES)
       
    87 	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
       
    88 	@echo
       
    89 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
       
    90 
       
    91 singlehtml:  $(IMAGES)
       
    92 	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
       
    93 	@echo
       
    94 	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
       
    95 
       
    96 pickle:  $(IMAGES)
       
    97 	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
       
    98 	@echo
       
    99 	@echo "Build finished; now you can process the pickle files."
       
   100 
       
   101 json:  $(IMAGES)
       
   102 	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
       
   103 	@echo
       
   104 	@echo "Build finished; now you can process the JSON files."
       
   105 
       
   106 htmlhelp:  $(IMAGES)
       
   107 	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
       
   108 	@echo
       
   109 	@echo "Build finished; now you can run HTML Help Workshop with the" \
       
   110 	      ".hhp project file in $(BUILDDIR)/htmlhelp."
       
   111 
       
   112 qthelp:  $(IMAGES)
       
   113 	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
       
   114 	@echo
       
   115 	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
       
   116 	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
       
   117 	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ns-3.qhcp"
       
   118 	@echo "To view the help file:"
       
   119 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ns-3.qhc"
       
   120 
       
   121 devhelp:  $(IMAGES)
       
   122 	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
       
   123 	@echo
       
   124 	@echo "Build finished."
       
   125 	@echo "To view the help file:"
       
   126 	@echo "# mkdir -p $$HOME/.local/share/devhelp/ns-3"
       
   127 	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ns-3"
       
   128 	@echo "# devhelp"
       
   129 
       
   130 epub:  $(IMAGES)
       
   131 	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
       
   132 	@echo
       
   133 	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
       
   134 
       
   135 latex:  $(IMAGES) ${GRAPHS}
       
   136 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
       
   137 	@echo
       
   138 	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
       
   139 	@echo "Run \`make' in that directory to run these through (pdf)latex" \
       
   140 	      "(use \`make latexpdf' here to do that automatically)."
       
   141 
       
   142 latexpdf:  $(IMAGES) ${GRAPHS}
       
   143 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
       
   144 	@echo "Running LaTeX files through pdflatex..."
       
   145 	make -C $(BUILDDIR)/latex all-pdf
       
   146 	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
       
   147 
       
   148 text:  $(IMAGES)
       
   149 	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
       
   150 	@echo
       
   151 	@echo "Build finished. The text files are in $(BUILDDIR)/text."
       
   152 
       
   153 man:  $(IMAGES)
       
   154 	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
       
   155 	@echo
       
   156 	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
       
   157 
       
   158 changes:  $(IMAGES)
       
   159 	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
       
   160 	@echo
       
   161 	@echo "The overview file is in $(BUILDDIR)/changes."
       
   162 
       
   163 linkcheck:  $(IMAGEs)
       
   164 	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
       
   165 	@echo
       
   166 	@echo "Link check complete; look for any errors in the above output " \
       
   167 	      "or in $(BUILDDIR)/linkcheck/output.txt."
       
   168 
       
   169 doctest:  $(IMAGES)
       
   170 	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
       
   171 	@echo "Testing of doctests in the sources finished, look at the " \
       
   172 	      "results in $(BUILDDIR)/doctest/output.txt."
       
   173 
       
   174