From ac62eb38b0bca7a45835903eb421c19f4f78aca3 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 19 May 2013 15:49:24 +0200 Subject: build the en manpages in subdirectory doc/en Building manpages becames more consistent this way and it is simpler to ignore build artefacts, too. --- doc/makefile | 72 ++++++++++++++++-------------------------------------------- 1 file changed, 19 insertions(+), 53 deletions(-) (limited to 'doc/makefile') diff --git a/doc/makefile b/doc/makefile index be8357d80..44a22a597 100644 --- a/doc/makefile +++ b/doc/makefile @@ -1,7 +1,6 @@ # -*- make -*- BASE=.. SUBDIR=doc -SUBDIRS= $(dir $(wildcard */makefile)) # Bring in the default rules include ../buildlib/defaults.mak @@ -13,34 +12,6 @@ include $(DEBIANDOC_H) doc: manpages debiandoc -# Do not use XMLTO, build the manpages directly with XSLTPROC -ifdef XSLTPROC -# generate a list of accepted man page translations -SOURCE = $(patsubst %.xml,%,$(wildcard *.?.xml)) -INCLUDES = apt.ent apt-verbatim.ent -STYLESHEET=manpage-style.xsl - -LOCAL := manpage-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(SOURCE) - -# Install generation hooks -manpages: $($(LOCAL)-LIST) - -$($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES) - echo Creating man page $@ - $(XSLTPROC) -o $@ $(STYLESHEET) $< - -# Clean rule -.PHONY: veryclean/$(LOCAL) -veryclean: veryclean/$(LOCAL) -veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) -endif - -# Chain to the manpage rule -SOURCE = apt.8 -include $(MANPAGE_H) - examples/sources.list: examples/sources.list.in apt-verbatim.ent sed -e 's#&stable-codename;#$(shell grep --max-count=1 '^ examples/sources.list @@ -50,42 +21,43 @@ TO = $(DOC) TARGET = binary include $(COPY_H) -.PHONY: clean clean-subdirs veryclean veryclean-subdirs all binary doc stats +.PHONY: clean clean/subdirs veryclean veryclean/subdirs manpages/subdirs debiandoc/subdirs all binary doc stats -clean: clean-subdirs -veryclean: veryclean-subdirs +clean: clean/subdirs +veryclean: veryclean/subdirs +manpages: manpages/subdirs +debiandoc: debiandoc/subdirs -clean-subdirs: - for dir in $(SUBDIRS); do\ - $(MAKE) -C $$dir clean; \ - done +DOCUMENTATIONPO = $(patsubst %.po,%,$(notdir $(wildcard po/*.po))) +DOCDIRLIST = $(addsuffix /makefile,$(DOCUMENTATIONPO)) -veryclean-subdirs: - for dir in $(SUBDIRS); do\ - rm -rf $$dir; \ +dirs: $(DOCDIRLIST) +$(DOCDIRLIST) :: %/makefile : lang.makefile + test -d $(dir $@) || mkdir $(dir $@) + sed "s#@@LANG@@#$(subst /,,$(dir $@))#" $< > $@ + +debiandoc/subdirs manpages/subdirs clean/subdirs veryclean/subdirs: dirs + for dir in en $(dir $(DOCDIRLIST)); do \ + $(MAKE) -C $$dir $(patsubst %/subdirs,%,$@); \ done stats: for i in po/*.po; do echo -n "$$i: "; msgfmt --output-file=/dev/null --statistics $$i; done ifdef PO4A -DOCUMENTATIONPO = $(patsubst %.po,%,$(notdir $(wildcard po/*.po))) MANPAGEPOLIST = $(addprefix manpages-translation-,$(DOCUMENTATIONPO)) DEBIANDOCPOLIST = $(addprefix debiandoc-translation-,$(DOCUMENTATIONPO)) -MANPAGEDIRLIST = $(addsuffix /makefile,$(DOCUMENTATIONPO)) +.PHONY: update-po po4a $(MANPAGEPOLIST) $(DEBIANDOCPOLIST) $(DOCDIRLIST) -.PHONY: update-po po4a $(MANPAGEPOLIST) $(MANPAGEDIRLIST) - -manpages: $(MANPAGEPOLIST) -debiandoc: $(DEBIANDOCPOLIST) -po4a: $(MANPAGEPOLIST) $(DEBIANDOCPOLIST) +po4a: manpages/subdirs debiandoc/subdirs update-po: po4a --previous --no-backups --force --no-translations \ --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \ --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf +manpages/subdirs: $(MANPAGEPOLIST) $(MANPAGEPOLIST) :: manpages-translation-% : %/makefile po4a.conf # first line is for apt.8 (see Bug#696923) po4a --previous --no-backups --translate-only $(dir $<)apt.ent \ @@ -100,19 +72,13 @@ $(MANPAGEPOLIST) :: manpages-translation-% : %/makefile po4a.conf $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.8.xml,%.$(subst /,,$(dir $<)).8.xml,$(wildcard *.8.xml))) \ --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \ --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf - $(MAKE) -C $(dir $<) manpages +debiandoc/subdirs: $(DEBIANDOCPOLIST) $(DEBIANDOCPOLIST) :: debiandoc-translation-% : %/makefile po4a.conf po4a --previous --no-backups --translate-only $(dir $<)apt.ent \ $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.sgml,%.$(subst /,,$(dir $<)).sgml,$(wildcard *.sgml))) \ --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \ --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf - $(MAKE) -C $(dir $<) debiandoc - -dirs: $(MANPAGEDIRLIST) -$(MANPAGEDIRLIST) :: %/makefile : lang.makefile - test -d $(dir $@) || mkdir $(dir $@) - sed "s#@@LANG@@#$(subst /,,$(dir $@))#" $< > $@ endif ifdef DOXYGEN -- cgit v1.2.3 From 57da1b4bd21aceced30f658993fb811a5232cff7 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 31 May 2013 18:19:09 +0200 Subject: stop building l10n if strings are unchanged The buildsystem tried to build l10n for test applications which never produced the output it expected causing it to try building it all the time. --- doc/makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/makefile') diff --git a/doc/makefile b/doc/makefile index 44a22a597..274fbc278 100644 --- a/doc/makefile +++ b/doc/makefile @@ -36,7 +36,7 @@ $(DOCDIRLIST) :: %/makefile : lang.makefile test -d $(dir $@) || mkdir $(dir $@) sed "s#@@LANG@@#$(subst /,,$(dir $@))#" $< > $@ -debiandoc/subdirs manpages/subdirs clean/subdirs veryclean/subdirs: dirs +debiandoc/subdirs manpages/subdirs clean/subdirs veryclean/subdirs: for dir in en $(dir $(DOCDIRLIST)); do \ $(MAKE) -C $$dir $(patsubst %/subdirs,%,$@); \ done -- cgit v1.2.3