1d8846c19bd429c0b7db79bcbd1ae964de462ae19John Criswell##===- docs/Makefile ---------------------------------------*- Makefile -*-===## 2d8846c19bd429c0b7db79bcbd1ae964de462ae19John Criswell# 3d8846c19bd429c0b7db79bcbd1ae964de462ae19John Criswell# The LLVM Compiler Infrastructure 4d8846c19bd429c0b7db79bcbd1ae964de462ae19John Criswell# 557360d1f1cede3b26744d0ce3ade814fcc0f332dChris Lattner# This file is distributed under the University of Illinois Open Source 657360d1f1cede3b26744d0ce3ade814fcc0f332dChris Lattner# License. See LICENSE.TXT for details. 7d8846c19bd429c0b7db79bcbd1ae964de462ae19John Criswell# 8d8846c19bd429c0b7db79bcbd1ae964de462ae19John Criswell##===----------------------------------------------------------------------===## 9b9a827ce6360cda67cac382d29d6b9238e837195Chris Lattner 10e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mLEVEL := .. 11a5d2435409858728970202226d0bbbee508fe408Daniel DunbarDIRS := 12e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 13e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mifdef BUILD_FOR_WEBSITE 14e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mPROJ_OBJ_DIR = . 15e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mDOXYGEN = doxygen 16e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 17e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m$(PROJ_OBJ_DIR)/doxygen.cfg: doxygen.cfg.in 18e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m cat $< | sed \ 19e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m -e 's/@abs_top_srcdir@/../g' \ 20e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m -e 's/@DOT@/dot/g' \ 21e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m -e 's/@PACKAGE_VERSION@/mainline/' \ 22e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m -e 's/@abs_top_builddir@/../g' > $@ 23e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mendif 249e4692c61752313a01486594e8e1ccf573ad4a47Chris Lattner 25ca5fc7bf635681605e6892f4d38d9a324d292fa2Reid Spencerinclude $(LEVEL)/Makefile.common 26e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 27e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mHTML := $(wildcard $(PROJ_SRC_DIR)/*.html) \ 28e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(wildcard $(PROJ_SRC_DIR)/*.css) 29e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mDOXYFILES := doxygen.cfg.in doxygen.css doxygen.footer doxygen.header \ 30e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m doxygen.intro 3134c53f3ac9f5b426cadc81e33cc0a5ef7e08068fBenjamin KramerEXTRA_DIST := $(HTML) $(DOXYFILES) llvm.css CommandGuide 32e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 33e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m.PHONY: install-html install-doxygen doxygen install-ocamldoc ocamldoc generated 34e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 35e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-minstall_targets := install-html 36e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mifeq ($(ENABLE_DOXYGEN),1) 37e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-minstall_targets += install-doxygen 38e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mendif 39ff3dbde905a29164b0cec8532ee3b651c64144eeErick Tryzelaarifdef OCAMLDOC 40e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mifneq (,$(filter ocaml,$(BINDINGS_TO_BUILD))) 41e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-minstall_targets += install-ocamldoc 42e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mendif 43ff3dbde905a29164b0cec8532ee3b651c64144eeErick Tryzelaarendif 44e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-minstall-local:: $(install_targets) 45e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 46ff3dbde905a29164b0cec8532ee3b651c64144eeErick Tryzelaargenerated_targets := doxygen 47ff3dbde905a29164b0cec8532ee3b651c64144eeErick Tryzelaarifdef OCAMLDOC 48ff3dbde905a29164b0cec8532ee3b651c64144eeErick Tryzelaargenerated_targets += ocamldoc 49ff3dbde905a29164b0cec8532ee3b651c64144eeErick Tryzelaarendif 50ff3dbde905a29164b0cec8532ee3b651c64144eeErick Tryzelaar 51e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m# Live documentation is generated for the web site using this target: 52e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m# 'make generated BUILD_FOR_WEBSITE=1' 53ff3dbde905a29164b0cec8532ee3b651c64144eeErick Tryzelaargenerated:: $(generated_targets) 54e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 55e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-minstall-html: $(PROJ_OBJ_DIR)/html.tar.gz 56e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Installing HTML documentation 57e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html 58e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(DataInstall) $(HTML) $(DESTDIR)$(PROJ_docsdir)/html 59e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(DESTDIR)$(PROJ_docsdir) 60e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 61e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m$(PROJ_OBJ_DIR)/html.tar.gz: $(HTML) 62e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Packaging HTML documentation 63e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(RM) -rf $@ $(PROJ_OBJ_DIR)/html.tar 64e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) cd $(PROJ_SRC_DIR) && \ 65e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(TAR) cf $(PROJ_OBJ_DIR)/html.tar *.html 66031d30781acaecb58f64a7b480818a219594e99fEric Christopher $(Verb) $(GZIPBIN) $(PROJ_OBJ_DIR)/html.tar 67e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 68e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-minstall-doxygen: doxygen 69e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Installing doxygen documentation 70e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/doxygen 71e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(DESTDIR)$(PROJ_docsdir) 72e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) cd $(PROJ_OBJ_DIR)/doxygen && \ 73e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(FIND) . -type f -exec \ 74e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/html/doxygen \; 75e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 76e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mdoxygen: regendoc $(PROJ_OBJ_DIR)/doxygen.tar.gz 77e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 78e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mregendoc: 79e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Building doxygen documentation 80e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) if test -e $(PROJ_OBJ_DIR)/doxygen ; then \ 81e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(RM) -rf $(PROJ_OBJ_DIR)/doxygen ; \ 82e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m fi 83e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(DOXYGEN) $(PROJ_OBJ_DIR)/doxygen.cfg 84e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 85e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m$(PROJ_OBJ_DIR)/doxygen.tar.gz: $(DOXYFILES) $(PROJ_OBJ_DIR)/doxygen.cfg 86e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Packaging doxygen documentation 87e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(RM) -rf $@ $(PROJ_OBJ_DIR)/doxygen.tar 88e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(TAR) cf $(PROJ_OBJ_DIR)/doxygen.tar doxygen 89031d30781acaecb58f64a7b480818a219594e99fEric Christopher $(Verb) $(GZIPBIN) $(PROJ_OBJ_DIR)/doxygen.tar 90e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(CP) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(PROJ_OBJ_DIR)/doxygen/html/ 91e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 92e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-muserloc: $(LLVM_SRC_ROOT)/docs/userloc.html 93e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 94e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m$(LLVM_SRC_ROOT)/docs/userloc.html: 95e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Making User LOC Table 96e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) cd $(LLVM_SRC_ROOT) ; ./utils/userloc.pl -details -recurse \ 97e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m -html lib include tools runtime utils examples autoconf test > docs/userloc.html 98e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 99e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-minstall-ocamldoc: ocamldoc 100e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Installing ocamldoc documentation 101e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html 102e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(DESTDIR)$(PROJ_docsdir) 103e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) cd $(PROJ_OBJ_DIR)/ocamldoc && \ 104e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(FIND) . -type f -exec \ 105e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html \; 106e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 107e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mocamldoc: regen-ocamldoc 108e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Packaging ocamldoc documentation 109e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(RM) -rf $(PROJ_OBJ_DIR)/ocamldoc.tar* 110e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(TAR) cf $(PROJ_OBJ_DIR)/ocamldoc.tar ocamldoc 111031d30781acaecb58f64a7b480818a219594e99fEric Christopher $(Verb) $(GZIPBIN) $(PROJ_OBJ_DIR)/ocamldoc.tar 112e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(CP) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(PROJ_OBJ_DIR)/ocamldoc/html/ 113e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 114e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-mregen-ocamldoc: 115e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Building ocamldoc documentation 116e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) if test -e $(PROJ_OBJ_DIR)/ocamldoc ; then \ 117e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(RM) -rf $(PROJ_OBJ_DIR)/ocamldoc ; \ 118e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m fi 119e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(MAKE) -C $(LEVEL)/bindings/ocaml ocamldoc 120e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(MKDIR) $(PROJ_OBJ_DIR)/ocamldoc/html 121e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) \ 122e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(OCAMLDOC) -d $(PROJ_OBJ_DIR)/ocamldoc/html -sort -colorize-code -html \ 123e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m `$(FIND) $(LEVEL)/bindings/ocaml -name "*.odoc" -exec echo -load '{}' ';'` 124e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m 125e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-muninstall-local:: 126e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Echo) Uninstalling Documentation 127e2c3a49c8029ebd9ef530101cc24c66562e3dff5mike-m $(Verb) $(RM) -rf $(DESTDIR)$(PROJ_docsdir) 128