Makefile.am 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. # StarPU --- Runtime system for heterogeneous multicore architectures.
  2. #
  3. # Copyright (C) 2009, 2011 Université de Bordeaux 1
  4. # Copyright (C) 2010, 2011, 2012, 2013 Centre National de la Recherche Scientifique
  5. #
  6. # Permission is granted to copy, distribute and/or modify this document
  7. # under the terms of the GNU Free Documentation License, Version 1.3
  8. # or any later version published by the Free Software Foundation;
  9. # with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
  10. #
  11. # See the GNU Free Documentation License in COPYING.GFDL for more details.
  12. DOXYGEN = doxygen
  13. PDFLATEX = pdflatex
  14. MAKEINDEX = makeindex
  15. DOX_DIR = $(top_builddir)/doc/doxygen
  16. DOX_CONFIG = $(top_srcdir)/doc/doxygen/doxygen.cfg
  17. DOX_HTML_DIR = html
  18. DOX_LATEX_DIR = latex
  19. DOX_PDF = starpu.pdf
  20. DOX_TAG = starpu.tag
  21. chapters = \
  22. chapters/advanced_examples.doxy \
  23. chapters/basic_examples.doxy \
  24. chapters/building.doxy \
  25. chapters/c_extensions.doxy \
  26. chapters/fft_support.doxy \
  27. chapters/introduction.doxy \
  28. chapters/mpi_support.doxy \
  29. chapters/optimize_performance.doxy \
  30. chapters/performance_feedback.doxy \
  31. chapters/scheduling_context_hypervisor.doxy \
  32. chapters/scheduling_contexts.doxy \
  33. chapters/socl_opencl_extensions.doxy \
  34. chapters/tips_and_tricks.doxy \
  35. chapters/environment_variables.doxy \
  36. chapters/configure_options.doxy \
  37. chapters/fdl-1.3.doxy \
  38. chapters/scaling-vector-example.doxy \
  39. chapters/mic_scc_support.doxy \
  40. chapters/code/hello_pragma2.c \
  41. chapters/code/hello_pragma.c \
  42. chapters/code/matmul_pragma.c \
  43. chapters/code/matmul_pragma2.c \
  44. chapters/code/cholesky_pragma.c \
  45. chapters/code/forkmode.c \
  46. chapters/code/multiformat.c \
  47. chapters/code/complex.c \
  48. chapters/code/simgrid.c \
  49. chapters/code/vector_scal_c.c \
  50. chapters/code/vector_scal_cpu.c \
  51. chapters/code/vector_scal_cuda.cu \
  52. chapters/code/vector_scal_opencl.c \
  53. chapters/code/vector_scal_opencl_codelet.cl \
  54. chapters/api/codelet_and_tasks.doxy \
  55. chapters/api/cuda_extensions.doxy \
  56. chapters/api/data_interfaces.doxy \
  57. chapters/api/data_management.doxy \
  58. chapters/api/data_partition.doxy \
  59. chapters/api/expert_mode.doxy \
  60. chapters/api/explicit_dependencies.doxy \
  61. chapters/api/fft_support.doxy \
  62. chapters/api/fxt_support.doxy \
  63. chapters/api/implicit_dependencies.doxy \
  64. chapters/api/initialization.doxy \
  65. chapters/api/insert_task.doxy \
  66. chapters/api/lower_bound.doxy \
  67. chapters/api/misc_helpers.doxy \
  68. chapters/api/mpi.doxy \
  69. chapters/api/multiformat_data_interface.doxy \
  70. chapters/api/opencl_extensions.doxy \
  71. chapters/api/mic_extensions.doxy \
  72. chapters/api/scc_extensions.doxy \
  73. chapters/api/parallel_tasks.doxy \
  74. chapters/api/performance_model.doxy \
  75. chapters/api/profiling.doxy \
  76. chapters/api/running_driver.doxy \
  77. chapters/api/scheduling_context_hypervisor.doxy \
  78. chapters/api/scheduling_contexts.doxy \
  79. chapters/api/scheduling_policy.doxy \
  80. chapters/api/standard_memory_library.doxy \
  81. chapters/api/task_bundles.doxy \
  82. chapters/api/task_lists.doxy \
  83. chapters/api/top.doxy \
  84. chapters/api/versioning.doxy \
  85. chapters/api/workers.doxy
  86. chapters/version.sty: $(chapters)
  87. @-for f in $(chapters) ; do \
  88. if test -f $(top_srcdir)/doc/doxygen/$$f ; then stat --format=%Y $(top_srcdir)/doc/doxygen/$$f 2>/dev/null ; fi \
  89. done | sort -r | head -1 > timestamp
  90. @if test -s timestamp ; then \
  91. LC_ALL=C date --date=@`cat timestamp` +"%d %B %Y" > timestamp_updated 2>/dev/null;\
  92. LC_ALL=C date --date=@`cat timestamp` +"%B %Y" > timestamp_updated_month 2>/dev/null;\
  93. fi
  94. @if test -s timestamp_updated ; then \
  95. echo "\newcommand{\STARPUUPDATED}{"`cat timestamp_updated`"}" > $(top_srcdir)/doc/doxygen/chapters/version.sty;\
  96. else \
  97. echo "\newcommand{\STARPUUPDATED}{unknown_date}" > $(top_srcdir)/doc/doxygen/chapters/version.sty;\
  98. fi
  99. @echo "\newcommand{\STARPUVERSION}{$(VERSION)}" >> $(top_srcdir)/doc/doxygen/chapters/version.sty
  100. @-for f in timestamp timestamp_updated timestamp_updated_month ; do \
  101. if test -f $$f ; then $(RM) $$f ; fi ;\
  102. done
  103. chapters/version.html: $(chapters)
  104. @-for f in $(chapters) ; do \
  105. if test -f $(top_srcdir)/doc/doxygen/$$f ; then stat --format=%Y $(top_srcdir)/doc/doxygen/$$f 2>/dev/null ; fi \
  106. done | sort -r | head -1 > timestamp
  107. @if test -s timestamp ; then \
  108. LC_ALL=C date --date=@`cat timestamp` +"%d %B %Y" > timestamp_updated 2>/dev/null;\
  109. LC_ALL=C date --date=@`cat timestamp` +"%B %Y" > timestamp_updated_month 2>/dev/null;\
  110. fi
  111. @echo "This manual documents the usage of StarPU version $(VERSION)." > $(top_srcdir)/doc/doxygen/chapters/version.html
  112. @if test -s timestamp_updated ; then \
  113. echo "Its contents was last updated on "`cat timestamp_updated`"." >> $(top_srcdir)/doc/doxygen/chapters/version.html;\
  114. else \
  115. echo "Its contents was last updated on <em>unknown_date</em>." >> $(top_srcdir)/doc/doxygen/chapters/version.html;\
  116. fi
  117. @-for f in timestamp timestamp_updated timestamp_updated_month ; do \
  118. if test -f $$f ; then $(RM) $$f ; fi ;\
  119. done
  120. EXTRA_DIST = \
  121. $(chapters) \
  122. chapters/version.sty \
  123. chapters/version.html \
  124. doxygen.cfg \
  125. refman.tex
  126. dox_inputs = $(DOX_CONFIG) \
  127. $(chapters) \
  128. chapters/version.sty \
  129. chapters/version.html \
  130. $(top_srcdir)/include/starpu.h \
  131. $(top_srcdir)/include/starpu_data_filters.h \
  132. $(top_srcdir)/include/starpu_data_interfaces.h \
  133. $(top_srcdir)/include/starpu_worker.h \
  134. $(top_srcdir)/include/starpu_task.h \
  135. $(top_srcdir)/include/starpu_task_bundle.h \
  136. $(top_srcdir)/include/starpu_task_list.h \
  137. $(top_srcdir)/include/starpu_task_util.h \
  138. $(top_srcdir)/include/starpu_data.h \
  139. $(top_srcdir)/include/starpu_perfmodel.h \
  140. $(top_srcdir)/include/starpu_util.h \
  141. $(top_srcdir)/include/starpu_fxt.h \
  142. $(top_srcdir)/include/starpu_cuda.h \
  143. $(top_srcdir)/include/starpu_opencl.h \
  144. $(top_srcdir)/include/starpu_sink.h \
  145. $(top_srcdir)/include/starpu_mic.h \
  146. $(top_srcdir)/include/starpu_scc.h \
  147. $(top_srcdir)/include/starpu_expert.h \
  148. $(top_srcdir)/include/starpu_profiling.h \
  149. $(top_srcdir)/include/starpu_bound.h \
  150. $(top_srcdir)/include/starpu_scheduler.h \
  151. $(top_srcdir)/include/starpu_sched_ctx.h \
  152. $(top_srcdir)/include/starpu_top.h \
  153. $(top_srcdir)/include/starpu_hash.h \
  154. $(top_srcdir)/include/starpu_rand.h \
  155. $(top_srcdir)/include/starpu_cublas.h \
  156. $(top_srcdir)/include/starpu_driver.h \
  157. $(top_srcdir)/include/starpu_stdlib.h \
  158. $(top_srcdir)/include/starpu_thread.h \
  159. $(top_srcdir)/include/starpu_thread_util.h
  160. $(DOX_TAG): $(dox_inputs)
  161. rm -fr $(DOX_HTML_DIR) $(DOX_LATEX_DIR)
  162. $(DOXYGEN) $(DOX_CONFIG)
  163. sed -i 's/ModuleDocumentation <\/li>/<a class="el" href="modules.html">Modules<\/a>/' html/index.html
  164. dist_pdf_DATA = $(DOX_PDF)
  165. $(DOX_PDF): $(DOX_TAG) refman.tex
  166. cp $(top_srcdir)/doc/doxygen/chapters/version.sty $(DOX_DIR)
  167. cd $(DOX_LATEX_DIR); \
  168. rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
  169. sed -i -e 's/__env__/\\_Environment Variables!/' -e 's/\\-\\_\\-\\-\\_\\-env\\-\\_\\-\\-\\_\\-//' ExecutionConfigurationThroughEnvironmentVariables.tex ;\
  170. sed -i -e 's/__configure__/\\_Configure Options!/' -e 's/\\-\\_\\-\\-\\_\\-configure\\-\\_\\-\\-\\_\\-//' CompilationConfiguration.tex ;\
  171. sed -i s'/\\item Module\\-Documentation/\\item \\hyperlink{ModuleDocumentation}{Module Documentation}/' index.tex ;\
  172. $(PDFLATEX) refman.tex; \
  173. $(MAKEINDEX) refman.idx;\
  174. $(PDFLATEX) refman.tex; \
  175. done=0; repeat=5; \
  176. while test $$done = 0 -a $$repeat -gt 0; do \
  177. if $(EGREP) 'Rerun (LaTeX|to get cross-references right)' refman.log > /dev/null 2>&1; then \
  178. $(PDFLATEX) refman.tex; \
  179. repeat=`expr $$repeat - 1`; \
  180. else \
  181. done=1; \
  182. fi; \
  183. done; \
  184. mv refman.pdf ../$(DOX_PDF)
  185. MAINTAINERCLEANFILES = $(DOX_TAG) \
  186. -r \
  187. $(DOX_HTML_DIR) \
  188. $(DOX_LATEX_DIR) \
  189. $(DOX_PDF)
  190. # Rule to update documentation on web server. Should only be used locally.
  191. PUBLISHHOST ?= sync
  192. update-web: $(DOX_PDF)
  193. scp -pr starpu.pdf html $(PUBLISHHOST):/web/runtime/html/StarPU/doc
  194. showcheck:
  195. -cat /dev/null