[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] Make local links point to the resource in the proper language
Update of /home/or/cvsroot/website
In directory moria:/tmp/cvs-serv27959
Modified Files:
Makefile
Log Message:
Make local links point to the resource in the proper language
Index: Makefile
===================================================================
RCS file: /home/or/cvsroot/website/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Makefile 4 Oct 2005 19:10:33 -0000 1.1
+++ Makefile 4 Oct 2005 23:03:54 -0000 1.2
@@ -1,9 +1,11 @@
TORCVSSTABLE = ../tor.0.1.0-branch
TORCVSHEAD = ../tor-head
-WMLBASE = .
-WMLOPT = -D IMGROOT=$(WMLBASE)/images \
- -D DOCROOT="." -I include \
+WMLBASE = .
+WMLOPT = \
+ -I include \
+ -D DOCROOT=$(WMLBASE) \
+ -D IMGROOT=$(WMLBASE)/images \
-D TORCVSSTABLE=$(TORCVSSTABLE) \
-D TORCVSHEAD=$(TORCVSHEAD)
@@ -25,32 +27,46 @@
$(patsubst it/%.wml,.deps/%.it.html.d, \
$(WMLFILES))))
+LANGS=de en it
all: $(HTMLFILES)
%.en.html: en/%.wml
- wml $(WMLOPT) -I en -D LANG=en $< -o $@
-.deps/%.en.html.d: en/%.wml
- @[ -d .deps ] || mkdir .deps
- OUT=`echo $@ | sed -e 's,\.deps/\(.*\)\.d$$,\1,'`; \
- wml $(WMLOPT) -I en -D LANG=en $< -o $$OUT --depend > $@
+ lang=`dirname $<` && wml $(WMLOPT) -I $$lang -D LANG=$$lang $< -o $@
%.de.html: de/%.wml en/%.wml
- wml $(WMLOPT) -I de -D LANG=de $< -o $@
+ lang=`dirname $<` && wml $(WMLOPT) -I $$lang -D LANG=$$lang $< -o $@
+
+%.it.html: it/%.wml en/%.wml
+ lang=`dirname $<` && wml $(WMLOPT) -I $$lang -D LANG=$$lang $< -o $@
+
+
+.deps/%.en.html.d: en/%.wml
+ @[ -d .deps ] || mkdir .deps
+ tmpfile=`tempfile` \
+ lang=`echo $@ | sed -e 's,\.html\.d$$,,' -e 's,.*\.,,'` && \
+ OUT=`echo $@ | sed -e 's,\.deps/\(.*\)\.d$$,\1,'` && \
+ wml $(WMLOPT) -I $$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \
+ sed -e s',\(^[^ ]*\):,.deps/\1.d:,' < $$tmpfile >> $@ && \
+ rm -f $$tmpfile
.deps/%.de.html.d: de/%.wml
@[ -d .deps ] || mkdir .deps
- OUT=`echo $@ | sed -e 's,\.deps/\(.*\)\.d$$,\1,'`; \
- wml $(WMLOPT) -I de -D LANG=de $< -o $$OUT --depend > $@
-
-%.it.html: it/%.wml it/%.wml
- wml $(WMLOPT) -I it -D LANG=it $< -o $@
+ tmpfile=`tempfile` \
+ lang=`echo $@ | sed -e 's,\.html\.d$$,,' -e 's,.*\.,,'` && \
+ OUT=`echo $@ | sed -e 's,\.deps/\(.*\)\.d$$,\1,'` && \
+ wml $(WMLOPT) -I $$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \
+ sed -e s',\(^[^ ]*\):,.deps/\1.d:,' < $$tmpfile >> $@ && \
+ rm -f $$tmpfile
.deps/%.it.html.d: it/%.wml
@[ -d .deps ] || mkdir .deps
- OUT=`echo $@ | sed -e 's,\.deps/\(.*\)\.d$$,\1,'`; \
- wml $(WMLOPT) -I it -D LANG=it $< -o $$OUT --depend > $@
-
+ tmpfile=`tempfile` \
+ lang=`echo $@ | sed -e 's,\.html\.d$$,,' -e 's,.*\.,,'` && \
+ OUT=`echo $@ | sed -e 's,\.deps/\(.*\)\.d$$,\1,'` && \
+ wml $(WMLOPT) -I $$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \
+ sed -e s',\(^[^ ]*\):,.deps/\1.d:,' < $$tmpfile >> $@ && \
+ rm -f $$tmpfile
tor-manual-cvs.en.html: $(TORCVSHEAD)/doc/tor.1.in
tor-manual.en.html: $(TORCVSSTABLE)/doc/tor.1.in
@@ -62,3 +78,54 @@
rm -f $(HTMLFILES) $(DEPFILES)
include $(DEPFILES)
+
+
+
+
+
+# If we choose to use make rather than perl. gets us proper dependencies, but doesn't
+# catch invalid page links that nicely. Also, this doesn't really work yet, since
+# I abandoned this path for the much simplier and more readable <page> tag in
+# links.wmi, which just uses 3 lines of perl.
+###
+### %.en.html: en/%.wml include-auto/langlocallinks.en.wmi include-auto/locallinks.wmi
+### %.de.html: de/%.wml en/%.wml include-auto/langlocallinks.de.wmi include-auto/locallinks.wmi
+### %.it.html: it/%.wml en/%.wml include-auto/langlocallinks.it.wmi include-auto/locallinks.wmi
+###
+### .deps/%.en.html.d: en/%.wml include-auto/langlocallinks.en.wmi include-auto/locallinks.wmi
+### .deps/%.de.html.d: de/%.wml include-auto/langlocallinks.de.wmi include-auto/locallinks.wmi
+### .deps/%.it.html.d: it/%.wml include-auto/langlocallinks.it.wmi include-auto/locallinks.wmi
+###
+###
+###
+### include-auto/locallinks.wmi: $(LANGS)
+### files=$$(for i in $^; do ls -1 $$i/*.wml; done | \
+### xargs -n1 basename | sed -e 's,\.wml,,' | sort | uniq) && \
+### rm -f $@.tmp && \
+### echo "<define-tag pageALL whitespace=delete>" > $@.tmp && \
+### for f in $$files; do \
+### echo "<define-tag link-$$f whitespace=delete>$$f.html</define-tag>" >> $@.tmp; \
+### done
+### if ! [ -z "$$FORCE_LOCALLINKS_UPDATE" ] || ! [ -e "$@" ] || ! diff "$@" "$@".tmp > /dev/null; then \
+### cat "$@".tmp > "$@"; \
+### else \
+### echo "$@ hasn't changed and environment variable FORCE_LOCALLINKS_UPDATE not set"; \
+### fi
+### rm -f "$@".tmp
+###
+### include-auto/langlocallinks.%.wmi: %
+### @[ -d include-auto ] || mkdir include-auto
+### lang=$< \
+### files=$$(for i in $^; do ls -1 $$i/*.wml; done | \
+### xargs -n1 basename | sed -e 's,\.wml,,' | sort | uniq) && \
+### rm -f $@.tmp && \
+### for f in $$files; do \
+### echo "<define-tag link-$$f whitespace=delete>$$f.$$lang.html</define-tag>" >> $@.tmp; \
+### done
+### if ! [ -z "$$FORCE_LOCALLINKS_UPDATE" ] || ! [ -e "$@" ] || ! diff "$@" "$@".tmp > /dev/null; then \
+### cat "$@".tmp > "$@"; \
+### else \
+### echo "$@ hasn't changed and environment variable FORCE_LOCALLINKS_UPDATE not set"; \
+### fi
+### rm -f "$@".tmp
+###