Thanks to Romain Lenglet for reminding me that there are standard Makefile targets for generating and installing PDF documentation.
CC: Romain Lenglet <rleng...@nicira.com> Reported-by: Alan Shieh <ash...@nicira.com> Bug #8153. --- v1->v2: Use standard 'pdf' target instead of invented 'pdf-man' target. Add 'install-pdf' implementation. Clean up generated files on "make clean". AUTHORS | 1 + Makefile.am | 27 ++++++++++++++++++++++++++- NEWS | 3 +++ configure.ac | 1 + m4/openvswitch.m4 | 12 ++++++++++++ 5 files changed, 43 insertions(+), 1 deletions(-) diff --git a/AUTHORS b/AUTHORS index 87b3ccd..e5c3a05 100644 --- a/AUTHORS +++ b/AUTHORS @@ -60,6 +60,7 @@ provided helpful bug reports or suggestions. Aaron M. Ucko u...@debian.org Aaron Rosen aro...@clemson.edu Ahmed Bilal numan...@gmail.com +Alan Shieh ash...@nicira.com Alban Browaeys pra...@yahoo.com Alex Yip a...@nicira.com Alexey I. Froloff ra...@altlinux.org diff --git a/Makefile.am b/Makefile.am index 46de7fb..ab5f6e7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 2007, 2008, 2009, 2010, 2011 Nicira Networks, Inc. +# Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Nicira Networks, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright @@ -167,6 +167,31 @@ manpage-check: $(man_MANS) $(dist_man_MANS) $(noinst_man_MANS) CLEANFILES += manpage-check endif +PDF = $(man_MANS:=.pdf) $(dist_man_MANS:=.pdf) $(noinst_man_MANS:=.pdf) +CLEANFILES += $(PDF) +if HAVE_GROFF +if HAVE_PS2PDF +pdf: $(PDF) +install-pdf-local: + $(MKDIR_P) $(DESTDIR)$(pdfdir) + for pdf in $(PDF); do \ + base=`echo "$$pdf" | sed 's,^.*/,,'`; \ + $(INSTALL_DATA) "$$pdf" "$(DESTDIR)$(pdfdir)/$$base" || exit 1; \ + done +SUFFIXES += .1.pdf .5.pdf .8.pdf .1 .5 .8 +# These magic ps2pdf options to embed fonts are needed to make the +# generated PDF files look decent in the Chrome PDF viewer. +PS2PDF_FLAGS = -dEmbedAllFonts=true -dPDFSETTINGS=/printer +man2pdf = LANG=en_US.UTF-8 groff -p -T ps -man $< | ps2pdf $(PS2PDF_FLAGS) - $@ +.1.1.pdf: + $(man2pdf) +.5.5.pdf: + $(man2pdf) +.8.8.pdf: + $(man2pdf) +endif +endif + include $(srcdir)/manpages.mk $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.pl @$(PERL) $(srcdir)/build-aux/sodepends.pl -I. -I$(srcdir) $(MAN_ROOTS) >$(@F).tmp diff --git a/NEWS b/NEWS index 1128af0..fb05e6f 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,9 @@ post-v1.4.0 {=}, {!=}, {<}, {>}, {<=}, and {>=}. - ovsdb-tool now uses the typical database and schema installation directories as defaults. + - "pdf" and "install-pdf" Makefile targets now generate and install + PDF versions of manpages, respectively, if groff and ps2pdf are + available. v1.4.0 - xx xxx xxxx diff --git a/configure.ac b/configure.ac index a5cff70..59f36e0 100644 --- a/configure.ac +++ b/configure.ac @@ -68,6 +68,7 @@ OVS_CHECK_SOCKET_LIBS OVS_CHECK_LINKER_SECTIONS OVS_CHECK_XENSERVER_VERSION OVS_CHECK_GROFF +OVS_CHECK_PS2PDF OVS_ENABLE_OPTION([-Wall]) OVS_ENABLE_OPTION([-Wno-sign-compare]) diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4 index c59d5d4..0c90d7a 100644 --- a/m4/openvswitch.m4 +++ b/m4/openvswitch.m4 @@ -354,3 +354,15 @@ AC_DEFUN([OVS_CHECK_GROFF], ovs_cv_groff=no fi]) AM_CONDITIONAL([HAVE_GROFF], [test "$ovs_cv_groff" = yes])]) + +dnl Checks for ps2pdf. +AC_DEFUN([OVS_CHECK_PS2PDF], + [AC_CACHE_CHECK( + [for ps2pdf], + [ovs_cv_ps2pdf], + [if (echo quit | ps2pdf - -) >/dev/null 2>&1; then + ovs_cv_ps2pdf=yes + else + ovs_cv_ps2pdf=no + fi]) + AM_CONDITIONAL([HAVE_PS2PDF], [test "$ovs_cv_ps2pdf" = yes])]) -- 1.7.2.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev