]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Cleanup automake-foo a bit in errors/
authorHenrik Nordstrom <henrik@henriknordstrom.net>
Fri, 4 Sep 2009 01:12:05 +0000 (03:12 +0200)
committerHenrik Nordstrom <henrik@henriknordstrom.net>
Fri, 4 Sep 2009 01:12:05 +0000 (03:12 +0200)
errors/Makefile.am

index dd80a7bfc84c9eec87e57683dbe8ec7c8ab1ef27..c80a94b0675720430cb92c000fd0745b9ae11c79 100644 (file)
@@ -11,43 +11,155 @@ DEFAULT_ERROR_DIR  = $(errordir)
 DEFAULT_STYLESHEET     = $(sysconfdir)/errorpage.css
 
 ## List of automated translations possible:
-TRANSLATIONPO=`ls -1 $(top_srcdir)/errors/*.po | grep -o -E "[a-z\-]+\.po" | sed s/.po//`
-TRANSLATIONDIR=`ls -1 $(srcdir) $(builddir) | sed -e 's%$(srcdir)/%%' -e 's%$(builddir)/%%' -e 's%.po%%' `
+ERROR_TEMPLATES =  \
+       templates/ERR_FTP_PUT_MODIFIED \
+       templates/ERR_ESI \
+       templates/ERR_SECURE_CONNECT_FAIL \
+       templates/ERR_ZERO_SIZE_OBJECT \
+       templates/ERR_SHUTTING_DOWN \
+       templates/ERR_URN_RESOLVE \
+       templates/ERR_CONNECT_FAIL \
+       templates/ERR_SOCKET_FAILURE \
+       templates/ERR_FTP_NOT_FOUND \
+       templates/ERR_FTP_UNAVAILABLE \
+       templates/ERR_LIFETIME_EXP \
+       templates/ERR_READ_ERROR \
+       templates/ERR_ONLY_IF_CACHED_MISS \
+       templates/ERR_UNSUP_HTTPVERSION \
+       templates/ERR_READ_TIMEOUT \
+       templates/ERR_ICAP_FAILURE \
+       templates/ERR_FTP_LISTING \
+       templates/ERR_FTP_FORBIDDEN \
+       templates/ERR_ACCESS_DENIED \
+       templates/ERR_FORWARDING_DENIED \
+       templates/ERR_CANNOT_FORWARD \
+       templates/ERR_CACHE_MGR_ACCESS_DENIED \
+       templates/ERR_INVALID_REQ \
+       templates/ERR_CACHE_ACCESS_DENIED \
+       templates/ERR_FTP_PUT_ERROR \
+       templates/ERR_FTP_PUT_CREATED \
+       templates/ERR_TOO_BIG \
+       templates/ERR_UNSUP_REQ \
+       templates/ERR_FTP_FAILURE \
+       templates/ERR_DNS_FAIL \
+       templates/ERR_FTP_DISABLED \
+       templates/ERR_NO_RELAY \
+       templates/ERR_INVALID_URL \
+       templates/ERR_INVALID_RESP \
+       templates/ERR_WRITE_ERROR
 
-## TODO: prevent this loop installing everything twice when srcdir == builddir
-install-data-local:
-       $(mkinstalldirs) $(DESTDIR)$(DEFAULT_ERROR_DIR) ; \
-       for l in $(TRANSLATIONDIR) ; do \
-         echo "Located $$l for install..."; \
-         if test -d $(srcdir)/$$l; then \
-               $(mkinstalldirs) $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l && \
-               for f in $(srcdir)/$$l/ERR_*; do \
-                       echo "$(INSTALL_DATA) $$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l"; \
-                       $(INSTALL_DATA) $$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l; \
-               done; \
-         fi ; \
-         if test -d $(builddir)/$$l; then \
-               $(mkinstalldirs) $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l && \
-               for f in $(builddir)/$$l/ERR_*; do \
-                       echo "$(INSTALL_DATA) $$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l"; \
-                       $(INSTALL_DATA) $$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l; \
+TRANSLATE_LANGUAGES = \
+       ar.lang \
+       az.lang \
+       bg.lang \
+       ca.lang \
+       cs.lang \
+       da.lang \
+       de.lang \
+       el.lang \
+       en.lang \
+       es.lang \
+       et.lang \
+       fa.lang \
+       fi.lang \
+       fr.lang \
+       he.lang \
+       hu.lang \
+       hy.lang \
+       id.lang \
+       it.lang \
+       ja.lang \
+       ko.lang \
+       lt.lang \
+       lv.lang \
+       ms.lang \
+       nl.lang \
+       pl.lang \
+       pt-br.lang \
+       pt.lang \
+       ro.lang \
+       ru.lang \
+       sk.lang \
+       sr.lang \
+       sv.lang \
+       th.lang \
+       tr.lang \
+       uk.lang \
+       uz.lang \
+       zh-cn.lang \
+       zh-tw.lang
+
+CLEANFILES = $(TRANSLATE_LANGUAGES)
+EXTRA_DIST = \
+       $(ERROR_TEMPLATES) \
+       aliases alias-link.sh alias-upgrade errorpage.css TRANSLATORS COPYRIGHT
+
+translate: translate-warn $(TRANSLATE_LANGUAGES)
+
+translate-warn:
+       case "$(PO2HTML)" in \
+       off) \
+           echo "WARNING: Translation is disabled."; \
+           ;; \
+       ""|no) \
+           echo "WARNING: Translation toolkit was not detected."; \
+           ;; \
+       esac; \
+       touch translate-warn
+
+
+all: all-am
+
+.po.lang:
+       if test "$(PO2HTML)" != "" && test "$(PO2HTML)" != "no" && test "$(PO2HTML)" != "off" && test -f $(top_srcdir)/errors/en.po; then \
+           lang=`basename $@ .lang`; \
+           mkdir -p $(top_builddir)/errors/$$lang; \
+           echo -n "Translate '$$lang' ..."; \
+           for f in $(ERROR_TEMPLATES); do \
+                       page=`basename $$f`; \
+                       $(PO2HTML) --progress=none -i $(top_srcdir)/errors/$$lang.po -t $(top_srcdir)/errors/$$f >$(top_builddir)/errors/$$lang/$$page || exit 1; \
                done; \
-         fi \
-       done; \
-       $(INSTALL_DATA) $(srcdir)/TRANSLATORS $(DESTDIR)$(DEFAULT_ERROR_DIR)/TRANSLATORS; \
-       $(INSTALL_DATA) $(srcdir)/COPYRIGHT $(DESTDIR)$(DEFAULT_ERROR_DIR)/COPYRIGHT; \
-       $(INSTALL_DATA) $(srcdir)/errorpage.css $(DESTDIR)$(DEFAULT_STYLESHEET).default; \
+               echo "done."; \
+       fi; \
+       touch $@
+
+install-exec-local: translate
        if test -f $(DESTDIR)$(DEFAULT_STYLESHEET) ; then \
                echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_STYLESHEET)" ; \
        else \
+               $(mkinstalldirs) $(DESTDIR)`dirname $(DEFAULT_STYLESHEET)` ; \
                echo "$(INSTALL_DATA) $(srcdir)/errorpage.css $(DESTDIR)$(DEFAULT_STYLESHEET)"; \
                $(INSTALL_DATA) $(srcdir)/errorpage.css $(DESTDIR)$(DEFAULT_STYLESHEET); \
-       fi ; \
+       fi
+
+install-data-local: translate
+       $(mkinstalldirs) $(DESTDIR)$(DEFAULT_ERROR_DIR) ; \
+       for l in $(TRANSLATE_LANGUAGES); do \
+           l=`basename $$l .lang`; \
+           echo "Located $$l for install..."; \
+           if test -d $(srcdir)/$$l || test -d $(builddir)/$$l; then \
+               $(mkinstalldirs) $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l; \
+           fi; \
+           for f in $(ERROR_TEMPLATES); do \
+               page=`basename $$f`; \
+               if test -f $(builddir)/$$l/$$f; then \
+                   echo "$(INSTALL_DATA) $(builddir)/$$l/$$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l"; \
+                           $(INSTALL_DATA) $(builddir)/$$l/$$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l; \
+               elif test -f $(srcdir)/$$l/$$f; then \
+                   echo "$(INSTALL_DATA) $(srcdir)/$$l/$$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l"; \
+                           $(INSTALL_DATA) $(srcdir)/$$l/$$f $(DESTDIR)$(DEFAULT_ERROR_DIR)/$$l; \
+               fi; \
+           done; \
+       done; \
+       $(INSTALL_DATA) $(srcdir)/TRANSLATORS $(DESTDIR)$(DEFAULT_ERROR_DIR)/TRANSLATORS; \
+       $(INSTALL_DATA) $(srcdir)/COPYRIGHT $(DESTDIR)$(DEFAULT_ERROR_DIR)/COPYRIGHT; \
+       $(INSTALL_DATA) $(srcdir)/errorpage.css $(DESTDIR)$(DEFAULT_STYLESHEET).default; \
        $(SHELL) $(srcdir)/alias-link.sh "$(LN)" "$(RM)" "$(DESTDIR)$(DEFAULT_ERROR_DIR)" "$(srcdir)/aliases" || exit 1 ;
 
 
 uninstall-local:
-       for l in $(TRANSLATIONDIR) ; do \
+       for l in $(TRANSLATE_LANGUAGES) templates; do \
+         l=`basename $$l .lang`; \
          echo "Located $$l for uninstall ..."; \
          if test -d $(srcdir)/$$l; then \
                for f in $(srcdir)/$$l/ERR_*; do \
@@ -74,42 +186,21 @@ upgrade: install
        $(SHELL) $(srcdir)/alias-link.sh "$(LN)" "$(RM)" "$(DESTDIR)$(DEFAULT_ERROR_DIR)" "$(srcdir)/alias-upgrade" || exit 1 ;
 
 dist-hook: translate
-       for lang in $(TRANSLATIONPO) templates; do \
+       for lang in $(TRANSLATE_LANGUAGES); do \
+         lang=`basename $$lang .lang`; \
          if test -d $$lang ; then \
-               test -d $(distdir)/$$lang \
-                 || mkdir $(distdir)/$$lang \
-                 || exit 1; \
+               mkdir -p $(distdir)/$$lang; \
                cp -p $(top_builddir)/errors/$$lang/ERR_*  $(distdir)/$$lang \
                  || exit 1; \
          fi; \
-       done; \
-       for f in aliases alias-link.sh alias-upgrade errorpage.css TRANSLATORS COPYRIGHT; do \
-               cp -p $(srcdir)/$$f $(distdir)/`basename $$f`; \
-       done;
+       done
 
-translate:
-       @if ! test -f $(top_srcdir)/errors/en.po; then \
-         echo "Translation is not currently possible."; \
-         exit 0; \
-       fi; \
+clean:
        if test "$(PO2HTML)" != "" && test "$(PO2HTML)" != "no" && test "$(PO2HTML)" != "off" && test -f $(top_srcdir)/errors/en.po; then \
-         for lang in $(TRANSLATIONPO); do \
-               test -d $(top_builddir)/errors/$$lang && $(RM) -r $(top_builddir)/errors/$$lang; \
-               mkdir $(top_builddir)/errors/$$lang || exit 1; \
-               echo -n "Translate '$$lang' ..."; \
-               for f in `ls -1 $(top_srcdir)/errors/templates`; do \
-                       $(PO2HTML) --progress=none -i $(top_srcdir)/errors/$$lang.po -t $(top_srcdir)/errors/templates/$$f >$(top_builddir)/errors/$$lang/$$f || exit 1; \
-               done; \
-               echo "done."; \
+         for lang in $(TRANSLATE_LANGUAGES); do \
+           lang=`basename $$lang .lang`; \
+           rm -rf $$lang; \
          done; \
-       else \
-         if test "$(PO2HTML)" = "off" ; then \
-           echo "WARNING: Translation is disabled."; \
-         else \
-           echo "WARNING: Translation toolkit was not detected."; \
-         fi; \
-         echo "A drop-in bundle of pre-translated files is available from"; \
-         echo "http://www.squid-cache.org/Versions/langpack/"; \
        fi
-
+       
 all: translate