[ovs-dev] [PATCH v2] docs: Make 'pdf' and 'install-pdf' targets build and install PDF manpages.

Ben Pfaff blp at nicira.com
Thu Jan 12 20:48:13 UTC 2012


Argh, this breaks "make install".

I'll work on a v3.

On Thu, Jan 12, 2012 at 10:25:11AM -0800, Romain Lenglet wrote:
> Thanks, it looks good!
> 
> On Thu, 12 Jan 2012 10:01:39 -0800, Ben Pfaff <blp at 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 <rlenglet at nicira.com>
> > Reported-by: Alan Shieh <ashieh at 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           ucko at debian.org
> >  Aaron Rosen             arosen at clemson.edu
> >  Ahmed Bilal             numan252 at gmail.com
> > +Alan Shieh              ashieh at nicira.com
> >  Alban Browaeys          prahal at yahoo.com
> >  Alex Yip                alex at nicira.com
> >  Alexey I. Froloff       raorn at 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



More information about the dev mailing list