Thanks, it looks good!

On Thu, 12 Jan 2012 10:01:39 -0800, Ben Pfaff <b...@nicira.com> wrote:
> 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)

The "pdf" target has a local hook too, so I'd use "pdf-local:" instead of
"pdf:":

pdf-local: $(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])])

-- 
Romain Lenglet
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to