diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-09 22:41:48 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-09 22:41:48 +0000 |
commit | 2c56ad085c04f7681ecb27ca09ecba4964415542 (patch) | |
tree | 1743add7e759971e354a0c15ebcb9236e70a614b /Master/texmf-dist/doc/latex/latex2e-help-texinfo-fr/Makefile | |
parent | ad7fc27ffd2b87a7a7263b7f4e97f2f0a48451fa (diff) |
latex2e-help-texinfo-fr (8apr16)
git-svn-id: svn://tug.org/texlive/trunk@40375 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/latex2e-help-texinfo-fr/Makefile')
-rw-r--r-- | Master/texmf-dist/doc/latex/latex2e-help-texinfo-fr/Makefile | 319 |
1 files changed, 319 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/latex2e-help-texinfo-fr/Makefile b/Master/texmf-dist/doc/latex/latex2e-help-texinfo-fr/Makefile new file mode 100644 index 00000000000..5112d14ccb8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex2e-help-texinfo-fr/Makefile @@ -0,0 +1,319 @@ +# $Id: Makefile 466 2015-10-27 11:31:20Z jhefferon $ +# Public domain. Originally written 2006, Karl Berry. +# Makefile for latexrefman. + +# Adding a new langage xx (for instance xx is ru for Russian) is as +# follows: +# 1) add xx to the list in other_languages +# 2) add definition of xx_longname, for instance if xx is ru, +# xx_longname:=russian +# 3) add definition of xx_updated_awk, script for formatting @set +# UPDATED tag. + +manual=latex2e +default_language=en +other_languages=fr es +languages=$(default_language) $(other_languages) + +# +xref_suffixes := ky cp vr fn cp pg tp +xref_suffixes := $(xref_suffixes) $(addsuffix s,$(xref_suffixes)) +xref_suffixes := aux log toc $(xref_suffixes) +tex_suffixes = dvi pdf +makeinfo_suffixes = dbk html info txt xml +en_longname:=english +es_longname:=spanish +fr_longname:=french + +define lang_template +dist-$(1):=$(manual)-help-texinfo-$(1) +$(1)_manual:=$$(subst -$(default_language),,$(manual)-$(1)) +$(1)_tex_output := $$(addprefix $$($(1)_manual).,$(tex_suffixes)) +$(1)_makeinfo_output := $$(addprefix $$($(1)_manual).,$(makeinfo_suffixes)) +$(1)_output := $$($(1)_tex_output) $$($(1)_makeinfo_output) +tex_output+= $$($(1)_tex_output) +makeinfo_output+= $$($(1)_makeinfo_output) +endef +$(foreach lang,$(languages), $(eval $(call lang_template,$(lang)))) + +# +all_suffixes = dvi pdf $(makeinfo_suffixes) + + +# how to build. +# +texi2dvi = texi2dvi --batch --tidy --build-dir=$*.t2dvi +texi2pdf = texi2pdf --batch --tidy --build-dir=$*.t2pdf +# +makeinfo = makeinfo +texi2docbook = $(makeinfo) --docbook +texi2html = $(makeinfo) --html --no-split $(texi2html_top) +texi2info = $(makeinfo) --no-split +texi2txt = $(makeinfo) --plaintext --no-split +texi2xml = $(makeinfo) --xml +# +# Go somewhere useful from Top. +texi2html_top = -c TOP_NODE_UP_URL=http://tug.org/texinfohtml/ + +%.pdf: %.texi + $(texi2pdf) $< +%.dvi: %.texi + $(texi2dvi) $< +# +%.dbk: %.texi + $(texi2docbook) -o $@ $< +%.html: %.texi + $(texi2html) $< + +%/index.html: %.texi + $(makeinfo) --html $(texi2html_top) $< + +%.info: %.texi + $(texi2info) $< +%.txt: %.texi + $(texi2txt) -o $@ $< +%.xml: %.texi + $(texi2xml) $< + + +# targets follow. +# +default: check-en + +# to test changes, build a subset: html and info (since these formats +# exercise significantly different code paths), and pdf for tex. +check_suffixes = html info pdf +# +.PHONY: check +check: $(addprefix check-,$(languages)) +define lang_template +.PHONY:check-$(1) +check-$(1): spell-$(lang) $(addprefix $($(1)_manual), $(check_suffixes)) +endef +$(foreach lang,$(languages), $(eval $(call lang_template,$(lang)))) + + + +# Build per language. +define lang_template +.PHONY: $(1) +$(1): $($(lang)_output) +endef +$(foreach lang,$(languages), $(eval $(call lang_template,$(lang)))) + + +# Build per language with UPDATED flag refresh setttig LC_TIME to fr +# or es does not change the format %B under MSYS, neither with awk +# time function, nor with date bash command. This is why we emulate +# this. +define fr_updated_awk +function updated(){\ + monthes[1]="Janvier";\ + monthes[2]="Février";\ + monthes[3]="Mars";\ + monthes[4]="Avril";\ + monthes[5]="Mai";\ + monthes[6]="Juin";\ + monthes[7]="Juillet";\ + monthes[8]="Août";\ + monthes[9]="Septembre";\ + monthes[10]="Octobre";\ + monthes[11]="Novembre";\ + monthes[12]="Décembre";\ + return monthes[month] " " year;\ +} +endef +define en_updated_awk +function updated(){\ + return strftime("%B %Y",time_stamp);\ +} +endef +define es_updated_awk +function updated(){\ + monthes[1] = "Enero";\ + monthes[2] = "Febrero";\ + monthes[3] = "Marzo";\ + monthes[4] = "Abril";\ + monthes[5] = "Mayo";\ + monthes[6] = "Junio";\ + monthes[7] = "Julio";\ + monthes[8] = "Agosto";\ + monthes[09] = "Septiembre";\ + monthes[10] = "Octubre";\ + monthes[11] = "Noviembre";\ + monthes[12] = "Diciembre";\ + return monthes[month] " " year;\ +} +endef +define set_updated_awk +$($(1)_updated_awk);\ +BEGIN { time_stamp=systime();\ + year=strftime("%Y",time_stamp);\ + month=strftime("%m",time_stamp) + 0;\ + };\ +/^ *@set +UPDATED/ { the_func="updated_" lang;\ + $$$$0="@set UPDATED " updated();};\ + { print} +endef +define lang_template +.PHONY: updated-$(1) +updated-date-$(1): + LC_TIME=C; \ + awk -v lang=$(1) '$(call set_updated_awk,$(1))' $($(1)_manual).texi > temp.texi; \ + if diff $($(1)_manual).texi temp.texi > /dev/null; then \ + rm temp.texi; \ + else \ + mv temp.texi $($(1)_manual).texi; \ + fi + +updated-$(1): updated-date-$(1) + $$(MAKE) $(1) +endef +$(foreach lang,$(languages), $(eval $(call lang_template,$(lang)))) + + +# To build everything in all languages. +.PHONY: all +all: $(languages) + +# following the GNU sequence of clean targets. +.PHONY: distclean clean mostlyclean +distclean clean mostlyclean: + rm -rf $(manual)*.t2* + +.PHONY: realclean maintainer-clean +realclean maintainer-clean: distclean + rm -f $(addprefix $(manual)*., $(tex_suffixes) $(makeinfo_suffixes) $(xref_suffixes)) + rm -fr $(foreach lang,$(addprefix dist-,$(languages)),$($(lang)) $($(lang)).zip) + rm -fr $(manual)-help-texinfo $(manual)-help-texinfo.zip + + +# dist for CTAN. Also update NEWS +# +txt_files = ChangeLog Makefile.1 NEWS README ltx-help.el + +define dist_output +$($(1)_makeinfo_output) $(addprefix $($(1)_manual).,pdf texi) aspell.$(1).pws +endef + +define make_dist_dir +mkdir -p $(1); \ +cd $(1); \ +$(foreach file,$(call dist_output,$(2)) $(4), \ + ln -s $(3)/$(file) $(subst Makefile.1,Makefile,$(file));) \ +cd $(3); +endef + +# Distribution per language. +define lang_template +.PHONY: dist-$(1) +dist-$(1): updated-$(1) + @uncommited=`svn status $(call dist_output,$(1)) $(txt_files)`; \ + echo -n "$$$$uncommited"; \ + if [ -n "$$$$uncommited" -a -z "$(DIST_FORCE)" ]; \ + then \ + echo ""; \ + echo "There are uncommited changes."; \ + echo "Commit them before making the distribution zip..."; \ + echo "or make again with DIST_FORCE=1."; \ + exit 2; \ + fi + @echo "" + rm -fr $(dist-$(1)) + $(call make_dist_dir,$(dist-$(1)),$(1),..,$(txt_files)) + -zip -qr $(dist-$(1)).zip $(dist-$(1)) + rm -fr $(dist-$(1)) + @ls -l $(dist-$(1)).zip; unzip -t $(dist-$(1)).zip +endef +$(foreach lang,$(languages), $(eval $(call lang_template,$(lang)))) + + + +dist = $(manual)-help-texinfo +# +.PHONY: dist +dist: all + @uncommited=`svn status $(foreach lang,$(languages),$(call dist_output,$(lang))) $(txt_files)`; \ + echo -n "$$uncommited"; \ + if [ -n "$$uncommited" -a -z "$(DIST_FORCE)" ]; \ + then \ + echo ""; \ + echo "There are uncommited changes."; \ + echo "Commit them before making the distribution zip..."; \ + echo "or make again with DIST_FORCE=1."; \ + exit 2; \ + fi + @echo "" + rm -fr $(dist) + $(call make_dist_dir,$(dist),$(default_language),..,$(txt_files)) + $(foreach lang,$(other_languages), \ + $(call make_dist_dir,$(dist)/$($(lang)_longname),$(lang),../..,)) + -zip -qr $(dist).zip $(dist) + rm -fr $(dist) + @ls -l $(dist).zip; unzip -t $(dist) + + + +# A hacky spell check target. +# Remove \commandnames to reduce exception list, but not {args} or +# [args], since they are often words. +.PHONY: spell +spell: $(addprefix spell-,$(languages)) +define lang_template +.PHONY: spell-$(1) +spell-$(1): + sed -e 's/\\[a-zA-z]*//g' $($(1)_manual).texi \ + | aspell list --mode=texinfo --add-extra-dicts=`pwd`/aspell.$(1).pws \ + | sort -f -u +endef +$(foreach lang,$(languages), $(eval $(call lang_template,$(lang)))) + +# Check for doubled words. +# http://www.math.utah.edu/~beebe/software/file-tools.html#dw +check-dw: + grep -v '^@item' $(manual).texi | dw + +# Convenience target to tag a delivery to CTAN +GNA_USERID&=vincentb1 +TAG?=ctan$(VERSION) +MESSAGE?=Delivery to CTAN $(VERSION) +CTANTAG?=svn copy svn+ssh://$(GNA_USERID)@svn.gna.org/svn/latexrefman/trunk svn+ssh://$(GNA_USERID)@svn.gna.org/svn/latexrefman/tags/$(TAG) -m "$(MESSAGE)" +.PHONY: tag +tag: +ifeq ($(GNA_USERID),) + echo 'Please define GNA_USERID variable in your environment to your GNA! user id' + exit -1 +else ifeq ($(TAG),ctan) + @if test -z '$(GNA_USERID)'; then \ + echo 'Please define GNA_USERID variable in your environment to your GNA! user id'; \ + exit -1; \ + else \ + $(MAKE) $@ "VERSION=$(shell date '+%Y-%m-%dT%T')"; \ + fi +else + @echo 'Will you run the following command:' + @echo '$(CTANTAG)' + @select w in yes no; \ + do \ + case $$w in \ + yes) \ + $(CTANTAG); \ + break;; \ + no) \ + echo 'Cancelled'; \ + break;; \ + esac; \ + done +endif + +# Convenience targets to svn revert the generated files, +# and svn diff the source files. +svr: + svn revert $(addprefix $(manual)*., $(all_suffixes)) +svd: + svn diff $(txt_files) $(patsubst %,aspell.%.pws,$(languages)) *.texi + +# Local Variables: +# coding: utf-8 +# mode: makefile +# End: |