1 # Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
2 # Written by Werner Lemberg <wl@gnu.org>
4 # This file is part of groff.
6 # groff is free software; you can redistribute it and/or modify it under
7 # the terms of the GNU General Public License as published by the Free
8 # Software Foundation; either version 2, or (at your option) any later
11 # groff is distributed in the hope that it will be useful, but WITHOUT ANY
12 # WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 # You should have received a copy of the GNU General Public License along
17 # with groff; see the file COPYING. If not, write to the Free Software
18 # Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
21 # Use this file to produce documentation in various formats; e.g. you can
26 # to get the groff texinfo manual as a PDF file.
28 # Note that you have to compile the groff package first.
32 top_srcdir
=@abs_top_srcdir@
34 top_builddir
=@abs_top_builddir@
35 pnmtops
=@pnmtops_nosetpage@
37 # These may be overridden if cross-compiling.
38 TROFFBIN
=$(top_builddir
)/src
/roff
/troff
/troff
39 GROFFBIN
=$(top_builddir
)/src
/roff
/groff
/groff
40 GROFF_BIN_PATH
=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'`
42 # info files are distributed with the groff package, so makeinfo is
43 # usually not needed (however, to build from CVS you NEED it!)
44 # FIXME: Add autoconf test to check whether makeinfo exists.
47 # Users who want to print out the groff manual are expected to have
48 # a working TeX installation.
52 $(top_builddir
)/src
/roff
/groff \
53 $(top_builddir
)/src
/roff
/troff \
54 $(top_builddir
)/src
/preproc
/pic \
55 $(top_builddir
)/src
/preproc
/eqn \
56 $(top_builddir
)/src
/preproc
/tbl \
57 $(top_builddir
)/src
/preproc
/grn \
58 $(top_builddir
)/src
/preproc
/refer \
59 $(top_builddir
)/src
/preproc
/soelim \
60 $(top_builddir
)/src
/preproc
/html \
61 $(top_builddir
)/src
/devices
/grops \
62 $(top_builddir
)/src
/devices
/grodvi \
63 $(top_builddir
)/src
/devices
/grotty \
64 $(top_builddir
)/src
/devices
/grolj4 \
65 $(top_builddir
)/src
/devices
/grolbp \
66 $(top_builddir
)/src
/devices
/grohtml
68 version
=`cat $(top_srcdir)/VERSION`
69 # No additional number if revision is zero.
70 revision
=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
72 FFLAG
=-F
$(top_builddir
)/font
-F
$(top_srcdir
)/font
73 TFLAG
=-M
$(top_builddir
)/tmac
-M
$(top_srcdir
)/tmac
75 TROFF
=$(TROFFBIN
) $(TFLAG
) $(FFLAG
) -ww
76 GROFF
=GROFF_COMMAND_PREFIX
=''; \
77 export GROFF_COMMAND_PREFIX
; \
78 GROFF_BIN_PATH
=$(GROFF_BIN_PATH
); \
79 export GROFF_BIN_PATH
; \
80 sed
-e
"s;@VERSION@;$(version)$(revision);" $< \
81 |
$(GROFFBIN
) $(TFLAG
) $(FFLAG
) -Upet
-ww
85 .SUFFIXES
: .me .ms .ps .html .txt .texinfo .
dvi .pdf
86 .PHONY
: all prepare_examples
clean distclean realclean extraclean
88 # For simplicity, we always call grn and eqn.
90 $(GROFF
) -Tascii
-ge
-me
>$@
92 $(GROFF
) -Tps
-ge
-me
>$@
95 $(GROFF
) -P-p
-P-b
-P-I
`basename $< | sed -e 's|.ms$$||'` \
96 -P-D
$(imagedir
) -Thtml
-ms
>$@
98 $(GROFF
) -Tascii
-ms
-mwww
>$@
100 $(GROFF
) -Tps
-ms
-mwww
>$@
105 $(TEXI2DVI
) -e
--pdf
$<
107 $(MAKEINFO
) --enable-encoding
-I
$(srcdir) --html
--no-split
$< \
108 && $(SHELL
) $(srcdir)/fixinfo.sh
$@
111 all: prepare_examples
113 prepare_examples
: grnexmpl.g groff.css
114 test -f grnexmpl.g || cp
$(srcdir)/grnexmpl.g .
115 test -f groff.css || cp
$(srcdir)/groff.css .
118 $(MAKEINFO
) --enable-encoding
-I
$(srcdir) $(srcdir)/groff.texinfo
121 @echo
"NOT REBUILDING $@"
122 test -f gnu.eps || cp
$(srcdir)/gnu.eps .
123 NetBSD_DISABLED_gnu.eps
:
124 xpmtoppm
$(srcdir)/gnu.xpm | pnmdepth
15 |
$(pnmtops
) -noturn
>$@
126 @echo
"NOT REBUILDING $@"
127 NetBSD_DISABLED_gnu.png
:
128 xpmtoppm
$(srcdir)/gnu.xpm | pnmdepth
15 | pnmtopng
>$@
131 $(GROFF
) -P-p
-P-b
-P-I
`basename $< | sed -e 's|.ms$$||'` \
132 -P-D
$(imagedir
) -P-j
`basename $< | sed -e 's|.ms$$||'` \
135 webpage.html
: webpage.ms gnu.png gnu.eps groff.css
138 grnexmpl.ps
: grnexmpl.me grnexmpl.g
142 -rm -f
*.ps
*.html
*.txt core
143 -rm -f
*.aux
*.
dvi *.pdf
*.log
*.toc texput.log
144 -rm -f
*.cp
*.cps
*.cv
*.cn
*.es
*.ess
*.fn
*.fns
*.ky
*.kys \
145 *.ma
*.mas
*.op
*.ops
*.pg
*.pgs
*.rq
*.rqs
*.st
*.sts \
146 *.tp
*.tps
*.tr
*.vr
*.vrs
154 extraclean
: distclean
155 -rm -f core
*~ \
#* junk temp grot