1SHELL=/bin/bash
2top_srcdir=../../libcwd
3srcdir=../../libcwd/documentation
4top_builddir=..
5
6include ../../libcwd/documentation/doxygen.config.in
7INPUT_FILES=$(shell for i in `echo $(INPUT) | \
8    sed -e 's%@top_srcdir\@%'$(top_srcdir)'%g' \
9        -e 's%@srcdir\@%'$(srcdir)'%g' \
10	-e 's%@top_builddir\@%'$(top_builddir)'%g'`; \
11    do if test -f "$$i"; then echo "$$i"; \
12       else set -o noglob; for j in $(FILE_PATTERNS); do set +o noglob; ls $$i/$$j 2> /dev/null; done; fi done)
13EXAMPLE_FILES=$(shell find $(srcdir)/doxygen-examples -mindepth 1 -maxdepth 1 -type f -print)
14
15.PHONY: reference-manual external styles tutorial documentation_src
16
17all: reference-manual tutorial documentation_src
18
19Makefile: doxygen.config $(top_builddir)/config.status $(srcdir)/Makefile.in
20	@rm -f Makefile.in
21	cd $(top_builddir) && CONFIG_FILES=documentation/Makefile CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
22
23doxygen.config: $(top_builddir)/config.status $(srcdir)/doxygen.config.in
24	@rm -f doxygen.config.in
25	cd $(top_builddir) && CONFIG_FILES=documentation/doxygen.config CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
26
27documentation_src:
28	if test "`readlink -f ../../libcwd/documentation`" != "`readlink -f .`"; then \
29	  tar -C $(top_srcdir) -cf - documentation | tar -C $(top_builddir) -xf - ; \
30	fi
31
32reference-manual: styles external
33	rm -rf reference-manual
34	doxygen doxygen.config
35	mv reference-manual/preparation.html reference-manual/preparation.tmp
36	cat reference-manual/preparation.tmp | \
37	  sed -e 's/href="debug_8h\.html">debug\.h/href="#preparation_step2">debug.h/' \
38	      -e 's/"sys\.h"/"<a class="code" href="#preparation_step2">sys.h<\/a>"/' \
39	  > reference-manual/preparation.html
40	rm reference-manual/preparation.tmp
41	for i in `grep -l '<h2>Modules</h2>' reference-manual/*.html`; do \
42	  mv $$i $$i.tmp; \
43	  cat $$i.tmp | \
44	  sed -e 's%<h2>Modules</h2>%<h2>Related</h2>%' > $$i; \
45	  rm $$i.tmp; \
46	done
47
48reference-manual-clean:
49	rm -rf reference-manual
50
51external: external/INSTALL external/sys.h external/debug.h external/debug.cc external/libcwdrc
52
53external-clean:
54	rm -f external/INSTALL external/sys.h external/debug.h external/debug.cc external/libcwdrc
55
56external/INSTALL: $(top_srcdir)/INSTALL
57	@mkdir -p external
58	cp $(top_srcdir)/INSTALL external/INSTALL
59
60external/sys.h: $(top_srcdir)/example-project/sys.h
61	@mkdir -p external
62	cp $(top_srcdir)/example-project/sys.h external/sys.h
63
64external/debug.h: $(top_srcdir)/example-project/debug.h
65	@mkdir -p external
66	cp $(top_srcdir)/example-project/debug.h external/debug.h
67
68$(top_srcdir)/example-project/debug.h: $(top_srcdir)/example-project/debug.h.maintainer
69	$(MAKE) -C $(top_builddir) example-project/debug.h
70
71external/debug.cc: $(top_srcdir)/example-project/debug.cc
72	@mkdir -p external
73	cp $(top_srcdir)/example-project/debug.cc external/debug.cc
74
75external/libcwdrc: $(top_srcdir)/libcwdrc
76	@mkdir -p external
77	cp $(top_srcdir)/libcwdrc external/libcwdrc
78
79styles:
80	$(MAKE) -C styles
81
82tutorial:
83	$(MAKE) -s -C tutorial
84
85maintainer-clean: external-clean reference-manual-clean
86	$(MAKE) -C styles maintainer-clean
87	if test "`readlink -f ../../libcwd/documentation`" != "`readlink -f .`"; then \
88	  (tar -C $(top_srcdir) -cf - documentation | tar -tf - | grep '^documentation/.*[^/]$$' | sed -e 's!^documentation/!!' | xargs rm -f); \
89	fi
90	(cd tutorial; rm -f examples5/debug.* examples5/test* tutorial/core examples7/test* tut5.m4 tut7.m4 *.html core Makefile)
91	rm -f doxygen.config Makefile
92