6d97b5504a
Exit with error if the asciidoc executable is not available or has version lower than 8.6.3 Change-Id: I953a65304d850dddd83f4c18e0254290ead8cf0f
96 lines
2.7 KiB
Makefile
96 lines
2.7 KiB
Makefile
# 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 $@+ $@
|