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