* Make this makefile compliant with LLVM makefile standards
* Implement optional doxygen doc generation
* Implement HTML and doxygen installation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18324 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/Makefile b/docs/Makefile
index 38d3c80..d51d357 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -6,9 +6,57 @@
 # the University of Illinois Open Source License. See LICENSE.TXT for details.
 # 
 ##===----------------------------------------------------------------------===##
-doxygen-files:
-	doxygen doxygen.cfg
 
-doxygen.tar.gz: doxygen/index.html
-	rm -rf $@
-	gtar czvf $@ doxygen
+LEVEL      := ..
+DIRS       := CommandGuide
+
+include $(LEVEL)/Makefile.common
+
+HTML       := $(wildcard $(BUILD_SRC_DIR)/*.html) \
+              $(wildcard $(BUILD_SRC_DIR)/*.css)
+IMAGES     := $(wildcard $(BUILD_SRC_DIR)/img/*.*)
+DOXYFILES  := $(wildcard $(BUILD_SRC_DIR)/doxygen.*)
+EXTRA_DIST := $(HTML) $(DOXYFILES) llvm.css CommandGuide img
+
+.PHONY: install-html install-doxygen doxygen
+
+ifeq ($(ENABLE_DOXYGEN),1)
+install-local:: install-html install-doxygen
+else
+install-local:: install-html
+endif
+
+install-html: $(BUILD_OBJ_DIR)/html.tar.gz
+	$(Echo) Installing HTML documentation
+	$(Verb) $(INSTALL) -d $(LLVM_DOCSDIR)/html
+	$(Verb) $(INSTALL) -d $(LLVM_DOCSDIR)/html/img
+	$(Verb) $(INSTALL) -C $(HTML) $(LLVM_DOCSDIR)/html
+	$(Verb) $(INSTALL) -C $(IMAGES) $(LLVM_DOCSDIR)/html/img
+	$(Verb) $(INSTALL) -C $(BUILD_OBJ_DIR)/html.tar.gz $(LLVM_DOCSDIR)
+
+$(BUILD_OBJ_DIR)/html.tar.gz: $(HTML)
+	$(Echo) Packaging HTML documentation
+	$(Verb) $(RM) -rf $@ $(BUILD_OBJ_DIR)/html.tar
+	$(Verb) cd $(BUILD_SRC_DIR) && \
+	  $(TAR) cf $(BUILD_OBJ_DIR)/html.tar *.html
+	$(Verb) $(GZIP) $(BUILD_OBJ_DIR)/html.tar
+
+install-doxygen: doxygen
+	$(Echo) Installing doxygen documentation
+	$(Echo) Installing doxygen documentation
+	$(Verb) $(INSTALL) -d $(LLVM_DOCSDIR)/html/doxygen
+	$(Verb) $(INSTALL) $(BUILD_OBJ_DIR)/doxygen.tar.gz $(LLVM_DOCSDIR)
+	$(Verb) cd $(BUILD_OBJ_DIR)/doxygen && \
+	  $(FIND) . -type f -exec \
+	    $(INSTALL) -C {} $(LLVM_DOCSDIR)/html/doxygen \;
+
+doxygen: $(BUILD_OBJ_DIR)/doxygen.tar.gz
+
+$(BUILD_OBJ_DIR)/doxygen.tar.gz: $(DOXYFILES) $(BUILD_OBJ_DIR)/doxygen.cfg
+	$(Echo) Building doxygen documentation
+	$(Verb) $(DOXYGEN) $(BUILD_OBJ_DIR)/doxygen.cfg
+	$(Echo) Packaging doxygen documentation
+	$(Verb) $(RM) -rf $@ $(BUILD_OBJ_DIR)/doxygen.tar
+	$(Verb) $(TAR) cf $(BUILD_OBJ_DIR)/doxygen.tar doxygen
+	$(Verb) $(GZIP) $(BUILD_OBJ_DIR)/doxygen.tar
+