From owner-svn-doc-all@freebsd.org Thu Oct 12 14:13:49 2017 Return-Path: Delivered-To: svn-doc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 96105E2AA1A; Thu, 12 Oct 2017 14:13:49 +0000 (UTC) (envelope-from wosch@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 71C6A7CBF7; Thu, 12 Oct 2017 14:13:49 +0000 (UTC) (envelope-from wosch@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v9CEDm3D017967; Thu, 12 Oct 2017 14:13:48 GMT (envelope-from wosch@FreeBSD.org) Received: (from wosch@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v9CEDmIA017965; Thu, 12 Oct 2017 14:13:48 GMT (envelope-from wosch@FreeBSD.org) Message-Id: <201710121413.v9CEDmIA017965@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wosch set sender to wosch@FreeBSD.org using -f From: Wolfram Schneider Date: Thu, 12 Oct 2017 14:13:48 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r51106 - head/share/mk X-SVN-Group: doc-head X-SVN-Commit-Author: wosch X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 51106 X-SVN-Commit-Repository: doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Oct 2017 14:13:49 -0000 Author: wosch Date: Thu Oct 12 14:13:48 2017 New Revision: 51106 URL: https://svnweb.freebsd.org/changeset/doc/51106 Log: refactor translation to a new make file "doc.translate.mk" PR: 222939 Added: head/share/mk/doc.translate.mk (contents, props changed) Modified: head/share/mk/doc.docbook.mk Modified: head/share/mk/doc.docbook.mk ============================================================================== --- head/share/mk/doc.docbook.mk Thu Oct 12 12:59:30 2017 (r51105) +++ head/share/mk/doc.docbook.mk Thu Oct 12 14:13:48 2017 (r51106) @@ -317,75 +317,7 @@ ${DOC}.parsed.xml: ${SRCS} ${XML_INCLUDES} ${SED} -i '' -e 's|@@URL_RELPREFIX@@|../../../..|g' ${.TARGET} # translation ------------------------------------------------------- - -# Master English document -MASTERDOC_EN?= ${MASTERDOC:S/${LANGCODE}/en_US.ISO8859-1/} -TRAN_DIR?= ${MASTERDOC:H} -EN_DIR?= ${TRAN_DIR:S/${LANGCODE}/en_US.ISO8859-1/} -PO_LANG?= ${LANGCODE:C/\..*$//} -PO_CHARSET?= ${LANGCODE:tl:C/^.*\.//:S/^iso/iso-/:S/utf-8/UTF-8/} -CLEANFILES+= ${DOC}.translate.xml ${PO_LANG}.mo - -PO_CATALOG_FILES= file://${EN_DIR}/catalog-cwd.xml \ - file://${EN_DIR:H:H}/share/xml/catalog.xml \ - file://${DOC_PREFIX}/share/xml/catalog.xml \ - file://${LOCALBASE}/share/xml/catalog -.if defined(EXTRA_CATALOGS) -PO_CATALOG_FILES+= ${EXTRA_CATALOGS} -.endif -PO_XMLLINT= env XML_CATALOG_FILES="${PO_CATALOG_FILES}" ${PREFIX}/bin/xmllint - -# fix settings in PO file -IDSTR1= $$Free -IDSTR2= BSD$$ -POSET_CMD= ${SED} -i '' -e '1s,^,\#${IDSTR1}${IDSTR2}\${.newline},' \ - -e 's,^\(\"Language-Team:.*\\n\"\),\1\${.newline}\"Language: ${PO_LANG}\\n\",' \ - -e 's,^\"Content-Type: text/plain; charset=.*\\n,\"Content-Type: text/plain; charset=${PO_CHARSET}\\n,' - -.if ${.TARGETS:Mpo} || ${.TARGETS:Mtran} || ${.TARGETS:M${DOC}.translate.xml} - -MASTER_SRCS!= ${MAKE} -C ${EN_DIR} -V SRCS - -${DOC}.translate.xml: - @if [ "${TRAN_DIR}" == "${EN_DIR}" ]; then \ - ${ECHO} "build PO file in a non-English dir" ; \ - exit 1 ; \ - fi - # some SRCS files might need to be generated, make sure they exist - @${MAKE} -C ${EN_DIR} ${MASTER_SRCS} > /dev/null - # normalize the English original into a single file - @${PO_XMLLINT} --nonet --noent --valid --xinclude ${MASTERDOC_EN} > ${.TARGET}.tmp - # remove redundant namespace attributes - @${PO_XMLLINT} --nsclean ${.TARGET}.tmp > ${.TARGET} - @${RM} ${.TARGET}.tmp - @${MAKE} -C ${EN_DIR} clean > /dev/null - -po: ${PO_LANG}.po -.PHONY: po -${PO_LANG}.po: ${DOC}.translate.xml - @${ITSTOOL} -o ${PO_LANG}.po.tmp ${DOC}.translate.xml - @( if [ -f "${PO_LANG}.po" ]; then \ - echo "${PO_LANG}.po exists, merging" ; \ - ${MSGMERGE} -o ${PO_LANG}.po.new ${PO_LANG}.po ${PO_LANG}.po.tmp ; \ - ${MSGATTRIB} --no-obsolete -o ${PO_LANG}.po.new ${PO_LANG}.po ; \ - ${MV} ${PO_LANG}.po.new ${PO_LANG}.po ; \ - ${RM} ${PO_LANG}.po.tmp ${DOC}.translate.xml ; \ - else \ - ${ECHO} "${PO_LANG}.po created, please check and correct the settings in the header" ; \ - ${MV} ${PO_LANG}.po.tmp ${PO_LANG}.po ; \ - ${POSET_CMD} ${.TARGET} ; \ - fi ) - -${PO_LANG}.mo: ${PO_LANG}.po - @${MSGFMT} -o ${.TARGET} ${.ALLSRC} - -tran ${DOC}.xml: ${DOC}.translate.xml ${PO_LANG}.mo - @if [ "${TRAN_DIR}" = "${EN_DIR}" ]; then \ - ${ECHO} "build translation in a non-English dir" ; \ - exit 1 ; \ - fi - ${ITSTOOL} -l ${PO_LANG} -m ${PO_LANG}.mo -o ${DOC}.xml ${DOC}.translate.xml -.endif +.include "${DOC_PREFIX}/share/mk/doc.translate.mk" # XHTML ------------------------------------------------------------- Added: head/share/mk/doc.translate.mk ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/mk/doc.translate.mk Thu Oct 12 14:13:48 2017 (r51106) @@ -0,0 +1,85 @@ +# +# $FreeBSD$ +# +# This include file handles building and installing of +# DocBook documentation translations in the FreeBSD Documentation Project. +# + +# ------------------------------------------------------------------------ +# +# Document-specific variables +# [...] +# + +# translation ------------------------------------------------------- + +# Master English document +MASTERDOC_EN?= ${MASTERDOC:S/${LANGCODE}/en_US.ISO8859-1/} +TRAN_DIR?= ${MASTERDOC:H} +EN_DIR?= ${TRAN_DIR:S/${LANGCODE}/en_US.ISO8859-1/} +PO_LANG?= ${LANGCODE:C/\..*$//} +PO_CHARSET?= ${LANGCODE:tl:C/^.*\.//:S/^iso/iso-/:S/utf-8/UTF-8/} +CLEANFILES+= ${DOC}.translate.xml ${PO_LANG}.mo + +PO_CATALOG_FILES= file://${EN_DIR}/catalog-cwd.xml \ + file://${EN_DIR:H:H}/share/xml/catalog.xml \ + file://${DOC_PREFIX}/share/xml/catalog.xml \ + file://${LOCALBASE}/share/xml/catalog +.if defined(EXTRA_CATALOGS) +PO_CATALOG_FILES+= ${EXTRA_CATALOGS} +.endif +PO_XMLLINT= env XML_CATALOG_FILES="${PO_CATALOG_FILES}" ${PREFIX}/bin/xmllint + +# fix settings in PO file +IDSTR1= $$Free +IDSTR2= BSD$$ +POSET_CMD= ${SED} -i '' -e '1s,^,\#${IDSTR1}${IDSTR2}\${.newline},' \ + -e 's,^\(\"Language-Team:.*\\n\"\),\1\${.newline}\"Language: ${PO_LANG}\\n\",' \ + -e 's,^\"Content-Type: text/plain; charset=.*\\n,\"Content-Type: text/plain; charset=${PO_CHARSET}\\n,' + +.if ${.TARGETS:Mpo} || ${.TARGETS:Mtran} || ${.TARGETS:M${DOC}.translate.xml} + +MASTER_SRCS!= ${MAKE} -C ${EN_DIR} -V SRCS + +${DOC}.translate.xml: + @if [ "${TRAN_DIR}" == "${EN_DIR}" ]; then \ + ${ECHO} "build PO file in a non-English dir" ; \ + exit 1 ; \ + fi + # some SRCS files might need to be generated, make sure they exist + @${MAKE} -C ${EN_DIR} ${MASTER_SRCS} > /dev/null + # normalize the English original into a single file + @${PO_XMLLINT} --nonet --noent --valid --xinclude ${MASTERDOC_EN} > ${.TARGET}.tmp + # remove redundant namespace attributes + @${PO_XMLLINT} --nsclean ${.TARGET}.tmp > ${.TARGET} + @${RM} ${.TARGET}.tmp + @${MAKE} -C ${EN_DIR} clean > /dev/null + +po: ${PO_LANG}.po +.PHONY: po +${PO_LANG}.po: ${DOC}.translate.xml + @${ITSTOOL} -o ${PO_LANG}.po.tmp ${DOC}.translate.xml + @( if [ -f "${PO_LANG}.po" ]; then \ + echo "${PO_LANG}.po exists, merging" ; \ + ${MSGMERGE} -o ${PO_LANG}.po.new ${PO_LANG}.po ${PO_LANG}.po.tmp ; \ + ${MSGATTRIB} --no-obsolete -o ${PO_LANG}.po.new ${PO_LANG}.po ; \ + ${MV} ${PO_LANG}.po.new ${PO_LANG}.po ; \ + ${RM} ${PO_LANG}.po.tmp ${DOC}.translate.xml ; \ + else \ + ${ECHO} "${PO_LANG}.po created, please check and correct the settings in the header" ; \ + ${MV} ${PO_LANG}.po.tmp ${PO_LANG}.po ; \ + ${POSET_CMD} ${.TARGET} ; \ + fi ) + +${PO_LANG}.mo: ${PO_LANG}.po + @${MSGFMT} -o ${.TARGET} ${.ALLSRC} + +tran ${DOC}.xml: ${DOC}.translate.xml ${PO_LANG}.mo + @if [ "${TRAN_DIR}" = "${EN_DIR}" ]; then \ + ${ECHO} "build translation in a non-English dir" ; \ + exit 1 ; \ + fi + ${ITSTOOL} -l ${PO_LANG} -m ${PO_LANG}.mo -o ${DOC}.xml ${DOC}.translate.xml +.endif + +