| # Copyright (C) 2009 The Android Open Source Project | 
 | # | 
 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
 | # you may not use this file except in compliance with the License. | 
 | # You may obtain a copy of the License at | 
 | # | 
 | # http://www.apache.org/licenses/LICENSE-2.0 | 
 | # | 
 | # Unless required by applicable law or agreed to in writing, software | 
 | # distributed under the License is distributed on an "AS IS" BASIS, | 
 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | # See the License for the specific language governing permissions and | 
 | # limitations under the License. | 
 |  | 
 | ASCIIDOC       ?= asciidoc | 
 | ASCIIDOC_EXTRA ?= | 
 | ASCIIDOC_VER   ?= 8.6.3 | 
 | SVN            ?= svn | 
 | PUB_ROOT       ?= https://gerrit-documentation.googlecode.com/svn/Documentation | 
 |  | 
 | all: html | 
 |  | 
 | clean: | 
 | 	rm -f *.html | 
 | 	rm -rf $(LOCAL_ROOT) | 
 |  | 
 | ASCIIDOC_EXE := $(shell which $(ASCIIDOC)) | 
 | ifeq ($(wildcard $(ASCIIDOC_EXE)),) | 
 |   $(error $(ASCIIDOC) must be available) | 
 | else | 
 |   ASCIIDOC_OK := $(shell expr `asciidoc --version | cut -f2 -d' '` \>= $(ASCIIDOC_VER)) | 
 |   ifeq ($(ASCIIDOC_OK),0) | 
 |     $(error $(ASCIIDOC) version $(ASCIIDOC_VER) or higher is required) | 
 |   endif | 
 | endif | 
 |  | 
 | ifeq ($(origin VERSION), undefined) | 
 |   VERSION := $(shell ./GEN-DOC-VERSION 2>/dev/null) | 
 | endif | 
 |  | 
 | DOC_HTML      := $(patsubst %.txt,%.html,$(wildcard *.txt)) | 
 | LOCAL_ROOT    := .published | 
 | COMMIT        := $(shell git describe HEAD | sed s/^v//) | 
 | PUB_DIR       := $(PUB_ROOT)/$(VERSION) | 
 | PRIOR          = PRIOR | 
 |  | 
 | ifeq ($(VERSION),) | 
 |   REVISION = $(COMMIT) | 
 | else | 
 |   ifeq ($(VERSION),$(COMMIT)) | 
 |     REVISION := $(VERSION) | 
 |   else | 
 |     REVISION := $(VERSION) (from v$(COMMIT)) | 
 |   endif | 
 | endif | 
 |  | 
 | html: $(DOC_HTML) | 
 |  | 
 | update: html | 
 | ifeq ($(VERSION),) | 
 | 	./GEN-DOC-VERSION | 
 | endif | 
 | 	@-rm -rf $(LOCAL_ROOT) | 
 | 	@echo "Checking out current $(VERSION)" | 
 | 	@if ! $(SVN) checkout $(PUB_DIR) $(LOCAL_ROOT) 2>/dev/null ; then \ | 
 | 		echo "Copying $(PRIOR) to $(VERSION) ..." && \ | 
 | 		$(SVN) cp -m "Create $(VERSION) documentation" $(PUB_ROOT)/$(PRIOR) $(PUB_DIR) && \ | 
 | 		$(SVN) checkout $(PUB_DIR) $(LOCAL_ROOT) ; \ | 
 | 	fi | 
 | 	@rm -f $(LOCAL_ROOT)/*.html | 
 | 	@cp *.html $(LOCAL_ROOT) | 
 | 	@cd $(LOCAL_ROOT) && \ | 
 | 	  r=`$(SVN) status | perl -ne 'print if s/^!  *//' ` && \ | 
 | 	  if [ -n "$$r" ]; then $(SVN) rm $$r; fi && \ | 
 | 	  a=`$(SVN) status | perl -ne 'print if s/^\?  *//' ` && \ | 
 | 	  if [ -n "$$a" ]; then \ | 
 | 	    $(SVN) add $$a && \ | 
 | 	    $(SVN) propset svn:mime-type text/html $$a ; \ | 
 | 	    fi && \ | 
 | 	  echo "Committing $(VERSION) at v$(COMMIT)" && \ | 
 | 	  $(SVN) commit -m "Updated $(VERSION) documentation to v$(COMMIT)" | 
 | 	@-rm -rf $(LOCAL_ROOT) | 
 |  | 
 | $(DOC_HTML): %.html : %.txt | 
 | 	@echo "FORMAT $@" | 
 | 	@rm -f $@+ $@ | 
 | 	@$(ASCIIDOC) -a toc \ | 
 | 		-a data-uri \ | 
 | 		-a 'revision=$(REVISION)' \ | 
 | 		-a 'newline=\n' \ | 
 | 		-b xhtml11 \ | 
 | 		-f asciidoc.conf \ | 
 | 		$(ASCIIDOC_EXTRA) \ | 
 | 		-o $@+ $< | 
 | 	@mv $@+ $@ |