NetBSD/gnu/usr.bin/groff/Makefile.inc
lukem 25d2de94fe Document what BROKEN_SPOOLER_FLAGS 'add 16' is for, and add it to the
default broken flags.  groff 1.19 defaulted to this value off, whereas
groff 1.18.1 and earlier defaulted to this being on.  Setting this value
fixes postscript printing to my HP LJ4m.
Note: BROKEN_SPOOLER_FLAGS was previously `7', so we were already enabling
workarounds for other issues...
2004-01-27 01:00:09 +00:00

169 lines
5.4 KiB
Makefile

# $NetBSD: Makefile.inc,v 1.12 2004/01/27 01:00:09 lukem Exp $
# $FreeBSD: src/gnu/usr.bin/groff/Makefile.inc,v 2.7 2003/05/01 13:22:18 ru Exp $
BINDIR?= /usr/bin
ECHO= echo
# Define `page' to be letter if your PostScript printer uses 8.5x11
# paper (USA) and define it to be A4, if it uses A4 paper (rest of the
# world).
PAGE=letter
# Normally the Postscript driver, grops, produces output that conforms
# to version 3.0 of the Adobe Document Structuring Conventions.
# Unfortunately some spoolers and previewers can't handle such output.
# The BROKEN_SPOOLER_FLAGS variable tells grops what it should do to
# make its output acceptable to such programs. This variable controls
# only the default behaviour of grops; the behaviour can be changed at
# runtime by the grops -b option (and so by groff -P-b).
#
# Use a value of 0 if your spoolers and previewers are able to handle
# conforming PostScript correctly.
#
# Add 1 if no %%{Begin,End}DocumentSetup comments should be generated;
# this is needed for early versions of TranScript that get confused by
# anything between the %%EndProlog line and the first %%Page: comment.
#
# Add 2 if lines in included files beginning with %! should be
# stripped out; this is needed for the OpenWindows 2.0 pageview previewer.
#
# Add 4 if %%Page, %%Trailer and %%EndProlog comments should be
# stripped out of included files; this is needed for spoolers that
# don't understand the %%{Begin,End}Document comments. I suspect this
# includes early versions of TranScript.
#
# Add 8 if the first line of the PostScript output should be %!PS-Adobe-2.0
# rather than %!PS-Adobe-3.0; this is needed when using Sun's Newsprint
# with a printer that requires page reversal.
#
# Add 16 if no media size information should be used in the document
# (don't use %%DocumentMedia and don't use the set-pagedevice PostScript
# command). This was the default in groff 1.18.1 and earlier and is needed
# for older printers which don't understand PostScript LanguageLevel 2.
#
BROKEN_SPOOLER_FLAGS=23
# DEVICE is the default device.
DEVICE=ps
# PSPRINT is the command to use for printing a PostScript file,
# for example `lpr'.
PSPRINT=lpr
# DVIPRINT is the command to use for printing a TeX dvi file,
# for example `lpr -d'.
DVIPRINT=lpr -d
########################################################################
# Don't touch...
g=
tmac_s_prefix=
tmac_m_prefix=
tmac_an_prefix=
fontdir=/usr/share/groff_font
localfontdir=$(fontdir)
legacyfontdir=$(fontdir)
tmacdir=/usr/share/tmac
systemtmacdir=/usr/share/tmac
localtmacdir=/usr/share/tmac
docdir=/usr/src/contrib/groff/doc
exampledir=XXX
htmldocdir=XXX
indexext=.i
common_words_file=/usr/share/dict/eign
indexdir=/usr/share/dict/papers
indexname=Ind
########################################################################
# Libraries
.include <bsd.own.mk>
.ifndef LIBGROFF
LIBGROFFDIR!=cd ${NETBSDSRCDIR}/gnu/usr.bin/groff/src/libs/libgroff && ${PRINTOBJDIR}
LIBDRIVERDIR!=cd ${NETBSDSRCDIR}/gnu/usr.bin/groff/src/libs/libdriver && ${PRINTOBJDIR}
LIBBIBDIR!=cd ${NETBSDSRCDIR}/gnu/usr.bin/groff/src/libs/libbib && ${PRINTOBJDIR}
LIBGROFF= ${LIBGROFFDIR}/libgroff.a
LIBDRIVER= ${LIBDRIVERDIR}/libdriver.a
LIBBIB= ${LIBBIBDIR}/libbib.a
.endif
CFLAGS+= -DHAVE_CONFIG_H
CFLAGS+= -I${GROFF_DIST}/src/include -I${NETBSDSRCDIR}/gnu/usr.bin/groff/src/include
CXXFLAGS+= -fno-rtti -fno-exceptions
# If we're using GCC3, we only need -lsupc++
.if ${HAVE_GCC3} == "yes"
USE_LIBSTDCXX= no
.endif
.ifdef GROFFYSRCS
YFLAGS+= -d
SRCS+= ${GROFFYSRCS:.y=.cpp}
DPSRCS+= ${GROFFYSRCS:.y=.cpp}
CLEANFILES+= ${GROFFYSRCS:.y=.cpp} ${GROFFYSRCS:.y=_tab.h}
.endif
.y.cpp:
${_MKTARGET_YACC}
${YACC.y} -o ${.TARGET} ${.IMPSRC}
mv -f ${.PREFIX}.h ${.PREFIX}_tab.h
.SUFFIXES: .man .1 .2 .3 .4 .5 .6 .7 .8
version=`cat $(GROFF_DIST)/VERSION`
revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(GROFF_DIST)/REVISION`
.man.8 .man.7 .man.6 .man.5 .man.4 .man.3 .man.2 .man.1:
${_MKTARGET_CREATE}
rm -f $@
sed -e "s;@BINDIR@;${BINDIR};g" \
-e "s;@FONTDIR@;$(fontdir);g" \
-e "s;@LOCALFONTDIR@;$(localfontdir);g" \
-e "s;@LEGACYFONTDIR@;$(legacyfontdir);g" \
-e "s;@MACRODIR@;$(tmacdir);g" \
-e "s;@SYSTEMMACRODIR@;$(systemtmacdir);g" \
-e "s;@LOCALMACRODIR@;$(localtmacdir);g" \
-e "s;@DOCDIR@;$(docdir);g" \
-e "s;@EXAMPLEDIR@;$(exampledir);g" \
-e "s;@HTMLDOCDIR@;$(htmldocdir);g" \
-e "s;@DEVICE@;$(DEVICE);g" \
-e "s;@DEFAULT_INDEX@;$(indexdir)/$(indexname);g" \
-e "s;@DEFAULT_INDEX_NAME@;$(indexname);g" \
-e "s;@INDEX_SUFFIX@;$(indexext);g" \
-e "s;@COMMON_WORDS_FILE@;$(common_words_file);g" \
-e "s;@MAN1EXT@;1;g" \
-e "s;@MAN5EXT@;5;g" \
-e "s;@MAN7EXT@;7;g" \
-e "s;@TMAC_S_PREFIX@;$(tmac_s_prefix);g" \
-e "s;@TMAC_M_PREFIX@;$(tmac_m_prefix);g" \
-e "s;@TMAC_AN_PREFIX@;$(tmac_an_prefix);g" \
-e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \
-e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \
-e "s;@VERSION@;$(version)$(revision);g" \
-e "s;@MDATE@;`${HOST_SH} ${GROFF_DIST}/mdate.sh $<`;g" \
-e "s;@g@;$(g);g" \
-e "s;@G@;`echo $(g) | tr [a-z] [A-Z]`;g" \
$< >$@
.SUFFIXES: .sh .pl
.sh .pl:
${_MKTARGET_CREATE}
rm -f $@
sed -e "s|@BINDIR@|${BINDIR}|g" \
-e "s;@FONTDIR@;$(fontdir);g" \
-e "s|@SEP@|:|g" \
-e "s|@VERSION@|$(version)$(revision)|" \
-e "s|@g@|$(g)|g" \
${.IMPSRC} >${.TARGET}
GROFF_DIST= ${NETBSDSRCDIR}/gnu/dist/groff
DIST_SUBDIR?= ${.CURDIR:T}
DIST_DIR= ${GROFF_DIST}/${DIST_SUBDIR}
.PATH: ${DIST_DIR}