151 lines
4.4 KiB
Makefile
151 lines
4.4 KiB
Makefile
# Copyright (C) 2002, 2003, 2004, 2005 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 2, 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 groff; see the file COPYING. If not, write to the Free Software
|
|
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
|
# 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!)
|
|
# FIXME: Add autoconf test to check whether makeinfo exists.
|
|
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/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=GROFF_COMMAND_PREFIX=''; \
|
|
export GROFF_COMMAND_PREFIX; \
|
|
GROFF_BIN_PATH=$(GROFF_BIN_PATH); \
|
|
export GROFF_BIN_PATH; \
|
|
sed -e "s;@VERSION@;$(version)$(revision);" $< \
|
|
| $(GROFFBIN) $(TFLAG) $(FFLAG) -Upet -ww
|
|
|
|
imagedir=img
|
|
|
|
.SUFFIXES: .me .ms .ps .html .txt .texinfo .dvi .pdf
|
|
.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.dvi:
|
|
$(TEXI2DVI) -e $<
|
|
.texinfo.pdf:
|
|
$(TEXI2DVI) -e --pdf $<
|
|
.texinfo.html:
|
|
$(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: groff.texinfo
|
|
$(MAKEINFO) --enable-encoding -I$(srcdir) $(srcdir)/groff.texinfo
|
|
|
|
gnu.eps: gnu.xpm
|
|
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | $(pnmtops) -noturn >$@
|
|
gnu.png: gnu.xpm
|
|
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
|
|
|
|
pic.html: pic.ms
|
|
$(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
|
|
-P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
|
|
-Thtml -ms >$@
|
|
|
|
webpage.html: webpage.ms gnu.png gnu.eps groff.css
|
|
webpage.ps: gnu.eps
|
|
|
|
grnexmpl.ps: grnexmpl.me grnexmpl.g
|
|
|
|
|
|
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
|
|
-rm -rf img
|
|
|
|
distclean: clean
|
|
|
|
realclean: distclean
|
|
-rm -f *.png *.eps
|
|
|
|
extraclean: distclean
|
|
-rm -f core *~ \#* junk temp grot
|