1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
# Copyright (C) 2002-2007, 2009-2011
# Free Software Foundation, Inc.
# Written by Werner Lemberg <wl@gnu.org>
#
# This file is part of groff.
#
# groff is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Use this file to produce documentation in various formats; e.g. you can
# say
#
# make groff.pdf
#
# to get the groff texinfo manual as a PDF file.
#
# Note that you have to compile the groff package first.
srcdir=@srcdir@
top_srcdir=@abs_top_srcdir@
VPATH=@srcdir@
top_builddir=@abs_top_builddir@
pnmtops=@pnmtops_nosetpage@
# These may be overridden if cross-compiling.
TROFFBIN=$(top_builddir)/src/roff/troff/troff
GROFFBIN=$(top_builddir)/src/roff/groff/groff
GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'`
# info files are distributed with the groff package, so makeinfo is
# usually not needed (however, to build from CVS you NEED it!)
MAKEINFO=@MAKEINFO@
# Users who want to print out the groff manual are expected to have
# a working TeX installation.
TEXI2DVI=texi2dvi
groff_bin_dirs=\
$(top_builddir)/src/roff/groff \
$(top_builddir)/src/roff/troff \
$(top_builddir)/src/preproc/pic \
$(top_builddir)/src/preproc/eqn \
$(top_builddir)/src/preproc/tbl \
$(top_builddir)/src/preproc/grn \
$(top_builddir)/src/preproc/refer \
$(top_builddir)/src/preproc/soelim \
$(top_builddir)/src/preproc/html \
$(top_builddir)/src/devices/grops \
$(top_builddir)/src/devices/gropdf \
$(top_builddir)/src/devices/grodvi \
$(top_builddir)/src/devices/grotty \
$(top_builddir)/src/devices/grolj4 \
$(top_builddir)/src/devices/grolbp \
$(top_builddir)/src/devices/grohtml
version=`cat $(top_srcdir)/VERSION`
# No additional number if revision is zero.
revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
TROFF=$(TROFFBIN) $(TFLAG) $(FFLAG) -ww
GROFF=\
sed -e "s;@VERSION@;$(version)$(revision);" $< \
| GROFF_COMMAND_PREFIX= \
GROFF_BIN_PATH="$(GROFF_BIN_PATH)" \
$(GROFFBIN) $(TFLAG) $(FFLAG) -Upet -ww
imagedir=img
.SUFFIXES: .me .ms .ps .html .txt .texinfo .dvi .pdf .xhtml
.PHONY: all prepare_examples clean distclean realclean extraclean
# For simplicity, we always call grn and eqn.
.me.txt:
$(GROFF) -Tascii -ge -me >$@
.me.ps:
$(GROFF) -Tps -ge -me >$@
.ms.html:
$(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
-P-D$(imagedir) -Thtml -ms >$@
.ms.txt:
$(GROFF) -Tascii -ms -mwww >$@
.ms.ps:
$(GROFF) -Tps -ms -mwww >$@
.texinfo.txt:
LANG= $(MAKEINFO) --enable-encoding -I$(srcdir) --plaintext -o $@ $<
.texinfo.dvi:
MAKEINFO=$(MAKEINFO) $(TEXI2DVI) -e $<
.texinfo.pdf:
MAKEINFO=$(MAKEINFO) $(TEXI2DVI) -e --pdf $<
.texinfo.html:
LANG= $(MAKEINFO) --enable-encoding -I$(srcdir) --html --no-split $< \
&& $(SHELL) $(srcdir)/fixinfo.sh $@
all: prepare_examples
prepare_examples: grnexmpl.g groff.css
test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
test -f groff.css || cp $(srcdir)/groff.css .
groff.info: groff.texinfo
$(MAKEINFO) --enable-encoding -I$(srcdir) $(srcdir)/groff.texinfo
gnu.eps: gnu.xpm
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | $(pnmtops) -noturn >$@
pic.html: pic.ms
$(GROFF) -P-p -P-I`basename $< | sed -e 's|.ms$$||'` \
-P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
-Thtml -ms >$@
webpage.html: webpage.ms gnu.eps groff.css
$(GROFF) -P-j`basename $< | sed -e 's|.ms$$||'` \
-P-nrpb -P-I`basename $< | sed -e 's|.ms$$||'` \
-P-D$(imagedir) -Thtml -ms >$@
webpage.ps: gnu.eps
grnexmpl.ps: grnexmpl.me grnexmpl.g
split-html:
LANG= $(MAKEINFO) --enable-encoding -I$(srcdir) --html groff.texinfo \
&& for f in groff/*; do \
$(SHELL) $(srcdir)/fixinfo.sh $$f; \
done
clean:
-rm -f *.ps *.html *.txt core
-rm -f *.aux *.dvi *.pdf *.log *.toc texput.log
-rm -f *.cp *.cps *.cv *.cn *.es *.ess *.fn *.fns *.ky *.kys \
*.ma *.mas *.op *.ops *.pg *.pgs *.rq *.rqs *.st *.sts \
*.tp *.tps *.tr *.vr *.vrs *.xhtml
-rm -rf img
distclean: clean
realclean: distclean
-rm -f *.png *.eps
extraclean: distclean
-rm -f core *~ \#* junk temp grot
|