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 $@
$(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
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)
$(LOCAL)-LIST := $(addprefix $(DOC)/,$(SOURCE))
# Install generation hooks
-doc: $($(LOCAL)-LIST)
+doc: manpages
+manpages: $($(LOCAL)-LIST)
veryclean: veryclean/$(LOCAL)
MKDIRS += $(DOC)
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
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
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
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$@
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$@
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
$(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)
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
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 $@