summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/groff/Makefile.cfg
blob: 19192ee25ec6cee312bcb8549a8b4cd234b5419b (plain)
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
#	$FreeBSD$

BINDIR?=	/usr/bin
SHELL=		/bin/sh

# 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.
BROKEN_SPOOLER_FLAGS=7

# 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=s
tmac_m=m
device=ps
fontdir=/usr/share/groff_font
fontpath=$(fontdir)
tmacdir=/usr/share/tmac
tmacpath=$(tmacdir)
indexext=.i
common_words_file=/usr/share/dict/eign
indexdir=/usr/share/dict/papers
indexname=Ind

########################################################################
# Libraries

# Bad assumption, if one exists they all exist
.if exists(${.OBJDIR}/../libgroff)
LIBGROFF=	$(.OBJDIR)/../libgroff/libgroff.a
LIBDRIVER=	$(.OBJDIR)/../libdriver/libdriver.a
LIBBIB=		$(.OBJDIR)/../libbib/libbib.a
.else
LIBGROFF=	$(.CURDIR)/../libgroff/libgroff.a
LIBDRIVER=	$(.CURDIR)/../libdriver/libdriver.a
LIBBIB=		$(.CURDIR)/../libbib/libbib.a
.endif

DEFINES=	-DHAVE_UNISTD_H=1\
		-DHAVE_DIRENT_H=1\
		-DHAVE_LIMITS_H=1\
		-DHAVE_SYS_DIR_H=1\
		-DHAVE_STDLIB_H=1\
		-DSTDLIB_H_DECLARES_GETOPT=1\
		-DSTDLIB_H_DECLARES_PUTENV=1\
		-DSTDIO_H_DECLARES_POPEN=1\
		-DSTDIO_H_DECLARE_PCLOSE=1\
		-DHAVE_CC_OSFCN_H=1\
		-DHAVE_CC_LIMITS_H=1\
		-DRETSIGTYPE=void\
		-DHAVE_STRUCT_EXCEPTION=1\
		-DHAVE_RENAME=1\
		-DHAVE_MKSTEMP=1\
		-DSYS_SIGLIST_DECLARED=1

INCLUDES=	-I$(GROFF_DIST)/include -I$(.CURDIR)/include

CFLAGS+=$(DEFINES) $(INCLUDES)

.y.o:
	$(YACC) $(YFLAGS) $(.IMPSRC)
	mv -f y.tab.c $(.PREFIX).cc
	mv -f y.tab.h $(.PREFIX).tab.h
	${CXX} ${CXXFLAGS} -c $(.PREFIX).cc -o ${.TARGET}

.y.cc:
	$(YACC) $(YFLAGS) $(.IMPSRC)
	mv -f y.tab.c $(.PREFIX).cc
	mv -f y.tab.h $(.PREFIX).tab.h

.SUFFIXES: .man .1 .2 .3 .4 .5 .6 .7 .8

#.8.man .7.man .6.man .5.man .4.man .3.man .2.man .1.man:

.man.8 .man.7 .man.6 .man.5 .man.4 .man.3 .man.2 .man.1:
	@${ECHO} Making $@ from $<
	@-rm -f $@
	@sed -e "s;@FONTDIR@;$(fontdir);g" \
	-e "s;@FONTPATH@;$(fontpath);g" \
	-e "s;@MACRODIR@;$(tmacdir);g" \
	-e "s;@MACROPATH@;$(tmacpath);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@;$(tmac_s);g" \
	-e "s;@TMAC_M@;$(tmac_m);g" \
	-e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \
	-e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \
	-e "s;@VERSION@;`cat ${GROFF_DIST}/VERSION`;g" \
	-e "s;@MDATE@;`$(SHELL) ${GROFF_DIST}/mdate.sh $<`;g" \
	-e "s;@g@;$(g);g" \
	-e "s;@G@;`echo $(g) | tr [a-z] [A-Z]`;g" \
	$< >$@

MANSRC=${.OBJDIR}
OpenPOWER on IntegriCloud