documentation: Use a per-version directory
This way older versions of the documentation are properly archived
in SVN as their own subdirectories, making it easier to examine any
prior build's documentation when necessary.
Change-Id: I15afe13adbe185c8b6ba6fb2002dd67ff04d44e1
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/ReleaseNotes/Makefile b/ReleaseNotes/Makefile
index df54398..c9c7c17 100644
--- a/ReleaseNotes/Makefile
+++ b/ReleaseNotes/Makefile
@@ -11,27 +11,29 @@
# 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.
-#
-DOC_HTML = $(patsubst %.txt,%.html,$(wildcard ReleaseNotes*.txt))
-ASCIIDOC = asciidoc
-ASCIIDOC_EXTRA =
-SVN = svn
-PUB_ROOT = https://gerrit.googlecode.com/svn/ReleaseNotes
-LOCAL_ROOT = .published
+ASCIIDOC ?= asciidoc
+ASCIIDOC_EXTRA ?=
+SVN ?= svn
+PUB_ROOT ?= https://gerrit.googlecode.com/svn/ReleaseNotes
+
+DOC_HTML := $(patsubst %.txt,%.html,$(wildcard ReleaseNotes*.txt))
+COMMIT := $(shell git describe HEAD | sed s/^v//)
SCRIPTSDIR := $(shell pwd)/../Documentation/javascript
-PUB_DIR = $(PUB_ROOT)
+LOCAL_ROOT := .published
+PUB_DIR := $(PUB_ROOT)
all: html
html: index.html $(DOC_HTML)
update: html
- -rm -rf $(LOCAL_ROOT)
- $(SVN) checkout $(PUB_DIR) $(LOCAL_ROOT)
- rm -f $(LOCAL_ROOT)/*.html
- cp *.html $(LOCAL_ROOT)
- cd $(LOCAL_ROOT) && \
+ @-rm -rf $(LOCAL_ROOT)
+ @echo "Checking out current release notes"
+ @$(SVN) checkout $(PUB_DIR) $(LOCAL_ROOT)
+ @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/^\? *//' ` && \
@@ -39,32 +41,35 @@
$(SVN) add $$a && \
$(SVN) propset svn:mime-type text/html $$a ; \
fi && \
- $(SVN) commit -m "Updated release notes"
- -rm -rf $(LOCAL_ROOT)
+ echo "Committing release notes at v$(COMMIT)" && \
+ $(SVN) commit -m "Updated release notes to v$(COMMIT)"
+ @-rm -rf $(LOCAL_ROOT)
clean:
rm -f *.html
rm -rf $(LOCAL_ROOT)
index.html: index.txt $(SCRIPTSDIR)/toc.js
- rm -f $@+ $@
- $(ASCIIDOC) --unsafe \
+ @echo FORMAT $@
+ @rm -f $@+ $@
+ @$(ASCIIDOC) --unsafe \
-a toc \
-a 'scriptsdir=$(SCRIPTSDIR)' \
-b xhtml11 -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -o $@+ $<
- mv $@+ $@
+ @mv $@+ $@
$(DOC_HTML): %.html : %.txt $(SCRIPTSDIR)/toc.js
- rm -f $@+ $@
- v=$$(echo $< | sed 's/^ReleaseNotes-//;s/.txt$$//;') && \
- c=$$(git rev-list -1 HEAD -- $<) && \
- n=$$(git describe $$c) && \
- if [ "X$$n" != "Xv$$v" ]; then v="$$v (from $$n)"; fi && \
- $(ASCIIDOC) --unsafe \
+ @echo FORMAT $@
+ @rm -f $@+ $@
+ @v=$$(echo $< | sed 's/^ReleaseNotes-//;s/.txt$$//;') && \
+ c=$$(git rev-list -1 HEAD -- $<) && \
+ n=$$(git describe $$c) && \
+ if [ "X$$n" != "Xv$$v" ]; then v="$$v (from $$n)"; fi && \
+ $(ASCIIDOC) --unsafe \
-a toc \
-a "revision=$$v" \
-a 'scriptsdir=$(SCRIPTSDIR)' \
-b xhtml11 -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -o $@+ $<
- mv $@+ $@
+ @mv $@+ $@