last-svn-commit-39-g42bc78f Merge doc/ Makefile helpers into doc/Makefile.am.

* milena/doc/doc.mk, * milena/doc/examples/make.mk, * milena/doc/ref_guide/ref_guide.mk, * milena/doc/technical/technical.mk, * milena/doc/tutorial/tutorial.mk, * milena/doc/white_paper/white_paper.mk: Remove and inline these files... * doc/Makefile.am: ...here. Do not include $(top_srcdir)/milena/tests/tests.mk. (AM_CPPFLAGS): Add -I$(top_srcdir)/milena and -I$(top_builddir)/milena. ($(DOC_SRCDIR)/examples-outputs.mk): Depend on $(srcdir)/Makefile.am instead of $(srcdir)/examples/make.mk. --- milena/ChangeLog | 18 + milena/doc/Makefile.am | 688 ++++++++++++++++++++++++++++++++- milena/doc/doc.mk | 42 -- milena/doc/examples/make.mk | 337 ---------------- milena/doc/ref_guide/ref_guide.mk | 104 ----- milena/doc/technical/technical.mk | 100 ----- milena/doc/tutorial/tutorial.mk | 103 ----- milena/doc/white_paper/white_paper.mk | 103 ----- 8 files changed, 696 insertions(+), 799 deletions(-) delete mode 100644 milena/doc/doc.mk delete mode 100644 milena/doc/examples/make.mk delete mode 100644 milena/doc/ref_guide/ref_guide.mk delete mode 100644 milena/doc/technical/technical.mk delete mode 100644 milena/doc/tutorial/tutorial.mk delete mode 100644 milena/doc/white_paper/white_paper.mk diff --git a/milena/ChangeLog b/milena/ChangeLog index c0bf909..dd2857e 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,5 +1,23 @@ 2010-03-12 Roland Levillain <roland@lrde.epita.fr> + Merge doc/ Makefile helpers into doc/Makefile.am. + + * milena/doc/doc.mk, + * milena/doc/examples/make.mk, + * milena/doc/ref_guide/ref_guide.mk, + * milena/doc/technical/technical.mk, + * milena/doc/tutorial/tutorial.mk, + * milena/doc/white_paper/white_paper.mk: + Remove and inline these files... + * doc/Makefile.am: ...here. + Do not include $(top_srcdir)/milena/tests/tests.mk. + (AM_CPPFLAGS): Add -I$(top_srcdir)/milena and + -I$(top_builddir)/milena. + ($(DOC_SRCDIR)/examples-outputs.mk): Depend on + $(srcdir)/Makefile.am instead of $(srcdir)/examples/make.mk. + +2010-03-12 Roland Levillain <roland@lrde.epita.fr> + Improve dependencies of some documentation products. * doc/ref_guide/ref_guide.mk (ref_guide_dependencies): diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am index 0018406..5f2b9ba 100644 --- a/milena/doc/Makefile.am +++ b/milena/doc/Makefile.am @@ -1,3 +1,4 @@ + # Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development # Laboratory (LRDE). # @@ -18,10 +19,31 @@ # FIXME: To be overhauled! (See ticket #134). -# FIXME: Do not use includes if they're used only once: inline them -# instead. - -include $(top_srcdir)/milena/doc/doc.mk +# Look for Milena header in srcdir and for (generated) test headers +# (like data.hh) in builddir. +AM_CPPFLAGS = \ + -I$(top_srcdir)/milena -I$(top_builddir)/milena \ + -I$(top_srcdir)/milena/doc/tutorial/tools + +## FIXME: Upercase variables should be reserved for special names: +## classical Make variables (e.g. `CXXFLAGS') Automake variables +## (e.g. `SUBDIRS'), etc. +## +## Moreover, do we really need all these variables? See how things +## evolve during the refurbishing of the build system in doc/. +DOC_SRCDIR = $(top_srcdir)/milena/doc +OUTPUTS_SRCDIR = $(DOC_SRCDIR)/outputs +SPLIT_OUTPUTS_SRCDIR = $(OUTPUTS_SRCDIR)/split +FIGURES_SRCDIR = $(DOC_SRCDIR)/figures +EXAMPLES_SRCDIR = $(DOC_SRCDIR)/examples +SPLIT_EXAMPLES_SRCDIR = $(EXAMPLES_SRCDIR)/split +IMG_SRCDIR = $(DOC_SRCDIR)/img + +# FIXME: Adjust when $(DOC_SRCDIR) is renamed or removed. +# +# FIXME: Careful, `doc_dir' is close to `docdir', which is reserved by +# Automake. Change this name? +doc_dir = $(DOC_SRCDIR) DOXYGEN = doxygen @@ -64,7 +86,7 @@ doc-devel-html: tutorial-html ref-guide-html white-paper-html \ # FIXME: Check these dependencies. # 1. They might be redundant. # 2. It'd be better to depend on actual files rather than timestamps -# correponding to a bunch of files. +# corresponding to a bunch of files. refman_dependencies = \ $(srcdir)/split-examples.stamp \ $(srcdir)/split-outputs.stamp \ @@ -242,28 +264,357 @@ maintainer-clean-local: ## Technical Documentation. ## ## ------------------------- ## -include $(srcdir)/technical/technical.mk +.PHONY: technical technical-html technical-pdf + +technical_TEXINPUTS ="$(DOC_SRCDIR):$(OUTPUTS_SRCDIR):$(srcdir):\ +$(SPLIT_OUTPUTS_SRCDIR):$(IMG_SRCDIR):$(SPLIT_EXAMPLES_SRCDIR):" + + +technical: technical-html technical-pdf + +technical_dir = $(doc_dir)/technical + +# FIXME: Check these dependencies. And it'd be better to depend on +# actual files rather than timestamps corresponding to a bunch of +# files. +technical_dependencies = $(doc_dir)/figures.stamp + +# FIXME: As in milena/doc/Makefile.am, we should probably strip +# $(srcdir) prefixes from target variables, e.g. instead of: +# +# FOO = $(srcdir)/foo.pdf +# $(FOO): foo.tex bar.tex +# dist_doc_DATA = $(FOO) +# +# we should use: +# +# FOO = foo.pdf +# $(srcdir)/$(FOO): foo.tex bar.tex +# dist_doc_DATA = $(FOO) +# +# since it minimizes installation issues (see milena/doc/Makefile.am +# and Vaucanson's doc/Makefile.am). + +# FIXME: Distributed products should be generated in the source dir. +# That's actually the case, *but* the current solution is not clean +# and might break sometimes. The clean approach is to create a +# temporary directory, try to generate the documentation there, and +# move its contents to the source dir in case of success. If the +# product is a directory, also refresh a timestamp (in the source +# dir). + +# Intermediate product for the various doc targets of the parent +# directory. +# +# This is not a bug: TECHNICAL_HH is meant to have a `.hh' +# extension, since it is later parsed by Doxygen, which complains +# about `.html' files. +TECHNICAL_HH = $(technical_dir)/technical.hh +technical-html: $(TECHNICAL_HH) +$(TECHNICAL_HH): $(technical_dir)/technical.tex $(technical_dependencies) + $(doc_dir)/tools/todoxygen.sh $< $(technical_dir) $(doc_dir) + + +# Final product. +TECHNICAL_PDF = $(technical_dir)/technical.pdf +technical-pdf: $(TECHNICAL_PDF) +$(TECHNICAL_PDF): $(technical_dir)/technical.tex $(technical_dependencies) + TEXINPUTS=$(technical_TEXINPUTS) pdflatex $< + TEXINPUTS=$(technical_TEXINPUTS) pdflatex $< + TEXINPUTS=$(technical_TEXINPUTS) pdflatex $< \ + test "x$(technical_dir)" != x. \ + && mv -f technical.pdf $(technical_dir) + +dist_doc_DATA += $(TECHNICAL_PDF) + +EXTRA_DIST += \ + $(technical_dir)/technical.tex \ + $(TECHNICAL_HH) + +# FIXME: Remove `tutorial.aux tutorial.toc tutorial.log tutorial.bbl +# tutorial.out *blg *.lot' when texi2dvi is used. +# +# FIXME: Why is $(TUTORIAL_PDF) listed here? It should be +# automatically cleaned. I'm not sure either about the rest of +# CLEANFILES. +CLEANFILES += \ + technical.aux technical.toc technical.log technical.bbl technical.out \ + *blg *.lot \ + $(TECHNICAL_PDF) \ + *.haux *.hh *.html *.htoc \ + technical.html \ + technical.idx \ + $(TECHNICAL_HH) ## ---------- ## ## Tutorial. ## ## ---------- ## -include $(srcdir)/tutorial/tutorial.mk +.PHONY: tutorial tutorial-html tutorial-pdf + +tutorial_TEXINPUTS = $(DOC_SRCDIR):$(OUTPUTS_SRCDIR):$(IMG_SRCDIR): + + +tutorial: tutorial-html tutorial-pdf + +tutorial_dir = $(doc_dir)/tutorial + +# FIXME: Check these dependencies. +# 1. They might be redundant. +# 2. It'd be better to depend on actual files rather than timestamps +# corresponding to a bunch of files. +tutorial_dependencies = \ + $(doc_dir)/split-examples.stamp \ + $(doc_dir)/split-outputs.stamp \ + $(doc_dir)/figures.stamp + +# FIXME: As in milena/doc/Makefile.am, we should probably strip +# $(srcdir) prefixes from target variables, e.g. instead of: +# +# FOO = $(srcdir)/foo.pdf +# $(FOO): foo.tex bar.tex +# dist_doc_DATA = $(FOO) +# +# we should use: +# +# FOO = foo.pdf +# $(srcdir)/$(FOO): foo.tex bar.tex +# dist_doc_DATA = $(FOO) +# +# since it minimizes installation issues (see milena/doc/Makefile.am +# and Vaucanson's doc/Makefile.am). + +# FIXME: Distributed products should be generated in the source dir. +# That's actually the case, *but* the current solution is not clean +# and might break sometimes. The clean approach is to create a +# temporary directory, try to generate the documentation there, and +# move its contents to the source dir in case of success. If the +# product is a directory, also refresh a timestamp (in the source +# dir). + +# Intermediate product for the various doc targets of the parent +# directory. +# +# This is not a bug: TUTORIAL_HH is meant to have a `.hh' extension, +# since it is later parsed by Doxygen, which complains about `.html' +# files. +TUTORIAL_HH = $(tutorial_dir)/tutorial.hh +tutorial-html: $(TUTORIAL_HH) +$(TUTORIAL_HH): $(tutorial_dir)/tutorial.tex $(tutorial_dependencies) + $(doc_dir)/tools/todoxygen.sh $< $(tutorial_dir) $(doc_dir) + +# Final product. +TUTORIAL_PDF = $(tutorial_dir)/tutorial.pdf +tutorial-pdf: $(TUTORIAL_PDF) +$(TUTORIAL_PDF): $(tutorial_dir)/tutorial.tex $(tutorial_dependencies) + TEXINPUTS=$(tutorial_TEXINPUTS) pdflatex $< + TEXINPUTS=$(tutorial_TEXINPUTS) pdflatex $< + TEXINPUTS=$(tutorial_TEXINPUTS) pdflatex $< \ + test x"$(tutorial_dir)" != x. \ + && mv -f tutorial.pdf $(tutorial_dir) + +dist_doc_DATA += $(TUTORIAL_PDF) + +EXTRA_DIST += \ + $(tutorial_dir)/tutorial.tex \ + $(TUTORIAL_HH) + +# FIXME: Remove `tutorial.aux tutorial.toc tutorial.log tutorial.bbl +# tutorial.out *blg *.lot' when texi2dvi is used. +# +# FIXME: Why is $(TUTORIAL_PDF) listed here? It should be +# automatically cleaned. I'm not sure either about the rest of +# CLEANFILES. +CLEANFILES += \ + tutorial.aux tutorial.toc tutorial.log tutorial.bbl tutorial.out \ + *blg *.lot \ + $(TUTORIAL_PDF) \ + *.haux *.hh *.html *.htoc \ + tutorial.html \ + tutorial.idx \ + $(TUTORIAL_HH) ## ------------- ## ## White Paper. ## ## ------------- ## -include $(srcdir)/white_paper/white_paper.mk +.PHONY: white-paper white-paper-html white-paper-pdf + +white_paper_dir = $(doc_dir)/white_paper + +white_paper_TEXINPUTS = $(DOC_SRCDIR):$(white_paper_dir): + +PNGS = \ + $(white_paper_dir)/figures/house.png \ + $(white_paper_dir)/figures/house_rag.png \ + $(white_paper_dir)/figures/house_wshed.png \ + $(white_paper_dir)/figures/house_wshed_mean_colors.png + +EPSS = $(PNGS:png=eps) + +# FIXME: we want to check if 'figures' exists only once! +.png.eps: + test -d figures || mkdir figures + convert $< $@ + + +white-paper: white-paper-pdf white-paper-html + +# FIXME: As in milena/doc/Makefile.am, we should probably strip +# $(srcdir) prefixes from target variables, e.g. instead of: +# +# FOO = $(srcdir)/foo.pdf +# $(FOO): foo.tex bar.tex +# dist_doc_DATA = $(FOO) +# +# we should use: +# +# FOO = foo.pdf +# $(srcdir)/$(FOO): foo.tex bar.tex +# dist_doc_DATA = $(FOO) +# +# since it minimizes installation issues (see milena/doc/Makefile.am +# and Vaucanson's doc/Makefile.am). + +# FIXME: Distributed products should be generated in the source dir. +# That's actually the case, *but* the current solution is not clean +# and might break sometimes. The clean approach is to create a +# temporary directory, try to generate the documentation there, and +# move its contents to the source dir in case of success. If the +# product is a directory, also refresh a timestamp (in the source +# dir). + +# FIXME: Use texi2dvi/TeX4ht instead of plain hevea. +WHITE_PAPER_HTML = $(white_paper_dir)/white_paper_html/index.html +white-paper-html: $(WHITE_PAPER_HTML) +$(WHITE_PAPER_HTML): $(white_paper_dir)/white_paper.tex $(EPSS) + test -d $(white_paper_dir)/white_paper_html \ + || mkdir $(white_paper_dir)/white_paper_html + TEXINPUTS=$(white_paper_TEXINPUTS) hevea -O -fix $< -o $@ + $(doc_dir)/tools/clearbanner.sh $@ + + +WHITE_PAPER_PDF = $(white_paper_dir)/white_paper.pdf +white-paper-pdf: $(WHITE_PAPER_PDF) +$(WHITE_PAPER_PDF): $(white_paper_dir)/white_paper.tex $(PNGS) + TEXINPUTS=$(white_paper_TEXINPUTS) pdflatex $< + TEXINPUTS=$(white_paper_TEXINPUTS) pdflatex $< + TEXINPUTS=$(white_paper_TEXINPUTS) pdflatex $< \ + test "x$(white_paper_dir)" != x. \ + && mv -f white_paper.pdf $(white_paper_dir) + + +dist_doc_DATA += \ + $(WHITE_PAPER_HTML) \ + $(WHITE_PAPER_PDF) + +EXTRA_DIST += \ + $(white_paper_dir)/white_paper.tex \ + $(PNGS) \ + $(EPSS) + +# FIXME: Remove unnecessary patterns. +CLEANFILES += \ + white_paper_image.* \ + white_paper.pdf \ + *.log *.idx *.out *.aux + +# FIXME: Likewise. +clean-local: + -rm -rf white_paper_html figures ## ----------------- ## ## Reference Guide. ## ## ----------------- ## -include $(srcdir)/ref_guide/ref_guide.mk +.PHONY: ref-guide ref-guide-html ref-guide-pdf + +ref_guide_TEXINPUTS = "$(DOC_SRCDIR):$(OUTPUTS_SRCDIR):\ +$(SPLIT_OUTPUTS_SRCDIR):$(IMG_SRCDIR):$(SPLIT_EXAMPLES_SRCDIR):" + + +ref-guide: ref-guide-html ref-guide-pdf + +ref_guide_dir = $(doc_dir)/ref_guide + +# FIXME: Check these dependencies. +# 1. They might be redundant. +# 2. It'd be better to depend on actual files rather than timestamps +# corresponding to a bunch of files. +ref_guide_dependencies = \ + $(doc_dir)/split-examples.stamp \ + $(doc_dir)/split-outputs.stamp \ + $(doc_dir)/figures.stamp + +# FIXME: As in milena/doc/Makefile.am, we should probably strip +# $(srcdir) prefixes from target variables, e.g. instead of: +# +# FOO = $(srcdir)/foo.pdf +# $(FOO): foo.tex bar.tex +# dist_doc_DATA = $(FOO) +# +# we should use: +# +# FOO = foo.pdf +# $(srcdir)/$(FOO): foo.tex bar.tex +# dist_doc_DATA = $(FOO) +# +# since it minimizes installation issues (see milena/doc/Makefile.am +# and Vaucanson's doc/Makefile.am). + +# FIXME: Distributed products should be generated in the source dir. +# That's actually the case, *but* the current solution is not clean +# and might break sometimes. The clean approach is to create a +# temporary directory, try to generate the documentation there, and +# move its contents to the source dir in case of success. If the +# product is a directory, also refresh a timestamp (in the source +# dir). + +# Intermediate product for the various doc targets of the parent +# directory. +# +# This is not a bug: REF_GUIDE_HH is meant to have a `.hh' extension, +# since it is later parsed by Doxygen, which complains about `.html' +# files. +REF_GUIDE_HH = $(ref_guide_dir)/ref_guide.hh +ref-guide-html: $(REF_GUIDE_HH) +$(REF_GUIDE_HH): $(ref_guide_dir)/ref_guide.tex $(ref_guide_dependencies) + $(doc_dir)/tools/todoxygen.sh $< $(ref_guide_dir) $(doc_dir) + + +# Final product. +REF_GUIDE_PDF = $(ref_guide_dir)/ref_guide.pdf +ref-guide-pdf: $(REF_GUIDE_PDF) +$(REF_GUIDE_PDF): $(ref_guide_dir)/ref_guide.tex $(ref_guide_dependencies) + TEXINPUTS=$(ref_guide_TEXINPUTS) pdflatex $< + TEXINPUTS=$(ref_guide_TEXINPUTS) pdflatex $< + TEXINPUTS=$(ref_guide_TEXINPUTS) pdflatex $< \ + test x"$(ref_guide_dir)" != x. \ + && mv -f ref_guide.pdf $(ref_guide_dir) + +dist_doc_DATA += $(REF_GUIDE_PDF) + +EXTRA_DIST += \ + $(ref_guide_dir)/ref_guide.tex \ + $(REF_GUIDE_HH) + +# FIXME: Remove `ref_guide.aux ref_guide.toc ref_guide.log +# ref_guide.bbl ref_guide.out *blg *.lot' when texi2dvi is used. +# +# FIXME: Why is $(REF_GUIDE_PDF) listed here? It should be +# automatically cleaned. I'm not sure either about the rest of +# CLEANFILES. +CLEANFILES += \ + ref_guide.aux ref_guide.toc ref_guide.log ref_guide.bbl ref_guide.out \ + *blg *.lot \ + $(REF_GUIDE_PDF) \ + *.haux *.hh *.html *.htoc \ + ref_guide.html \ + ref_guide.idx \ + $(REF_GUIDE_HH) ## --------- ## @@ -293,7 +644,323 @@ $(srcdir)/figures.stamp: $(FIGURES_SRCDIR)/*.p*m ## Examples. ## ## ---------- ## -include $(top_srcdir)/milena/doc/examples/make.mk +PROGRAMS_examples = \ + accu-right-instanciation \ + borderthickness \ + box2d-bbox \ + domain-display \ + dpoint-1 \ + estim-sites \ + extend \ + extension-ignore \ + fill \ + fill-call-1 \ + fill-imageif-cfun \ + fill-part-image \ + fill-subdomain \ + fill-subdomain-shorter \ + first_routine \ + forall-piter \ + fun-p2v-1 \ + graph-data \ + graph-iter \ + ima-has \ + ima-save \ + ima-size \ + ima2d-1 \ + ima2d-2 \ + ima2d-3 \ + ima2d-4 \ + ima2d-5 \ + ima2d-6-clone \ + ima2d-7 \ + ima2d-rot \ + labeling-compute \ + logical-not \ + mln_var \ + parray-append \ + parray-bbox \ + paste \ + paste-call-1 \ + point-1 \ + predicate-1 \ + win-create-1 \ + win-create-2 + +PROGRAMS_examples += \ + tuto2_first_image \ + tuto3_rw_image \ + tuto4_genericity_and_algorithms + +# Tuto3 +PROGRAMS_examples += \ + tuto3_colorize \ + tuto3_println \ + tuto3_trace + +# Tuto4 +PROGRAMS_examples += \ + tuto4_point2d \ + tuto4_site_set_create + +EXTRA_PROGRAMS = $(PROGRAMS_examples) +CLEANFILES += $(PROGRAMS_examples) + +# FIXME: Careful, this will only work if this file is included by +# `milena/doc/Makefile.am', since `examples/' is a subdirectory of +# `milena/doc/'. Anyway, this file is to be eventually inlined in +# `milena/doc/Makefile.am', so this is not a big deal. +accu_right_instanciation_SOURCES = examples/accu-right-instanciation.cc +borderthickness_SOURCES = examples/borderthickness.cc +box2d_bbox_SOURCES = examples/box2d-bbox.cc +domain_display_SOURCES = examples/domain-display.cc +dpoint_1_SOURCES = examples/dpoint-1.cc +estim_sites_SOURCES = examples/estim-sites.cc +extend_SOURCES = examples/extend.cc +extension_ignore_SOURCES = examples/extension-ignore.cc +fill_SOURCES = examples/fill.cc +fill_call_1_SOURCES = examples/fill-call-1.cc +fill_imageif_cfun_SOURCES = examples/fill-imageif-cfun.cc +fill_part_image_SOURCES = examples/fill-part-image.cc +fill_subdomain_SOURCES = examples/fill-subdomain.cc +fill_subdomain_shorter_SOURCES = examples/fill-subdomain-shorter.cc +first_routine_SOURCES = examples/tuto3/first_routine.cc +forall_piter_SOURCES = examples/forall-piter.cc +fun_p2v_1_SOURCES = examples/fun-p2v-1.cc +graph_data_SOURCES = examples/graph-data.cc +graph_iter_SOURCES = examples/graph-iter.cc +ima2d_1_SOURCES = examples/ima2d-1.cc +ima2d_2_SOURCES = examples/ima2d-2.cc +ima2d_3_SOURCES = examples/ima2d-3.cc +ima2d_4_SOURCES = examples/ima2d-4.cc +ima2d_5_SOURCES = examples/ima2d-5.cc +ima2d_6_clone_SOURCES = examples/ima2d-6-clone.cc +ima2d_7_SOURCES = examples/ima2d-7.cc +ima2d_rot_SOURCES = examples/ima2d-rot.cc +ima_has_SOURCES = examples/ima-has.cc +ima_save_SOURCES = examples/ima-save.cc +ima_size_SOURCES = examples/ima-size.cc +labeling_compute_SOURCES = examples/labeling-compute.cc +logical_not_SOURCES = examples/logical-not.cc +mln_var_SOURCES = examples/mln_var.cc +parray_append_SOURCES = examples/parray-append.cc +parray_bbox_SOURCES = examples/parray-bbox.cc +paste_SOURCES = examples/paste.cc +paste_call_1_SOURCES = examples/paste-call-1.cc +point_1_SOURCES = examples/point-1.cc +predicate_1_SOURCES = examples/predicate-1.cc +win_create_1_SOURCES = examples/win-create-1.cc +win_create_2_SOURCES = examples/win-create-2.cc + +tuto2_first_image_SOURCES = examples/tuto2_first_image.cc +tuto3_rw_image_SOURCES = examples/tuto3_rw_image.cc +tuto4_genericity_and_algorithms_SOURCES = examples/tuto4_genericity_and_algorithms.cc + +# Tuto 3 +tuto3_colorize_SOURCES = examples/tuto3/colorize.cc +tuto3_println_SOURCES = examples/tuto3/println.cc +tuto3_trace_SOURCES = examples/tuto3/trace.cc + +# Tuto 4 +tuto4_point2d_SOURCES = examples/tuto4/point2d.cc +tuto4_site_set_create_SOURCES = examples/tuto4/site_set_create.cc + + +# FIXME: Try to avoid the use an extensive list: either use Make's +# substitution rules or generate it. Actually this list is already +# generated (see outputs/outputs.mk). +OUTPUTS = \ + $(srcdir)/outputs/accu-right-instanciation.txt \ + $(srcdir)/outputs/borderthickness.txt \ + $(srcdir)/outputs/box2d-bbox.txt \ + $(srcdir)/outputs/domain-display.txt \ + $(srcdir)/outputs/dpoint-1.txt \ + $(srcdir)/outputs/estim-sites.txt \ + $(srcdir)/outputs/extend.txt \ + $(srcdir)/outputs/extension-ignore.txt \ + $(srcdir)/outputs/fill-call-1.txt \ + $(srcdir)/outputs/fill-imageif-cfun.txt \ + $(srcdir)/outputs/fill-part-image.txt \ + $(srcdir)/outputs/fill-subdomain-shorter.txt \ + $(srcdir)/outputs/fill-subdomain.txt \ + $(srcdir)/outputs/fill.txt \ + $(srcdir)/outputs/first_routine.txt \ + $(srcdir)/outputs/forall-piter.txt \ + $(srcdir)/outputs/fun-p2v-1.txt \ + $(srcdir)/outputs/graph-data.txt \ + $(srcdir)/outputs/graph-iter.txt \ + $(srcdir)/outputs/graph-output-1.txt \ + $(srcdir)/outputs/ima2d-1.txt \ + $(srcdir)/outputs/ima2d-2.txt \ + $(srcdir)/outputs/ima2d-3.txt \ + $(srcdir)/outputs/ima2d-4.txt \ + $(srcdir)/outputs/ima2d-5.txt \ + $(srcdir)/outputs/ima2d-6-clone.txt \ + $(srcdir)/outputs/ima2d-7.txt \ + $(srcdir)/outputs/ima2d-decl-2.txt \ + $(srcdir)/outputs/ima2d-display-1.txt \ + $(srcdir)/outputs/ima2d-display-2.txt \ + $(srcdir)/outputs/ima2d-display-output-1.txt \ + $(srcdir)/outputs/ima2d-display-output-2.txt \ + $(srcdir)/outputs/ima2d-rot.txt \ + $(srcdir)/outputs/ima-has.txt \ + $(srcdir)/outputs/ima-save.txt \ + $(srcdir)/outputs/ima-size.txt \ + $(srcdir)/outputs/labeling-compute.txt \ + $(srcdir)/outputs/logical-not.txt \ + $(srcdir)/outputs/mln_var.txt \ + $(srcdir)/outputs/parray-append.txt \ + $(srcdir)/outputs/parray-bbox.txt \ + $(srcdir)/outputs/parray-display-1.txt \ + $(srcdir)/outputs/paste-call-1.txt \ + $(srcdir)/outputs/paste.txt \ + $(srcdir)/outputs/point-1.txt \ + $(srcdir)/outputs/predicate-1.txt \ + $(srcdir)/outputs/tuto2_first_image.txt \ + $(srcdir)/outputs/tuto3_colorize.txt \ + $(srcdir)/outputs/tuto3_println.txt \ + $(srcdir)/outputs/tuto3_rw_image.txt \ + $(srcdir)/outputs/tuto3_trace.txt \ + $(srcdir)/outputs/tuto4_genericity_and_algorithms.txt \ + $(srcdir)/outputs/tuto4_point2d.txt \ + $(srcdir)/outputs/tuto4_site_set_create.txt \ + $(srcdir)/outputs/win-create-1-display.txt \ + $(srcdir)/outputs/win-create-1.txt \ + $(srcdir)/outputs/win-create-2.txt + +$(DOC_SRCDIR)/examples-outputs.mk: $(DOC_SRCDIR)/gen-examples-outputs-mk $(srcdir)/Makefile.am + $(DOC_SRCDIR)/gen-examples-outputs-mk $(PROGRAMS_examples) >$@.tmp + mv -f $@.tmp $@ + chmod -w $@ +include $(DOC_SRCDIR)/examples-outputs.mk + +MAINTAINERCLEANFILES += $(OUTPUTS) + +# FIXME: Warning: $(SPLIT_EXAMPLES_SRCDIR) might not exist. Ensure it +# exists. + +# FIXME: Try to avoid the use an extensive list: either use Make's +# substitution rules or generate it. +EXAMPLES = \ + $(srcdir)/examples/ima-save.cc \ + $(srcdir)/examples/accu-right-instanciation.cc \ + $(srcdir)/examples/borderthickness.cc \ + $(srcdir)/examples/box2d-bbox.cc \ + $(srcdir)/examples/domain-display.cc \ + $(srcdir)/examples/dpoint-1.cc \ + $(srcdir)/examples/estim-sites.cc \ + $(srcdir)/examples/extend.cc \ + $(srcdir)/examples/extension-ignore.cc \ + $(srcdir)/examples/fill-call-1.cc \ + $(srcdir)/examples/fill-imageif-cfun.cc \ + $(srcdir)/examples/fill-part-image.cc \ + $(srcdir)/examples/fill-subdomain-shorter.cc \ + $(srcdir)/examples/fill-subdomain.cc \ + $(srcdir)/examples/fill.cc \ + $(srcdir)/examples/forall-piter.cc \ + $(srcdir)/examples/fun-p2v-1.cc \ + $(srcdir)/examples/graph-data.cc \ + $(srcdir)/examples/graph-iter.cc \ + $(srcdir)/examples/ima-has.cc \ + $(srcdir)/examples/ima-load.cc \ + $(srcdir)/examples/ima-size.cc \ + $(srcdir)/examples/ima2d-1.cc \ + $(srcdir)/examples/ima2d-2.cc \ + $(srcdir)/examples/ima2d-3.cc \ + $(srcdir)/examples/ima2d-4.cc \ + $(srcdir)/examples/ima2d-5.cc \ + $(srcdir)/examples/ima2d-6-clone.cc \ + $(srcdir)/examples/ima2d-7.cc \ + $(srcdir)/examples/ima2d-rot.cc \ + $(srcdir)/examples/labeling-compute.cc \ + $(srcdir)/examples/logical-not.cc \ + $(srcdir)/examples/mln_var.cc \ + $(srcdir)/examples/parray-append.cc \ + $(srcdir)/examples/parray-bbox.cc \ + $(srcdir)/examples/paste-call-1.cc \ + $(srcdir)/examples/paste.cc \ + $(srcdir)/examples/point-1.cc \ + $(srcdir)/examples/predicate-1.cc \ + $(srcdir)/examples/trash/accu.cc \ + $(srcdir)/examples/trash/box.cc \ + $(srcdir)/examples/trash/cpp_issue.cc \ + $(srcdir)/examples/trash/erosion.cc \ + $(srcdir)/examples/trash/for_Z.cc \ + $(srcdir)/examples/trash/graph.cc \ + $(srcdir)/examples/trash/image2d.cc \ + $(srcdir)/examples/trash/image_flat.cc \ + $(srcdir)/examples/trash/image_if.cc \ + $(srcdir)/examples/trash/image_plain.cc \ + $(srcdir)/examples/trash/image_safe.cc \ + $(srcdir)/examples/trash/labeling_algo.cc \ + $(srcdir)/examples/trash/mk_graph.cc \ + $(srcdir)/examples/trash/p_array.2.cc \ + $(srcdir)/examples/trash/p_array.cc \ + $(srcdir)/examples/trash/p_image.cc \ + $(srcdir)/examples/trash/p_key.2.cc \ + $(srcdir)/examples/trash/p_key.cc \ + $(srcdir)/examples/trash/p_line2d.cc \ + $(srcdir)/examples/trash/p_mutable_array_of.cc \ + $(srcdir)/examples/trash/p_queue.cc \ + $(srcdir)/examples/trash/p_run.cc \ + $(srcdir)/examples/trash/p_vaccess.cc \ + $(srcdir)/examples/trash/proxy.cc \ + $(srcdir)/examples/trash/sub_image.cc \ + $(srcdir)/examples/trash/sub_image_if.cc \ + $(srcdir)/examples/trash/tuto_bis.cc \ + $(srcdir)/examples/trash/tuto_one.cc \ + $(srcdir)/examples/trash/vec.cc \ + $(srcdir)/examples/trash/win_multiple.cc \ + $(srcdir)/examples/trash/window.cc \ + $(srcdir)/examples/tuto2_first_image.cc \ + $(srcdir)/examples/tuto3/colorize.cc \ + $(srcdir)/examples/tuto3/first_routine.cc \ + $(srcdir)/examples/tuto3/println.cc \ + $(srcdir)/examples/tuto3/trace.cc \ + $(srcdir)/examples/tuto3_rw_image.cc \ + $(srcdir)/examples/tuto4/image.cc \ + $(srcdir)/examples/tuto4/point2d.cc \ + $(srcdir)/examples/tuto4/site_set_create.cc \ + $(srcdir)/examples/tuto4_genericity_and_algorithms.cc \ + $(srcdir)/examples/win-create-1.cc \ + $(srcdir)/examples/win-create-2.cc + +# FIXME: Place split files in their own directory, e.g.: split +# `examples/foo.cc' into `examples/split/foo.dir/foo-1.cc', +# `examples/split/foo.dir/foo-2.cc', etc. It makes removal of these +# files easier. We probably also nee a stamp file to keep track of +# dependencies. + +# FIXME: Loops are bad, as they prevent parallelism. And we prefer +# data-driven actions anyway. This would imply that we know in +# advance the list out outputs (here, split examples). Maybe we can +# infer it from the LaTeX document. +$(srcdir)/split-examples.stamp: $(EXAMPLES) + @rm -f $@.tmp + @touch $@.tmp + failcom='exit 1'; \ + for file in $(EXAMPLES); do \ + $(DOC_SRCDIR)/tools/split_sample.sh \ + $$file cc raw $(SPLIT_EXAMPLES_SRCDIR) \ + || eval $$failcom; \ + done + @mv -f $@.tmp $@ + +# FIXME: Loops are bad, as they prevent parallelism. And we prefer +# data-driven actions anyway. This would imply that we know in +# advance the list out outputs (here, split outputs). Maybe we can +# infer it from the LaTeX document. +$(srcdir)/split-outputs.stamp: $(OUTPUTS) + @rm -f $@.tmp + @touch $@.tmp + failcom='exit 1'; \ + for file in $(OUTPUTS); do \ + $(DOC_SRCDIR)/tools/split_sample.sh \ + $$file txt "" $(SPLIT_OUTPUTS_SRCDIR) \ + || eval $$failcom; \ + done + @mv -f $@.tmp $@ + # Regen Make helpers. EXTRA_DIST += generate_dist_files.sh headers.stamp @@ -308,6 +975,7 @@ regen-am: ./generate_dist_files.sh outputs txt && \ ./generate_dist_files.sh examples cc.raw @mv -f $(srcdir)/headers.stamp.tmp $(srcdir)/headers.stamp +## FIXME: Regen examples-outputs.mk as well? $(srcdir)/examples/examples.mk: $(srcdir)/headers.stamp $(srcdir)/outputs/outputs.mk: $(srcdir)/headers.stamp diff --git a/milena/doc/doc.mk b/milena/doc/doc.mk deleted file mode 100644 index 161d893..0000000 --- a/milena/doc/doc.mk +++ /dev/null @@ -1,42 +0,0 @@ -# -*- Automake -*- - -# Copyright (C) 2008, 2009, 2010 EPITA Research and Development Laboratory -# (LRDE). -# -# This file is part of Olena. -# -# Olena is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, version 2 of the License. -# -# Olena is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Olena. If not, see <http://www.gnu.org/licenses/>. - -include $(top_srcdir)/milena/tests/tests.mk - -AM_CPPFLAGS += -I$(top_srcdir)/milena/doc/tutorial/tools - -## FIXME: Upercase variables should be reserved for special names: -## classical Make variables (e.g. `CXXFLAGS') Automake variables -## (e.g. `SUBDIRS'), etc. -## -## Moreover, do we really need all these variables? See how things -## evolve during the refurbishing of the build system in doc/. -DOC_SRCDIR = $(top_srcdir)/milena/doc -OUTPUTS_SRCDIR = $(DOC_SRCDIR)/outputs -SPLIT_OUTPUTS_SRCDIR = $(OUTPUTS_SRCDIR)/split -FIGURES_SRCDIR = $(DOC_SRCDIR)/figures -EXAMPLES_SRCDIR = $(DOC_SRCDIR)/examples -SPLIT_EXAMPLES_SRCDIR = $(EXAMPLES_SRCDIR)/split -IMG_SRCDIR = $(DOC_SRCDIR)/img - -# FIXME: Adjust when $(DOC_SRCDIR) is renamed or removed. -# -# FIXME: Careful, `doc_dir' is close to `docdir', which is reserved by -# Automake. Change this name? -doc_dir = $(DOC_SRCDIR) diff --git a/milena/doc/examples/make.mk b/milena/doc/examples/make.mk deleted file mode 100644 index 91f21cb..0000000 --- a/milena/doc/examples/make.mk +++ /dev/null @@ -1,337 +0,0 @@ -# -*- Automake -*- - -# Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE). -# -# This file is part of Olena. -# -# Olena is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, version 2 of the License. -# -# Olena is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Olena. If not, see <http://www.gnu.org/licenses/>. - -PROGRAMS_examples = \ - accu-right-instanciation \ - borderthickness \ - box2d-bbox \ - domain-display \ - dpoint-1 \ - estim-sites \ - extend \ - extension-ignore \ - fill \ - fill-call-1 \ - fill-imageif-cfun \ - fill-part-image \ - fill-subdomain \ - fill-subdomain-shorter \ - first_routine \ - forall-piter \ - fun-p2v-1 \ - graph-data \ - graph-iter \ - ima-has \ - ima-save \ - ima-size \ - ima2d-1 \ - ima2d-2 \ - ima2d-3 \ - ima2d-4 \ - ima2d-5 \ - ima2d-6-clone \ - ima2d-7 \ - ima2d-rot \ - labeling-compute \ - logical-not \ - mln_var \ - parray-append \ - parray-bbox \ - paste \ - paste-call-1 \ - point-1 \ - predicate-1 \ - win-create-1 \ - win-create-2 - -PROGRAMS_examples += \ - tuto2_first_image \ - tuto3_rw_image \ - tuto4_genericity_and_algorithms - -# Tuto3 -PROGRAMS_examples += \ - tuto3_colorize \ - tuto3_println \ - tuto3_trace - -# Tuto4 -PROGRAMS_examples += \ - tuto4_point2d \ - tuto4_site_set_create - -EXTRA_PROGRAMS = $(PROGRAMS_examples) -CLEANFILES += $(PROGRAMS_examples) - -# FIXME: Careful, this will only work if this file is included by -# `milena/doc/Makefile.am', since `examples/' is a subdirectory of -# `milena/doc/'. Anyway, this file is to be eventually inlined in -# `milena/doc/Makefile.am', so this is not a big deal. -accu_right_instanciation_SOURCES = examples/accu-right-instanciation.cc -borderthickness_SOURCES = examples/borderthickness.cc -box2d_bbox_SOURCES = examples/box2d-bbox.cc -domain_display_SOURCES = examples/domain-display.cc -dpoint_1_SOURCES = examples/dpoint-1.cc -estim_sites_SOURCES = examples/estim-sites.cc -extend_SOURCES = examples/extend.cc -extension_ignore_SOURCES = examples/extension-ignore.cc -fill_SOURCES = examples/fill.cc -fill_call_1_SOURCES = examples/fill-call-1.cc -fill_imageif_cfun_SOURCES = examples/fill-imageif-cfun.cc -fill_part_image_SOURCES = examples/fill-part-image.cc -fill_subdomain_SOURCES = examples/fill-subdomain.cc -fill_subdomain_shorter_SOURCES = examples/fill-subdomain-shorter.cc -first_routine_SOURCES = examples/tuto3/first_routine.cc -forall_piter_SOURCES = examples/forall-piter.cc -fun_p2v_1_SOURCES = examples/fun-p2v-1.cc -graph_data_SOURCES = examples/graph-data.cc -graph_iter_SOURCES = examples/graph-iter.cc -ima2d_1_SOURCES = examples/ima2d-1.cc -ima2d_2_SOURCES = examples/ima2d-2.cc -ima2d_3_SOURCES = examples/ima2d-3.cc -ima2d_4_SOURCES = examples/ima2d-4.cc -ima2d_5_SOURCES = examples/ima2d-5.cc -ima2d_6_clone_SOURCES = examples/ima2d-6-clone.cc -ima2d_7_SOURCES = examples/ima2d-7.cc -ima2d_rot_SOURCES = examples/ima2d-rot.cc -ima_has_SOURCES = examples/ima-has.cc -ima_save_SOURCES = examples/ima-save.cc -ima_size_SOURCES = examples/ima-size.cc -labeling_compute_SOURCES = examples/labeling-compute.cc -logical_not_SOURCES = examples/logical-not.cc -mln_var_SOURCES = examples/mln_var.cc -parray_append_SOURCES = examples/parray-append.cc -parray_bbox_SOURCES = examples/parray-bbox.cc -paste_SOURCES = examples/paste.cc -paste_call_1_SOURCES = examples/paste-call-1.cc -point_1_SOURCES = examples/point-1.cc -predicate_1_SOURCES = examples/predicate-1.cc -win_create_1_SOURCES = examples/win-create-1.cc -win_create_2_SOURCES = examples/win-create-2.cc - -tuto2_first_image_SOURCES = examples/tuto2_first_image.cc -tuto3_rw_image_SOURCES = examples/tuto3_rw_image.cc -tuto4_genericity_and_algorithms_SOURCES = examples/tuto4_genericity_and_algorithms.cc - -# Tuto 3 -tuto3_colorize_SOURCES = examples/tuto3/colorize.cc -tuto3_println_SOURCES = examples/tuto3/println.cc -tuto3_trace_SOURCES = examples/tuto3/trace.cc - -# Tuto 4 -tuto4_point2d_SOURCES = examples/tuto4/point2d.cc -tuto4_site_set_create_SOURCES = examples/tuto4/site_set_create.cc - - -# FIXME: Try to avoid the use an extensive list: either use Make's -# substitution rules or generate it. Actually this list is already -# generated (see outputs/outputs.mk). -OUTPUTS = \ - $(srcdir)/outputs/accu-right-instanciation.txt \ - $(srcdir)/outputs/borderthickness.txt \ - $(srcdir)/outputs/box2d-bbox.txt \ - $(srcdir)/outputs/domain-display.txt \ - $(srcdir)/outputs/dpoint-1.txt \ - $(srcdir)/outputs/estim-sites.txt \ - $(srcdir)/outputs/extend.txt \ - $(srcdir)/outputs/extension-ignore.txt \ - $(srcdir)/outputs/fill-call-1.txt \ - $(srcdir)/outputs/fill-imageif-cfun.txt \ - $(srcdir)/outputs/fill-part-image.txt \ - $(srcdir)/outputs/fill-subdomain-shorter.txt \ - $(srcdir)/outputs/fill-subdomain.txt \ - $(srcdir)/outputs/fill.txt \ - $(srcdir)/outputs/first_routine.txt \ - $(srcdir)/outputs/forall-piter.txt \ - $(srcdir)/outputs/fun-p2v-1.txt \ - $(srcdir)/outputs/graph-data.txt \ - $(srcdir)/outputs/graph-iter.txt \ - $(srcdir)/outputs/graph-output-1.txt \ - $(srcdir)/outputs/ima2d-1.txt \ - $(srcdir)/outputs/ima2d-2.txt \ - $(srcdir)/outputs/ima2d-3.txt \ - $(srcdir)/outputs/ima2d-4.txt \ - $(srcdir)/outputs/ima2d-5.txt \ - $(srcdir)/outputs/ima2d-6-clone.txt \ - $(srcdir)/outputs/ima2d-7.txt \ - $(srcdir)/outputs/ima2d-decl-2.txt \ - $(srcdir)/outputs/ima2d-display-1.txt \ - $(srcdir)/outputs/ima2d-display-2.txt \ - $(srcdir)/outputs/ima2d-display-output-1.txt \ - $(srcdir)/outputs/ima2d-display-output-2.txt \ - $(srcdir)/outputs/ima2d-rot.txt \ - $(srcdir)/outputs/ima-has.txt \ - $(srcdir)/outputs/ima-save.txt \ - $(srcdir)/outputs/ima-size.txt \ - $(srcdir)/outputs/labeling-compute.txt \ - $(srcdir)/outputs/logical-not.txt \ - $(srcdir)/outputs/mln_var.txt \ - $(srcdir)/outputs/parray-append.txt \ - $(srcdir)/outputs/parray-bbox.txt \ - $(srcdir)/outputs/parray-display-1.txt \ - $(srcdir)/outputs/paste-call-1.txt \ - $(srcdir)/outputs/paste.txt \ - $(srcdir)/outputs/point-1.txt \ - $(srcdir)/outputs/predicate-1.txt \ - $(srcdir)/outputs/tuto2_first_image.txt \ - $(srcdir)/outputs/tuto3_colorize.txt \ - $(srcdir)/outputs/tuto3_println.txt \ - $(srcdir)/outputs/tuto3_rw_image.txt \ - $(srcdir)/outputs/tuto3_trace.txt \ - $(srcdir)/outputs/tuto4_genericity_and_algorithms.txt \ - $(srcdir)/outputs/tuto4_point2d.txt \ - $(srcdir)/outputs/tuto4_site_set_create.txt \ - $(srcdir)/outputs/win-create-1-display.txt \ - $(srcdir)/outputs/win-create-1.txt \ - $(srcdir)/outputs/win-create-2.txt - -## FIXME: Do not forget to turn the dependency -## $(srcdir)/examples/make.mk into $(srcdir)/Makefile.am when the -## former is merged into the latter. -$(DOC_SRCDIR)/examples-outputs.mk: $(DOC_SRCDIR)/gen-examples-outputs-mk $(srcdir)/examples/make.mk - $(DOC_SRCDIR)/gen-examples-outputs-mk $(PROGRAMS_examples) >$@.tmp - mv -f $@.tmp $@ - chmod -w $@ -include $(DOC_SRCDIR)/examples-outputs.mk - -MAINTAINERCLEANFILES += $(OUTPUTS) - -# FIXME: Warning: $(SPLIT_EXAMPLES_SRCDIR) might not exist. Ensure it -# exists. - -# FIXME: Try to avoid the use an extensive list: either use Make's -# substitution rules or generate it. -EXAMPLES = \ - $(srcdir)/examples/ima-save.cc \ - $(srcdir)/examples/accu-right-instanciation.cc \ - $(srcdir)/examples/borderthickness.cc \ - $(srcdir)/examples/box2d-bbox.cc \ - $(srcdir)/examples/domain-display.cc \ - $(srcdir)/examples/dpoint-1.cc \ - $(srcdir)/examples/estim-sites.cc \ - $(srcdir)/examples/extend.cc \ - $(srcdir)/examples/extension-ignore.cc \ - $(srcdir)/examples/fill-call-1.cc \ - $(srcdir)/examples/fill-imageif-cfun.cc \ - $(srcdir)/examples/fill-part-image.cc \ - $(srcdir)/examples/fill-subdomain-shorter.cc \ - $(srcdir)/examples/fill-subdomain.cc \ - $(srcdir)/examples/fill.cc \ - $(srcdir)/examples/forall-piter.cc \ - $(srcdir)/examples/fun-p2v-1.cc \ - $(srcdir)/examples/graph-data.cc \ - $(srcdir)/examples/graph-iter.cc \ - $(srcdir)/examples/ima-has.cc \ - $(srcdir)/examples/ima-load.cc \ - $(srcdir)/examples/ima-size.cc \ - $(srcdir)/examples/ima2d-1.cc \ - $(srcdir)/examples/ima2d-2.cc \ - $(srcdir)/examples/ima2d-3.cc \ - $(srcdir)/examples/ima2d-4.cc \ - $(srcdir)/examples/ima2d-5.cc \ - $(srcdir)/examples/ima2d-6-clone.cc \ - $(srcdir)/examples/ima2d-7.cc \ - $(srcdir)/examples/ima2d-rot.cc \ - $(srcdir)/examples/labeling-compute.cc \ - $(srcdir)/examples/logical-not.cc \ - $(srcdir)/examples/mln_var.cc \ - $(srcdir)/examples/parray-append.cc \ - $(srcdir)/examples/parray-bbox.cc \ - $(srcdir)/examples/paste-call-1.cc \ - $(srcdir)/examples/paste.cc \ - $(srcdir)/examples/point-1.cc \ - $(srcdir)/examples/predicate-1.cc \ - $(srcdir)/examples/trash/accu.cc \ - $(srcdir)/examples/trash/box.cc \ - $(srcdir)/examples/trash/cpp_issue.cc \ - $(srcdir)/examples/trash/erosion.cc \ - $(srcdir)/examples/trash/for_Z.cc \ - $(srcdir)/examples/trash/graph.cc \ - $(srcdir)/examples/trash/image2d.cc \ - $(srcdir)/examples/trash/image_flat.cc \ - $(srcdir)/examples/trash/image_if.cc \ - $(srcdir)/examples/trash/image_plain.cc \ - $(srcdir)/examples/trash/image_safe.cc \ - $(srcdir)/examples/trash/labeling_algo.cc \ - $(srcdir)/examples/trash/mk_graph.cc \ - $(srcdir)/examples/trash/p_array.2.cc \ - $(srcdir)/examples/trash/p_array.cc \ - $(srcdir)/examples/trash/p_image.cc \ - $(srcdir)/examples/trash/p_key.2.cc \ - $(srcdir)/examples/trash/p_key.cc \ - $(srcdir)/examples/trash/p_line2d.cc \ - $(srcdir)/examples/trash/p_mutable_array_of.cc \ - $(srcdir)/examples/trash/p_queue.cc \ - $(srcdir)/examples/trash/p_run.cc \ - $(srcdir)/examples/trash/p_vaccess.cc \ - $(srcdir)/examples/trash/proxy.cc \ - $(srcdir)/examples/trash/sub_image.cc \ - $(srcdir)/examples/trash/sub_image_if.cc \ - $(srcdir)/examples/trash/tuto_bis.cc \ - $(srcdir)/examples/trash/tuto_one.cc \ - $(srcdir)/examples/trash/vec.cc \ - $(srcdir)/examples/trash/win_multiple.cc \ - $(srcdir)/examples/trash/window.cc \ - $(srcdir)/examples/tuto2_first_image.cc \ - $(srcdir)/examples/tuto3/colorize.cc \ - $(srcdir)/examples/tuto3/first_routine.cc \ - $(srcdir)/examples/tuto3/println.cc \ - $(srcdir)/examples/tuto3/trace.cc \ - $(srcdir)/examples/tuto3_rw_image.cc \ - $(srcdir)/examples/tuto4/image.cc \ - $(srcdir)/examples/tuto4/point2d.cc \ - $(srcdir)/examples/tuto4/site_set_create.cc \ - $(srcdir)/examples/tuto4_genericity_and_algorithms.cc \ - $(srcdir)/examples/win-create-1.cc \ - $(srcdir)/examples/win-create-2.cc - -# FIXME: Place split files in their own directory, e.g.: split -# `examples/foo.cc' into `examples/split/foo.dir/foo-1.cc', -# `examples/split/foo.dir/foo-2.cc', etc. It makes removal of these -# files easier. We probably also nee a stamp file to keep track of -# dependencies. - -# FIXME: Loops are bad, as they prevent parallelism. And we prefer -# data-driven actions anyway. This would imply that we know in -# advance the list out outputs (here, split examples). Maybe we can -# infer it from the LaTeX document. -$(srcdir)/split-examples.stamp: $(EXAMPLES) - @rm -f $@.tmp - @touch $@.tmp - failcom='exit 1'; \ - for file in $(EXAMPLES); do \ - $(DOC_SRCDIR)/tools/split_sample.sh \ - $$file cc raw $(SPLIT_EXAMPLES_SRCDIR) \ - || eval $$failcom; \ - done - @mv -f $@.tmp $@ - -# FIXME: Loops are bad, as they prevent parallelism. And we prefer -# data-driven actions anyway. This would imply that we know in -# advance the list out outputs (here, split outputs). Maybe we can -# infer it from the LaTeX document. -$(srcdir)/split-outputs.stamp: $(OUTPUTS) - @rm -f $@.tmp - @touch $@.tmp - failcom='exit 1'; \ - for file in $(OUTPUTS); do \ - $(DOC_SRCDIR)/tools/split_sample.sh \ - $$file txt "" $(SPLIT_OUTPUTS_SRCDIR) \ - || eval $$failcom; \ - done - @mv -f $@.tmp $@ diff --git a/milena/doc/ref_guide/ref_guide.mk b/milena/doc/ref_guide/ref_guide.mk deleted file mode 100644 index d776b2f..0000000 --- a/milena/doc/ref_guide/ref_guide.mk +++ /dev/null @@ -1,104 +0,0 @@ -# -*- Automake -*- - -# Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE). -# -# This file is part of Olena. -# -# Olena is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, version 2 of the License. -# -# Olena is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Olena. If not, see <http://www.gnu.org/licenses/>. -# - -.PHONY: ref-guide ref-guide-html ref-guide-pdf - -ref_guide_TEXINPUTS = "$(DOC_SRCDIR):$(OUTPUTS_SRCDIR):\ -$(SPLIT_OUTPUTS_SRCDIR):$(IMG_SRCDIR):$(SPLIT_EXAMPLES_SRCDIR):" - - -ref-guide: ref-guide-html ref-guide-pdf - -ref_guide_dir = $(doc_dir)/ref_guide - -# FIXME: Check these dependencies. -# 1. They might be redundant. -# 2. It'd be better to depend on actual files rather than timestamps -# correponding to a bunch of files. -ref_guide_dependencies = \ - $(doc_dir)/split-examples.stamp \ - $(doc_dir)/split-outputs.stamp \ - $(doc_dir)/figures.stamp - -# FIXME: As in milena/doc/Makefile.am, we should probably strip -# $(srcdir) prefixes from target variables, e.g. instead of: -# -# FOO = $(srcdir)/foo.pdf -# $(FOO): foo.tex bar.tex -# dist_doc_DATA = $(FOO) -# -# we should use: -# -# FOO = foo.pdf -# $(srcdir)/$(FOO): foo.tex bar.tex -# dist_doc_DATA = $(FOO) -# -# since it minimizes installation issues (see milena/doc/Makefile.am -# and Vaucanson's doc/Makefile.am). - -# FIXME: Distributed products should be generated in the source dir. -# That's actually the case, *but* the current solution is not clean -# and might break sometimes. The clean approach is to create a -# temporary directory, try to generate the documentation there, and -# move its contents to the source dir in case of success. If the -# product is a directory, also refresh a timestamp (in the source -# dir). - -# Intermediate product for the various doc targets of the parent -# directory. -# -# This is not a bug: REF_GUIDE_HH is meant to have a `.hh' extension, -# since it is later parsed by Doxygen, which complains about `.html' -# files. -REF_GUIDE_HH = $(ref_guide_dir)/ref_guide.hh -ref-guide-html: $(REF_GUIDE_HH) -$(REF_GUIDE_HH): $(ref_guide_dir)/ref_guide.tex $(ref_guide_dependencies) - $(doc_dir)/tools/todoxygen.sh $< $(ref_guide_dir) $(doc_dir) - - -# Final product. -REF_GUIDE_PDF = $(ref_guide_dir)/ref_guide.pdf -ref-guide-pdf: $(REF_GUIDE_PDF) -$(REF_GUIDE_PDF): $(ref_guide_dir)/ref_guide.tex $(ref_guide_dependencies) - TEXINPUTS=$(ref_guide_TEXINPUTS) pdflatex $< - TEXINPUTS=$(ref_guide_TEXINPUTS) pdflatex $< - TEXINPUTS=$(ref_guide_TEXINPUTS) pdflatex $< \ - test x"$(ref_guide_dir)" != x. \ - && mv -f ref_guide.pdf $(ref_guide_dir) - -dist_doc_DATA += $(REF_GUIDE_PDF) - -EXTRA_DIST += \ - $(ref_guide_dir)/ref_guide.tex \ - $(REF_GUIDE_HH) - -# FIXME: Remove `ref_guide.aux ref_guide.toc ref_guide.log -# ref_guide.bbl ref_guide.out *blg *.lot' when texi2dvi is used. -# -# FIXME: Why is $(REF_GUIDE_PDF) listed here? It should be -# automatically cleaned. I'm not sure either about the rest of -# CLEANFILES. -CLEANFILES += \ - ref_guide.aux ref_guide.toc ref_guide.log ref_guide.bbl ref_guide.out \ - *blg *.lot \ - $(REF_GUIDE_PDF) \ - *.haux *.hh *.html *.htoc \ - ref_guide.html \ - ref_guide.idx \ - $(REF_GUIDE_HH) diff --git a/milena/doc/technical/technical.mk b/milena/doc/technical/technical.mk deleted file mode 100644 index 8c5ccea..0000000 --- a/milena/doc/technical/technical.mk +++ /dev/null @@ -1,100 +0,0 @@ -# -*- Automake -*- - -# Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE). -# -# This file is part of Olena. -# -# Olena is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, version 2 of the License. -# -# Olena is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Olena. If not, see <http://www.gnu.org/licenses/>. -# - -.PHONY: technical technical-html technical-pdf - -technical_TEXINPUTS ="$(DOC_SRCDIR):$(OUTPUTS_SRCDIR):$(srcdir):\ -$(SPLIT_OUTPUTS_SRCDIR):$(IMG_SRCDIR):$(SPLIT_EXAMPLES_SRCDIR):" - - -technical: technical-html technical-pdf - -technical_dir = $(doc_dir)/technical - -# FIXME: Check these dependencies. And it'd be better to depend on -# actual files rather than timestamps correponding to a bunch of -# files. -technical_dependencies = $(doc_dir)/figures.stamp - -# FIXME: As in milena/doc/Makefile.am, we should probably strip -# $(srcdir) prefixes from target variables, e.g. instead of: -# -# FOO = $(srcdir)/foo.pdf -# $(FOO): foo.tex bar.tex -# dist_doc_DATA = $(FOO) -# -# we should use: -# -# FOO = foo.pdf -# $(srcdir)/$(FOO): foo.tex bar.tex -# dist_doc_DATA = $(FOO) -# -# since it minimizes installation issues (see milena/doc/Makefile.am -# and Vaucanson's doc/Makefile.am). - -# FIXME: Distributed products should be generated in the source dir. -# That's actually the case, *but* the current solution is not clean -# and might break sometimes. The clean approach is to create a -# temporary directory, try to generate the documentation there, and -# move its contents to the source dir in case of success. If the -# product is a directory, also refresh a timestamp (in the source -# dir). - -# Intermediate product for the various doc targets of the parent -# directory. -# -# This is not a bug: TECHNICAL_HH is meant to have a `.hh' -# extension, since it is later parsed by Doxygen, which complains -# about `.html' files. -TECHNICAL_HH = $(technical_dir)/technical.hh -technical-html: $(TECHNICAL_HH) -$(TECHNICAL_HH): $(technical_dir)/technical.tex $(technical_dependencies) - $(doc_dir)/tools/todoxygen.sh $< $(technical_dir) $(doc_dir) - - -# Final product. -TECHNICAL_PDF = $(technical_dir)/technical.pdf -technical-pdf: $(TECHNICAL_PDF) -$(TECHNICAL_PDF): $(technical_dir)/technical.tex $(technical_dependencies) - TEXINPUTS=$(technical_TEXINPUTS) pdflatex $< - TEXINPUTS=$(technical_TEXINPUTS) pdflatex $< - TEXINPUTS=$(technical_TEXINPUTS) pdflatex $< \ - test "x$(technical_dir)" != x. \ - && mv -f technical.pdf $(technical_dir) - -dist_doc_DATA += $(TECHNICAL_PDF) - -EXTRA_DIST += \ - $(technical_dir)/technical.tex \ - $(TECHNICAL_HH) - -# FIXME: Remove `tutorial.aux tutorial.toc tutorial.log tutorial.bbl -# tutorial.out *blg *.lot' when texi2dvi is used. -# -# FIXME: Why is $(TUTORIAL_PDF) listed here? It should be -# automatically cleaned. I'm not sure either about the rest of -# CLEANFILES. -CLEANFILES += \ - technical.aux technical.toc technical.log technical.bbl technical.out \ - *blg *.lot \ - $(TECHNICAL_PDF) \ - *.haux *.hh *.html *.htoc \ - technical.html \ - technical.idx \ - $(TECHNICAL_HH) diff --git a/milena/doc/tutorial/tutorial.mk b/milena/doc/tutorial/tutorial.mk deleted file mode 100644 index 7f65365..0000000 --- a/milena/doc/tutorial/tutorial.mk +++ /dev/null @@ -1,103 +0,0 @@ -# -*- Automake -*- - -# Copyright (C) 2008, 2009, 2010 EPITA Research and Development -# Laboratory (LRDE). -# -# This file is part of Olena. -# -# Olena is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, version 2 of the License. -# -# Olena is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Olena. If not, see <http://www.gnu.org/licenses/>. -# - -.PHONY: tutorial tutorial-html tutorial-pdf - -tutorial_TEXINPUTS = $(DOC_SRCDIR):$(OUTPUTS_SRCDIR):$(IMG_SRCDIR): - - -tutorial: tutorial-html tutorial-pdf - -tutorial_dir = $(doc_dir)/tutorial - -# FIXME: Check these dependencies. -# 1. They might be redundant. -# 2. It'd be better to depend on actual files rather than timestamps -# correponding to a bunch of files. -tutorial_dependencies = \ - $(doc_dir)/split-examples.stamp \ - $(doc_dir)/split-outputs.stamp \ - $(doc_dir)/figures.stamp - -# FIXME: As in milena/doc/Makefile.am, we should probably strip -# $(srcdir) prefixes from target variables, e.g. instead of: -# -# FOO = $(srcdir)/foo.pdf -# $(FOO): foo.tex bar.tex -# dist_doc_DATA = $(FOO) -# -# we should use: -# -# FOO = foo.pdf -# $(srcdir)/$(FOO): foo.tex bar.tex -# dist_doc_DATA = $(FOO) -# -# since it minimizes installation issues (see milena/doc/Makefile.am -# and Vaucanson's doc/Makefile.am). - -# FIXME: Distributed products should be generated in the source dir. -# That's actually the case, *but* the current solution is not clean -# and might break sometimes. The clean approach is to create a -# temporary directory, try to generate the documentation there, and -# move its contents to the source dir in case of success. If the -# product is a directory, also refresh a timestamp (in the source -# dir). - -# Intermediate product for the various doc targets of the parent -# directory. -# -# This is not a bug: TUTORIAL_HH is meant to have a `.hh' extension, -# since it is later parsed by Doxygen, which complains about `.html' -# files. -TUTORIAL_HH = $(tutorial_dir)/tutorial.hh -tutorial-html: $(TUTORIAL_HH) -$(TUTORIAL_HH): $(tutorial_dir)/tutorial.tex $(tutorial_dependencies) - $(doc_dir)/tools/todoxygen.sh $< $(tutorial_dir) $(doc_dir) - -# Final product. -TUTORIAL_PDF = $(tutorial_dir)/tutorial.pdf -tutorial-pdf: $(TUTORIAL_PDF) -$(TUTORIAL_PDF): $(tutorial_dir)/tutorial.tex $(tutorial_dependencies) - TEXINPUTS=$(tutorial_TEXINPUTS) pdflatex $< - TEXINPUTS=$(tutorial_TEXINPUTS) pdflatex $< - TEXINPUTS=$(tutorial_TEXINPUTS) pdflatex $< \ - test x"$(tutorial_dir)" != x. \ - && mv -f tutorial.pdf $(tutorial_dir) - -dist_doc_DATA += $(TUTORIAL_PDF) - -EXTRA_DIST += \ - $(tutorial_dir)/tutorial.tex \ - $(TUTORIAL_HH) - -# FIXME: Remove `tutorial.aux tutorial.toc tutorial.log tutorial.bbl -# tutorial.out *blg *.lot' when texi2dvi is used. -# -# FIXME: Why is $(TUTORIAL_PDF) listed here? It should be -# automatically cleaned. I'm not sure either about the rest of -# CLEANFILES. -CLEANFILES += \ - tutorial.aux tutorial.toc tutorial.log tutorial.bbl tutorial.out \ - *blg *.lot \ - $(TUTORIAL_PDF) \ - *.haux *.hh *.html *.htoc \ - tutorial.html \ - tutorial.idx \ - $(TUTORIAL_HH) diff --git a/milena/doc/white_paper/white_paper.mk b/milena/doc/white_paper/white_paper.mk deleted file mode 100644 index 0b75c44..0000000 --- a/milena/doc/white_paper/white_paper.mk +++ /dev/null @@ -1,103 +0,0 @@ -# -*- Automake -*- - -# Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE). -# -# This file is part of Olena. -# -# Olena is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, version 2 of the License. -# -# Olena is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Olena. If not, see <http://www.gnu.org/licenses/>. -# - -.PHONY: white-paper white-paper-html white-paper-pdf - -white_paper_dir = $(doc_dir)/white_paper - -white_paper_TEXINPUTS = $(DOC_SRCDIR):$(white_paper_dir): - -PNGS = \ - $(white_paper_dir)/figures/house.png \ - $(white_paper_dir)/figures/house_rag.png \ - $(white_paper_dir)/figures/house_wshed.png \ - $(white_paper_dir)/figures/house_wshed_mean_colors.png - -EPSS = $(PNGS:png=eps) - -# FIXME: we want to check if 'figures' exists only once! -.png.eps: - test -d figures || mkdir figures - convert $< $@ - - -white-paper: white-paper-pdf white-paper-html - -# FIXME: As in milena/doc/Makefile.am, we should probably strip -# $(srcdir) prefixes from target variables, e.g. instead of: -# -# FOO = $(srcdir)/foo.pdf -# $(FOO): foo.tex bar.tex -# dist_doc_DATA = $(FOO) -# -# we should use: -# -# FOO = foo.pdf -# $(srcdir)/$(FOO): foo.tex bar.tex -# dist_doc_DATA = $(FOO) -# -# since it minimizes installation issues (see milena/doc/Makefile.am -# and Vaucanson's doc/Makefile.am). - -# FIXME: Distributed products should be generated in the source dir. -# That's actually the case, *but* the current solution is not clean -# and might break sometimes. The clean approach is to create a -# temporary directory, try to generate the documentation there, and -# move its contents to the source dir in case of success. If the -# product is a directory, also refresh a timestamp (in the source -# dir). - -# FIXME: Use texi2dvi/TeX4ht instead of plain hevea. -WHITE_PAPER_HTML = $(white_paper_dir)/white_paper_html/index.html -white-paper-html: $(WHITE_PAPER_HTML) -$(WHITE_PAPER_HTML): $(white_paper_dir)/white_paper.tex $(EPSS) - test -d $(white_paper_dir)/white_paper_html \ - || mkdir $(white_paper_dir)/white_paper_html - TEXINPUTS=$(white_paper_TEXINPUTS) hevea -O -fix $< -o $@ - $(doc_dir)/tools/clearbanner.sh $@ - - -WHITE_PAPER_PDF = $(white_paper_dir)/white_paper.pdf -white-paper-pdf: $(WHITE_PAPER_PDF) -$(WHITE_PAPER_PDF): $(white_paper_dir)/white_paper.tex $(PNGS) - TEXINPUTS=$(white_paper_TEXINPUTS) pdflatex $< - TEXINPUTS=$(white_paper_TEXINPUTS) pdflatex $< - TEXINPUTS=$(white_paper_TEXINPUTS) pdflatex $< \ - test "x$(white_paper_dir)" != x. \ - && mv -f white_paper.pdf $(white_paper_dir) - - -dist_doc_DATA += \ - $(WHITE_PAPER_HTML) \ - $(WHITE_PAPER_PDF) - -EXTRA_DIST += \ - $(white_paper_dir)/white_paper.tex \ - $(PNGS) \ - $(EPSS) - -# FIXME: Remove unnecessary patterns. -CLEANFILES += \ - white_paper_image.* \ - white_paper.pdf \ - *.log *.idx *.out *.aux - -# FIXME: Likewise. -clean-local: - -rm -rf white_paper_html figures -- 1.5.6.5
participants (1)
-
Roland Levillain