Makefile.am 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. # StarPU --- Runtime system for heterogeneous multicore architectures.
  2. #
  3. # Copyright (C) 2009, 2011, 2013-2014 Université de Bordeaux
  4. # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015 CNRS
  5. # Copyright (C) 2014 INRIA
  6. #
  7. # Permission is granted to copy, distribute and/or modify this document
  8. # under the terms of the GNU Free Documentation License, Version 1.3
  9. # or any later version published by the Free Software Foundation;
  10. # with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
  11. #
  12. # See the GNU Free Documentation License in COPYING.GFDL for more details.
  13. DOXYGEN = doxygen
  14. PDFLATEX = pdflatex
  15. MAKEINDEX = makeindex
  16. DOX_DIR = $(top_builddir)/doc/doxygen
  17. DOX_CONFIG = $(top_srcdir)/doc/doxygen/doxygen.cfg
  18. DOX_HTML_DIR = html
  19. DOX_LATEX_DIR = latex
  20. DOX_PDF = starpu.pdf
  21. DOX_TAG = starpu.tag
  22. chapters = \
  23. chapters/00introduction.doxy \
  24. chapters/01building.doxy \
  25. chapters/02basic_examples.doxy \
  26. chapters/03advanced_examples.doxy \
  27. chapters/05check_list_performance.doxy \
  28. chapters/06tasks.doxy \
  29. chapters/07data_management.doxy \
  30. chapters/08scheduling.doxy \
  31. chapters/09scheduling_contexts.doxy \
  32. chapters/10scheduling_context_hypervisor.doxy \
  33. chapters/11debugging_tools.doxy \
  34. chapters/12online_performance_tools.doxy \
  35. chapters/13offline_performance_tools.doxy \
  36. chapters/14faq.doxy \
  37. chapters/15out_of_core.doxy \
  38. chapters/16mpi_support.doxy \
  39. chapters/17fft_support.doxy \
  40. chapters/18mic_scc_support.doxy \
  41. chapters/19c_extensions.doxy \
  42. chapters/20socl_opencl_extensions.doxy \
  43. chapters/21simgrid.doxy \
  44. chapters/22openmp_runtime_support.doxy \
  45. chapters/23clustering_a_machine.doxy \
  46. chapters/40environment_variables.doxy \
  47. chapters/41configure_options.doxy \
  48. chapters/45files.doxy \
  49. chapters/50scaling-vector-example.doxy \
  50. chapters/51fdl-1.3.doxy \
  51. chapters/modularized_scheduler.doxy \
  52. chapters/code/hello_pragma2.c \
  53. chapters/code/hello_pragma.c \
  54. chapters/code/scal_pragma.cu \
  55. chapters/code/matmul_pragma.c \
  56. chapters/code/matmul_pragma2.c \
  57. chapters/code/cholesky_pragma.c \
  58. chapters/code/forkmode.c \
  59. chapters/code/multiformat.c \
  60. chapters/code/complex.c \
  61. chapters/code/simgrid.c \
  62. chapters/code/vector_scal_c.c \
  63. chapters/code/vector_scal_cpu.c \
  64. chapters/code/vector_scal_cuda.cu \
  65. chapters/code/vector_scal_opencl.c \
  66. chapters/code/vector_scal_opencl_codelet.cl \
  67. chapters/code/disk_copy.c \
  68. chapters/code/disk_compute.c \
  69. chapters/api/codelet_and_tasks.doxy \
  70. chapters/api/cuda_extensions.doxy \
  71. chapters/api/data_interfaces.doxy \
  72. chapters/api/data_management.doxy \
  73. chapters/api/data_partition.doxy \
  74. chapters/api/data_out_of_core.doxy \
  75. chapters/api/expert_mode.doxy \
  76. chapters/api/explicit_dependencies.doxy \
  77. chapters/api/fft_support.doxy \
  78. chapters/api/fxt_support.doxy \
  79. chapters/api/implicit_dependencies.doxy \
  80. chapters/api/initialization.doxy \
  81. chapters/api/insert_task.doxy \
  82. chapters/api/lower_bound.doxy \
  83. chapters/api/misc_helpers.doxy \
  84. chapters/api/mpi.doxy \
  85. chapters/api/multiformat_data_interface.doxy \
  86. chapters/api/opencl_extensions.doxy \
  87. chapters/api/openmp_runtime_support.doxy \
  88. chapters/api/mic_extensions.doxy \
  89. chapters/api/scc_extensions.doxy \
  90. chapters/api/parallel_tasks.doxy \
  91. chapters/api/performance_model.doxy \
  92. chapters/api/profiling.doxy \
  93. chapters/api/running_driver.doxy \
  94. chapters/api/scheduling_contexts.doxy \
  95. chapters/api/scheduling_policy.doxy \
  96. chapters/api/standard_memory_library.doxy \
  97. chapters/api/task_bundles.doxy \
  98. chapters/api/task_lists.doxy \
  99. chapters/api/top.doxy \
  100. chapters/api/versioning.doxy \
  101. chapters/api/workers.doxy \
  102. chapters/api/threads.doxy \
  103. chapters/api/bitmap.doxy \
  104. chapters/api/tree.doxy \
  105. chapters/api/toolbox.doxy \
  106. chapters/api/sc_hypervisor/sc_hypervisor.doxy \
  107. chapters/api/sc_hypervisor/sc_hypervisor_usage.doxy \
  108. chapters/api/modularized_scheduler.doxy
  109. starpu_config.h: $(top_srcdir)/include/starpu_config.h.in
  110. @$(SED) 's/#undef \(.*\)/#define \1 1/' $< > $@
  111. chapters/version.sty: $(chapters)
  112. @for f in $(chapters) ; do \
  113. if test -f $(top_srcdir)/doc/doxygen/$$f ; then $(PROG_STAT) --format=%Y $(top_srcdir)/doc/doxygen/$$f ; fi \
  114. done | sort -r | head -1 > timestamp_sty
  115. @if test -s timestamp_sty ; then \
  116. LC_ALL=C $(PROG_DATE) --date=@`cat timestamp_sty` +"%d %B %Y" > timestamp_sty_updated ;\
  117. LC_ALL=C $(PROG_DATE) --date=@`cat timestamp_sty` +"%B %Y" > timestamp_sty_updated_month ;\
  118. fi
  119. @if test -s timestamp_sty_updated ; then \
  120. echo ':newcommand{:STARPUUPDATED}{'`cat timestamp_sty_updated`'}' > $(top_srcdir)/doc/doxygen/chapters/version.sty;\
  121. else \
  122. echo ':newcommand{:STARPUUPDATED}{unknown date}' > $(top_srcdir)/doc/doxygen/chapters/version.sty;\
  123. fi
  124. @echo ':newcommand{:STARPUVERSION}{$(VERSION)}' >> $(top_srcdir)/doc/doxygen/chapters/version.sty
  125. @$(SED) -i 's/:/\\/g' $(top_srcdir)/doc/doxygen/chapters/version.sty
  126. @for f in timestamp_sty timestamp_sty_updated timestamp_sty_updated_month ; do \
  127. if test -f $$f ; then $(RM) $$f ; fi ;\
  128. done
  129. chapters/version.html: $(chapters)
  130. @for f in $(chapters) ; do \
  131. if test -f $(top_srcdir)/doc/doxygen/$$f ; then $(PROG_STAT) --format=%Y $(top_srcdir)/doc/doxygen/$$f ; fi \
  132. done | sort -r | head -1 > timestamp_html
  133. @if test -s timestamp_html ; then \
  134. LC_ALL=C $(PROG_DATE) --date=@`cat timestamp_html` +"%d %B %Y" > timestamp_html_updated ;\
  135. LC_ALL=C $(PROG_DATE) --date=@`cat timestamp_html` +"%B %Y" > timestamp_html_updated_month ;\
  136. fi
  137. @echo "This manual documents the usage of StarPU version $(VERSION)." > $(top_srcdir)/doc/doxygen/chapters/version.html
  138. @if test -s timestamp_html_updated ; then \
  139. echo "Its contents was last updated on "`cat timestamp_html_updated`"." >> $(top_srcdir)/doc/doxygen/chapters/version.html;\
  140. else \
  141. echo "Its contents was last updated on <em>unknown_date</em>." >> $(top_srcdir)/doc/doxygen/chapters/version.html;\
  142. fi
  143. @for f in timestamp_html timestamp_html_updated timestamp_html_updated_month ; do \
  144. if test -f $$f ; then $(RM) $$f ; fi ;\
  145. done
  146. EXTRA_DIST = \
  147. $(chapters) \
  148. chapters/version.sty \
  149. chapters/version.html \
  150. chapters/data_trace.eps \
  151. chapters/data_trace.pdf \
  152. chapters/data_trace.png \
  153. chapters/distrib_data.png \
  154. chapters/distrib_data.eps \
  155. chapters/distrib_data.pdf \
  156. chapters/distrib_data_histo.png \
  157. chapters/distrib_data_histo.eps \
  158. chapters/distrib_data_histo.pdf \
  159. chapters/paje_draw_histogram.eps \
  160. chapters/paje_draw_histogram.png \
  161. chapters/paje_draw_histogram.pdf \
  162. chapters/parallel_worker1.eps \
  163. chapters/parallel_worker1.pdf \
  164. chapters/parallel_worker1.png \
  165. chapters/parallel_worker2.eps \
  166. chapters/parallel_worker2.pdf \
  167. chapters/parallel_worker2.png \
  168. chapters/runtime-par.eps \
  169. chapters/runtime-par.pdf \
  170. chapters/runtime-par.png \
  171. chapters/runtime-seq.eps \
  172. chapters/runtime-seq.pdf \
  173. chapters/runtime-seq.png \
  174. chapters/starpu_chol_model_11_type.png \
  175. chapters/starpu_chol_model_11_type.eps \
  176. chapters/starpu_chol_model_11_type.pdf \
  177. chapters/starpu_non_linear_memset_regression_based.png \
  178. chapters/starpu_non_linear_memset_regression_based.eps \
  179. chapters/starpu_non_linear_memset_regression_based.pdf \
  180. chapters/starpu_non_linear_memset_regression_based_2.png \
  181. chapters/starpu_non_linear_memset_regression_based_2.eps \
  182. chapters/starpu_non_linear_memset_regression_based_2.pdf \
  183. chapters/starpu_starpu_slu_lu_model_11.png \
  184. chapters/starpu_starpu_slu_lu_model_11.eps \
  185. chapters/starpu_starpu_slu_lu_model_11.pdf \
  186. chapters/tasks_size_overhead.png \
  187. chapters/tasks_size_overhead.eps \
  188. chapters/tasks_size_overhead.pdf \
  189. chapters/temanejo.png \
  190. doxygen.cfg \
  191. refman.tex \
  192. $(DOX_HTML_DIR)
  193. dox_inputs = $(DOX_CONFIG) \
  194. $(chapters) \
  195. starpu_config.h \
  196. chapters/version.sty \
  197. chapters/version.html \
  198. $(top_srcdir)/include/starpu.h \
  199. $(top_srcdir)/include/starpu_data_filters.h \
  200. $(top_srcdir)/include/starpu_data_interfaces.h \
  201. $(top_srcdir)/include/starpu_disk.h \
  202. $(top_srcdir)/include/starpu_worker.h \
  203. $(top_srcdir)/include/starpu_task.h \
  204. $(top_srcdir)/include/starpu_task_bundle.h \
  205. $(top_srcdir)/include/starpu_task_list.h \
  206. $(top_srcdir)/include/starpu_task_util.h \
  207. $(top_srcdir)/include/starpu_data.h \
  208. $(top_srcdir)/include/starpu_perfmodel.h \
  209. $(top_srcdir)/include/starpu_util.h \
  210. $(top_srcdir)/include/starpu_fxt.h \
  211. $(top_srcdir)/include/starpu_cuda.h \
  212. $(top_srcdir)/include/starpu_opencl.h \
  213. $(top_srcdir)/include/starpu_openmp.h \
  214. $(top_srcdir)/include/starpu_sink.h \
  215. $(top_srcdir)/include/starpu_mic.h \
  216. $(top_srcdir)/include/starpu_scc.h \
  217. $(top_srcdir)/include/starpu_expert.h \
  218. $(top_srcdir)/include/starpu_profiling.h \
  219. $(top_srcdir)/include/starpu_bound.h \
  220. $(top_srcdir)/include/starpu_scheduler.h \
  221. $(top_srcdir)/include/starpu_sched_ctx.h \
  222. $(top_srcdir)/include/starpu_clusters_util.h \
  223. $(top_srcdir)/include/starpu_sched_ctx_hypervisor.h \
  224. $(top_srcdir)/include/starpu_top.h \
  225. $(top_srcdir)/include/starpu_hash.h \
  226. $(top_srcdir)/include/starpu_rand.h \
  227. $(top_srcdir)/include/starpu_cublas.h \
  228. $(top_srcdir)/include/starpu_driver.h \
  229. $(top_srcdir)/include/starpu_stdlib.h \
  230. $(top_srcdir)/include/starpu_thread.h \
  231. $(top_srcdir)/include/starpu_thread_util.h \
  232. $(top_srcdir)/mpi/include/starpu_mpi.h \
  233. $(top_srcdir)/sc_hypervisor/include/sc_hypervisor.h \
  234. $(top_srcdir)/sc_hypervisor/include/sc_hypervisor_config.h \
  235. $(top_srcdir)/sc_hypervisor/include/sc_hypervisor_lp.h \
  236. $(top_srcdir)/sc_hypervisor/include/sc_hypervisor_monitoring.h \
  237. $(top_srcdir)/sc_hypervisor/include/sc_hypervisor_policy.h
  238. $(DOX_TAG): $(dox_inputs)
  239. @rm -fr $(DOX_HTML_DIR) $(DOX_LATEX_DIR)
  240. @$(DOXYGEN) $(DOX_CONFIG)
  241. @$(SED) -i 's/ModuleDocumentation <\/li>/<a class="el" href="modules.html">Modules<\/a>/' html/index.html
  242. @$(SED) -i 's/FileDocumentation <\/li>/<a class="el" href="files.html">Files<\/a>/' html/index.html
  243. # comment for the line below: what we really want to do is to remove the line, but dy doing so, it avoids opening the interactive menu when browsing files
  244. @if test -f html/navtree.js ; then $(SED) -i 's/\[ "Files", "Files.html", null \]/\[ "", "Files.html", null \]/' html/navtree.js ; fi
  245. @$(SED) -i 's/.*"Files.html".*//' html/pages.html
  246. @if test -f latex/main.tex ; then mv latex/main.tex latex/index.tex ; fi
  247. @$(SED) -i '/\\begin{titlepage}/,$$d' $(DOX_LATEX_DIR)/refman.tex
  248. @cat $(top_srcdir)/doc/doxygen/refman.tex >> $(DOX_LATEX_DIR)/refman.tex
  249. dist_pdf_DATA = $(DOX_PDF)
  250. $(DOX_PDF): $(DOX_TAG) refman.tex
  251. @cp $(top_srcdir)/doc/doxygen/chapters/version.sty $(DOX_LATEX_DIR)
  252. @cp $(top_srcdir)/doc/doxygen/chapters/*pdf $(DOX_LATEX_DIR)
  253. @echo $(PDFLATEX) $(DOX_LATEX_DIR)/refman.tex
  254. @cd $(DOX_LATEX_DIR) ;\
  255. rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out ;\
  256. $(SED) -i -e 's/__env__/\\_Environment Variables!/' -e 's/\\-\\_\\-\\-\\_\\-env\\-\\_\\-\\-\\_\\-//' ExecutionConfigurationThroughEnvironmentVariables.tex ;\
  257. $(SED) -i -e 's/__configure__/\\_Configure Options!/' -e 's/\\-\\_\\-\\-\\_\\-configure\\-\\_\\-\\-\\_\\-//' CompilationConfiguration.tex ;\
  258. $(SED) -i s'/\\item Module\\-Documentation/\\item \\hyperlink{ModuleDocumentation}{Module Documentation}/' index.tex ;\
  259. $(SED) -i s'/\\item File\\-Documentation/\\item \\hyperlink{FileDocumentation}{File Documentation}/' index.tex ;\
  260. $(PDFLATEX) refman.tex > /dev/null ;\
  261. $(MAKEINDEX) refman.idx > /dev/null 2>&1 ;\
  262. $(PDFLATEX) refman.tex > /dev/null ;\
  263. done=0; repeat=5 ;\
  264. while test $$done = 0 -a $$repeat -gt 0; do \
  265. if $(EGREP) 'Rerun (LaTeX|to get cross-references right)' refman.log > /dev/null 2>&1; then \
  266. $(PDFLATEX) refman.tex; \
  267. repeat=`expr $$repeat - 1`; \
  268. else \
  269. done=1; \
  270. fi; \
  271. done
  272. mv $(DOX_LATEX_DIR)/refman.pdf $(DOX_PDF)
  273. CLEANFILES = $(DOX_TAG) starpu_config.h \
  274. -r \
  275. $(DOX_HTML_DIR) \
  276. $(DOX_LATEX_DIR) \
  277. $(DOX_PDF)
  278. # Rule to update documentation on web server. Should only be used locally.
  279. PUBLISHHOST ?= gforge
  280. update-web: $(DOX_PDF)
  281. scp -pr starpu.pdf html $(PUBLISHHOST):/home/groups/starpu/htdocs/doc
  282. showcheck:
  283. -cat /dev/null