X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/f98233c1b1e93ef1bb595bfc6e59c74d9e05eb6a..efcbb0f0c0ec92d6b61c6349a5ad69952939272e:/buildlib/po4a_manpage.mak?ds=inline

diff --git a/buildlib/po4a_manpage.mak b/buildlib/po4a_manpage.mak
index 538859b6e..0f53a8600 100644
--- a/buildlib/po4a_manpage.mak
+++ b/buildlib/po4a_manpage.mak
@@ -11,36 +11,53 @@
 
 # generate a list of accepted man page translations
 SOURCE = $(patsubst %.xml,%,$(wildcard *.$(LC).?.xml))
-INCLUDES = apt.ent
+INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent
+
+manpages:
+
+%.xsl: ../%.xsl
+	cp -a $< .
 
 # Do not use XMLTO, build the manpages directly with XSLTPROC
 ifdef XSLTPROC
 
-STYLESHEET=../manpage-style.xsl
+STYLESHEET=manpage-style.xsl
 
 LOCAL := po4a-manpage-$(firstword $(SOURCE))
 $(LOCAL)-LIST := $(SOURCE)
 
 # Install generation hooks
-doc: $($(LOCAL)-LIST)
+manpages: $($(LOCAL)-LIST)
+clean: clean/$(LOCAL)
 veryclean: veryclean/$(LOCAL)
 
-$($(LOCAL)-LIST) :: % : %.xml $(INCLUDES)
+apt-verbatim.ent: ../apt-verbatim.ent
+	cp -a ../apt-verbatim.ent .
+
+apt-vendor.ent: ../apt-vendor.ent
+	cp -a ../apt-vendor.ent .
+
+$($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES)
 	echo Creating man page $@
-	$(XSLTPROC) -o $@ $(STYLESHEET) $< # why xsltproc doesn't respect the -o flag here???
+	$(XSLTPROC) \
+		--stringparam l10n.gentext.default.language $(LC) \
+		-o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here???
+	test -f $(subst .$(LC),,$@) || echo 'FIXME: xsltproc respects the -o flag now, workaround can be removed'
 	mv -f $(subst .$(LC),,$@) $@
 
 # Clean rule
-.PHONY: veryclean/$(LOCAL)
+.PHONY: clean/$(LOCAL) veryclean/$(LOCAL)
+clean/$(LOCAL):
+	rm -f $($(@F)-LIST) apt.ent apt-verbatim.ent
 veryclean/$(LOCAL):
-	-rm -rf $($(@F)-LIST) apt.ent apt.$(LC).8 \
-		$(addsuffix .xml,$($(@F)-LIST))
+	# we are nuking the directory we are working in as it is auto-generated
+	rm -rf $(shell readlink -f .)
 
 HAVE_PO4A=yes
 endif
 
 # take care of the rest
-SOURCE := $(SOURCE) apt.$(LC).8
+SOURCE := $(SOURCE) $(wildcard apt.$(LC).8)
 INCLUDES :=
 
 ifndef HAVE_PO4A
@@ -52,3 +69,7 @@ endif
 ifneq ($(words $(SOURCE)),0)
 include $(MANPAGE_H)
 endif
+
+# DocBook XML Documents
+SOURCE := $(wildcard *.$(LC).dbk)
+include $(DOCBOOK_H)