1 ##===- docs/Makefile ---------------------------------------*- Makefile -*-===##
3 # The LLVM Compiler Infrastructure
5 # This file is distributed under the University of Illinois Open Source
6 # License. See LICENSE.TXT for details.
8 ##===----------------------------------------------------------------------===##
11 DIRS
:= CommandGuide tutorial
13 ifdef BUILD_FOR_WEBSITE
17 $(PROJ_OBJ_DIR
)/doxygen.cfg
: doxygen.cfg.in
19 -e
's/@abs_top_srcdir@/../g' \
21 -e
's/@PACKAGE_VERSION@/mainline/' \
22 -e
's/@abs_top_builddir@/../g' > $@
25 include $(LEVEL
)/Makefile.common
27 HTML
:= $(wildcard $(PROJ_SRC_DIR
)/*.html
) \
28 $(wildcard $(PROJ_SRC_DIR
)/*.css
)
29 IMAGES
:= $(wildcard $(PROJ_SRC_DIR
)/img
/*.
*)
30 DOXYFILES
:= doxygen.cfg.in doxygen.css doxygen.footer doxygen.header \
32 EXTRA_DIST
:= $(HTML
) $(DOXYFILES
) llvm.css CommandGuide img
34 .PHONY
: install-html install-doxygen doxygen install-ocamldoc ocamldoc generated
36 install_targets
:= install-html
37 ifeq ($(ENABLE_DOXYGEN
),1)
38 install_targets
+= install-doxygen
41 ifneq (,$(filter ocaml
,$(BINDINGS_TO_BUILD
)))
42 install_targets
+= install-ocamldoc
45 install-local
:: $(install_targets
)
47 generated_targets
:= doxygen
49 generated_targets
+= ocamldoc
52 # Live documentation is generated for the web site using this target:
53 # 'make generated BUILD_FOR_WEBSITE=1'
54 generated
:: $(generated_targets
)
56 install-html
: $(PROJ_OBJ_DIR
)/html.
tar.gz
57 $(Echo
) Installing HTML documentation
58 $(Verb
) $(MKDIR
) $(DESTDIR
)$(PROJ_docsdir
)/html
59 $(Verb
) $(MKDIR
) $(DESTDIR
)$(PROJ_docsdir
)/html
/img
60 $(Verb
) $(DataInstall
) $(HTML
) $(DESTDIR
)$(PROJ_docsdir
)/html
61 $(Verb
) $(DataInstall
) $(IMAGES
) $(DESTDIR
)$(PROJ_docsdir
)/html
/img
62 $(Verb
) $(DataInstall
) $(PROJ_OBJ_DIR
)/html.
tar.gz
$(DESTDIR
)$(PROJ_docsdir
)
64 $(PROJ_OBJ_DIR
)/html.
tar.gz
: $(HTML
)
65 $(Echo
) Packaging HTML documentation
66 $(Verb
) $(RM
) -rf
$@
$(PROJ_OBJ_DIR
)/html.
tar
67 $(Verb
) cd
$(PROJ_SRC_DIR
) && \
68 $(TAR
) cf
$(PROJ_OBJ_DIR
)/html.
tar *.html
69 $(Verb
) $(GZIPBIN
) $(PROJ_OBJ_DIR
)/html.
tar
71 install-doxygen
: doxygen
72 $(Echo
) Installing doxygen documentation
73 $(Verb
) $(MKDIR
) $(DESTDIR
)$(PROJ_docsdir
)/html
/doxygen
74 $(Verb
) $(DataInstall
) $(PROJ_OBJ_DIR
)/doxygen.
tar.gz
$(DESTDIR
)$(PROJ_docsdir
)
75 $(Verb
) cd
$(PROJ_OBJ_DIR
)/doxygen
&& \
76 $(FIND
) .
-type f
-exec \
77 $(DataInstall
) {} $(DESTDIR
)$(PROJ_docsdir
)/html
/doxygen \
;
79 doxygen
: regendoc
$(PROJ_OBJ_DIR
)/doxygen.
tar.gz
82 $(Echo
) Building doxygen documentation
83 $(Verb
) if
test -e
$(PROJ_OBJ_DIR
)/doxygen
; then \
84 $(RM
) -rf
$(PROJ_OBJ_DIR
)/doxygen
; \
86 $(Verb
) $(DOXYGEN
) $(PROJ_OBJ_DIR
)/doxygen.cfg
88 $(PROJ_OBJ_DIR
)/doxygen.
tar.gz
: $(DOXYFILES
) $(PROJ_OBJ_DIR
)/doxygen.cfg
89 $(Echo
) Packaging doxygen documentation
90 $(Verb
) $(RM
) -rf
$@
$(PROJ_OBJ_DIR
)/doxygen.
tar
91 $(Verb
) $(TAR
) cf
$(PROJ_OBJ_DIR
)/doxygen.
tar doxygen
92 $(Verb
) $(GZIPBIN
) $(PROJ_OBJ_DIR
)/doxygen.
tar
93 $(Verb
) $(CP
) $(PROJ_OBJ_DIR
)/doxygen.
tar.gz
$(PROJ_OBJ_DIR
)/doxygen
/html
/
95 userloc
: $(LLVM_SRC_ROOT
)/docs
/userloc.html
97 $(LLVM_SRC_ROOT
)/docs
/userloc.html
:
98 $(Echo
) Making User LOC Table
99 $(Verb
) cd
$(LLVM_SRC_ROOT
) ; .
/utils
/userloc.pl
-details
-recurse \
100 -html lib
include tools runtime utils examples autoconf
test > docs
/userloc.html
102 install-ocamldoc
: ocamldoc
103 $(Echo
) Installing ocamldoc documentation
104 $(Verb
) $(MKDIR
) $(DESTDIR
)$(PROJ_docsdir
)/ocamldoc
/html
105 $(Verb
) $(DataInstall
) $(PROJ_OBJ_DIR
)/ocamldoc.
tar.gz
$(DESTDIR
)$(PROJ_docsdir
)
106 $(Verb
) cd
$(PROJ_OBJ_DIR
)/ocamldoc
&& \
107 $(FIND
) .
-type f
-exec \
108 $(DataInstall
) {} $(DESTDIR
)$(PROJ_docsdir
)/ocamldoc
/html \
;
110 ocamldoc
: regen-ocamldoc
111 $(Echo
) Packaging ocamldoc documentation
112 $(Verb
) $(RM
) -rf
$(PROJ_OBJ_DIR
)/ocamldoc.
tar*
113 $(Verb
) $(TAR
) cf
$(PROJ_OBJ_DIR
)/ocamldoc.
tar ocamldoc
114 $(Verb
) $(GZIPBIN
) $(PROJ_OBJ_DIR
)/ocamldoc.
tar
115 $(Verb
) $(CP
) $(PROJ_OBJ_DIR
)/ocamldoc.
tar.gz
$(PROJ_OBJ_DIR
)/ocamldoc
/html
/
118 $(Echo
) Building ocamldoc documentation
119 $(Verb
) if
test -e
$(PROJ_OBJ_DIR
)/ocamldoc
; then \
120 $(RM
) -rf
$(PROJ_OBJ_DIR
)/ocamldoc
; \
122 $(Verb
) $(MAKE
) -C
$(LEVEL
)/bindings
/ocaml ocamldoc
123 $(Verb
) $(MKDIR
) $(PROJ_OBJ_DIR
)/ocamldoc
/html
125 $(OCAMLDOC
) -d
$(PROJ_OBJ_DIR
)/ocamldoc
/html
-sort -colorize-code
-html \
126 `$(FIND) $(LEVEL)/bindings/ocaml -name "*.odoc" -exec echo -load '{}' ';'`
129 $(Echo
) Uninstalling Documentation
130 $(Verb
) $(RM
) -rf
$(DESTDIR
)$(PROJ_docsdir
)