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 $@+ $@