summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-05-14 14:39:15 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-05-14 14:39:15 +0200
commite4bc41c765f2b9fec55faa747e8330130c987678 (patch)
tree347206c605adeeba04b0f7fa6d37d0434b248c69
parent282c8f2551d57daf4f4d268b03e67f1752a9fde9 (diff)
- separate manpages from the rest of the doc building
- make apt and apt-utils packages depend on manpages instead of full doc
-rw-r--r--Makefile4
-rw-r--r--buildlib/defaults.mak2
-rw-r--r--buildlib/manpage.mak3
-rw-r--r--debian/changelog2
-rwxr-xr-xdebian/rules14
-rw-r--r--doc/makefile26
-rw-r--r--test/Makefile2
7 files changed, 36 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index a35ad1d37..24f5b3e2b 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ endif
default: startup all
.PHONY: headers library clean veryclean all binary program doc test update-po
-all headers library clean veryclean binary program doc test update-po startup dirs:
+all headers library clean veryclean binary program doc manpages test update-po startup dirs:
$(MAKE) -C apt-pkg $@
$(MAKE) -C apt-inst $@
$(MAKE) -C methods $@
@@ -21,7 +21,7 @@ all headers library clean veryclean binary program doc test update-po startup di
$(MAKE) -C po $@
$(MAKE) -C test $@
-all headers library clean veryclean binary program doc test update-po: startup dirs
+all headers library clean veryclean binary program doc manpages test update-po: startup dirs
dirs: startup
diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak
index c10813e9d..7b084f4b9 100644
--- a/buildlib/defaults.mak
+++ b/buildlib/defaults.mak
@@ -121,7 +121,7 @@ MKDIRS := $(BIN)
all: dirs binary doc
binary: library program
maintainer-clean dist-clean distclean pristine sanity: veryclean
-startup headers library clean veryclean program test update-po:
+startup headers library clean veryclean program test update-po manpages:
veryclean:
echo Very Clean done for $(SUBDIR)
diff --git a/buildlib/manpage.mak b/buildlib/manpage.mak
index 6cdf73ccf..063841d86 100644
--- a/buildlib/manpage.mak
+++ b/buildlib/manpage.mak
@@ -14,7 +14,8 @@ LOCAL := manpage-$(firstword $(SOURCE))
$(LOCAL)-LIST := $(addprefix $(DOC)/,$(SOURCE))
# Install generation hooks
-doc: $($(LOCAL)-LIST)
+doc: manpages
+manpages: $($(LOCAL)-LIST)
veryclean: veryclean/$(LOCAL)
MKDIRS += $(DOC)
diff --git a/debian/changelog b/debian/changelog
index 12097ca6f..3de297513 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,10 +6,12 @@ apt (0.9.4) UNRELEASED; urgency=low
as we don't need a symbol for it as it is not in a header
* Makefile, buildlib/*.mak:
- reshuffle dependencies so that parallel building seems to work
+ - separate manpages from the rest of the doc building
* prepare-release:
- apt-inst version isn't apt versions, so don't override variable
* debian/rules:
- apt-utils packages manpages, so it should depend on build-doc
+ - make apt and apt-utils packages depend on manpages instead of full doc
-- David Kalnischkies <kalnischkies@gmail.com> Fri, 11 May 2012 23:26:59 +0200
diff --git a/debian/rules b/debian/rules
index fcdff9d01..7b221fc2a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -67,7 +67,8 @@ LIBAPT_INST=libapt-inst$(LIBAPTINST_MAJOR)
export DPKG_GENSYMBOLS_CHECK_LEVEL=0
build: build/build-stamp
-build-doc: build/build-doc-stamp
+build-doc: build-manpages build/build-doc-stamp
+build-manpages: build/build-manpages-stamp
# Note that this is unconditionally done first as part of loading environment.mak
# The true is needed to force make to reload environment.mak after running
@@ -97,11 +98,16 @@ else
endif
touch $@
-build/build-doc-stamp: build/configure-stamp
+build/build-doc-stamp: build/build-manpages-stamp build/configure-stamp
# Add here commands to compile the package.
$(MAKE) doc
touch $@
+build/build-manpages-stamp: build/configure-stamp
+ # Add here commands to compile the package.
+ $(MAKE) manpages
+ touch $@
+
clean:
dh_testdir
@@ -167,7 +173,7 @@ apt-doc: build-doc
binary-arch: $(LIBAPT_PKG) $(LIBAPT_INST) apt libapt-pkg-dev apt-utils apt-transport-https
apt_MANPAGES = apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list
-apt: build build-doc
+apt: build build-manpages
dh_testdir -p$@
dh_testroot -p$@
dh_prep -p$@
@@ -231,7 +237,7 @@ libapt-pkg-dev: build debian/libapt-pkg-dev.install
dh_builddeb -p$@
apt-utils_MANPAGES = apt-sortpkgs apt-ftparchive apt-extracttemplates
-apt-utils: build build-doc
+apt-utils: build build-manpages
dh_testdir -p$@
dh_testroot -p$@
dh_prep -p$@
diff --git a/doc/makefile b/doc/makefile
index df2ddb25f..f52586935 100644
--- a/doc/makefile
+++ b/doc/makefile
@@ -11,6 +11,11 @@ SOURCE = $(wildcard *.sgml)
DEBIANDOC_HTML_OPTIONS=-l en.UTF-8
include $(DEBIANDOC_H)
+MANPAGEPO = $(patsubst %.po,%,$(notdir $(wildcard po/*.po)))
+MANPAGEPOLIST = $(patsubst %,manpages-translation-%,$(MANPAGEPO))
+
+doc: manpages
+
# Do not use XMLTO, build the manpages directly with XSLTPROC
ifdef XSLTPROC
# generate a list of accepted man page translations
@@ -22,15 +27,26 @@ LOCAL := manpage-$(firstword $(SOURCE))
$(LOCAL)-LIST := $(SOURCE)
# Install generation hooks
-doc: $($(LOCAL)-LIST)
-veryclean: veryclean/$(LOCAL)
+manpages: $(MANPAGEPOLIST) $($(LOCAL)-LIST)
$($(LOCAL)-LIST) :: % : %.xml $(INCLUDES)
echo Creating man page $@
$(XSLTPROC) -o $@ $(STYLESHEET) $<
+$(MANPAGEPOLIST) :: manpages-translation-% : %/makefile po4a
+ $(MAKE) -C $(dir $<) doc
+
+.PHONY: manpages dirs-manpage-subdirs $(MANPAGEPOLIST)
+dirs: dirs-manpage-subdirs
+dirs-manpage-subdirs:
+ for i in $(MANPAGEPO); do \
+ test -d $$i || mkdir $$i; \
+ test -f $$i/makefile || sed "s#@@LANG@@#$$i#" lang.makefile > $$i/makefile; \
+ done
+
# Clean rule
.PHONY: veryclean/$(LOCAL)
+veryclean: veryclean/$(LOCAL)
veryclean/$(LOCAL):
-rm -rf $($(@F)-LIST)
@@ -47,12 +63,6 @@ TARGET = binary
include $(COPY_H)
.PHONY: clean clean-subdirs veryclean veryclean-subdirs all binary doc
-doc:
- for i in $(shell ls po/*.po | sed -r 's#po/([a-z]+[A-Z_]*).po#\1#'); do \
- test -d $$i || mkdir $$i; \
- test -f $$i/makefile || sed "s#@@LANG@@#$$i#" lang.makefile > $$i/makefile; \
- $(MAKE) -C $$i $@; \
- done
clean: clean-subdirs
veryclean: veryclean-subdirs
diff --git a/test/Makefile b/test/Makefile
index b42a90b25..8207ebdab 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -7,7 +7,7 @@ ifndef NOISY
endif
.PHONY: startup headers library clean veryclean all binary program doc test update-po
-startup all clean veryclean binary program dirs test update-po:
+startup all clean veryclean binary program dirs test update-po manpages:
$(MAKE) -C libapt $@
$(MAKE) -C interactive-helper $@