# The following file and directory specifications may need changing at
# your site:
#
# where dvi2ps is installed
BINAREA=/usr/local/bin
#
# directory for dvi2ps: where the auxiliary files are installed
DVI2LIB=/usr/local/lib/dvi2ps
#
# name of default fontdesc file in your site
FONTDESC=fontdesc
#
DVI2PATH=.:${DVI2LIB}
#
# default paper type.
# (Letter, Legal, Tabloid, B4, B5, A5, A4, A3)
PAPERTYPE=A4
#
# default print area.
# If your printer does not have enough memory, change this variable to FALSE.
# (e.g. LaserWriter Plus)
LARGEAREA=TRUE
#
# default page order.
# If your printer's output is face up, change this variable to TRUE.
# (e.g. LaserWriter Plus)
PAGEREVERSE=FALSE
#
# resolution of the printer (dpi)
RESOLUTION=300
#
# top margin and left margin (unit 1/72 inch)
TOPMARGIN=72
LEFTMARGIN=72

#
CC=cc
#
CFLAGS = -O
#CFLAGS = -O		# SUN etc ...
#CFLAGS = -O -traditional -DPOSIX	# 386bsd (gcc 1.X)
#CFLAGS = -O -DPOSIX	# NetBSD (gcc 2.X), Linux
#CFLAGS = -O -bsd	# NeXT
#CFLAGS = -O -DMSDOS -DPOSIX	# DJGCC (gcc 2.X)
#CFLAGS = -O -DSYSV	# SysV

CNFCFLAGS = ${CFLAGS} -DDVI2PATH=\"${DVI2PATH}\" \
	    -DDVI2LIB=\"${DVI2LIB}\" -DFONTDESC=\"//${FONTDESC}\" \
	    -DRESOLUTION=${RESOLUTION} -DPAGEREVERSE=${PAGEREVERSE}
DEVCFLAGS = ${CFLAGS} -DPAPERTYPE=${PAPERTYPE} -DLARGEAREA=${LARGEAREA}

FILES = README doc Makefile dvi2.psdoc lib-dist tools \
	defs.h global.h commands.h set.h dconv.h \
	virfont.h pkfont.h gffont.h pxlfont.h jxl4font.h \
	rastfont.h bifont.h \
	jsub.h emit.h \
	ps.h \
	dvi2.c dviconv.c dfdcom.c fontcom.c rfset.c vfset.c \
	dconv.c run.c mag.c fontdesc.c scanfont.c \
	virfont.c vfdcom.c \
	pkfont.c gffont.c pxlfont.c jxl4font.c jxl4.c \
	rastfont.c \
	bifont.c \
	kanji.c open.c io.c util.c \
	version.c \
	ps.c psspecial.c psrast.c psjxl4.c psbi.c psio.c

DVI2OBJS = dvi2.o dviconv.o dfdcom.o fontcom.o rfset.o vfset.o \
	dconv.o run.o mag.o fontdesc.o scanfont.o \
	virfont.o vfdcom.o \
	pkfont.o gffont.o pxlfont.o jxl4font.o jxl4.o \
	rastfont.o \
	bifont.o \
	kanji.o open.o io.o util.o \
	version.o
PSOBJS = ps.o psspecial.o psrast.o psjxl4.o psbi.o psio.o

all: dvi2ps lib/dvi2.ps

dvi2ps: ${DVI2OBJS} ${PSOBJS}
	${CC} -o $@ ${DVI2OBJS} ${PSOBJS} -lm
dvi2.o: Makefile
	${CC} ${CNFCFLAGS} -c dvi2.c
ps.o: Makefile
	${CC} ${DEVCFLAGS} -c ps.c

newlib: lib/dvi2.ps
	cp -pr lib-dist/* lib

install: install-dvi2ps install-header

install-dvi2ps: dvi2ps
	install -c -s -m 755 dvi2ps ${BINAREA}/dvi2ps

install-header: lib/dvi2.ps
	-mkdir ${DVI2LIB}
	cp -p lib/dvi2.ps ${DVI2LIB}
	chmod a+r ${DVI2LIB}/dvi2.ps

install-lib: lib/dvi2.ps
	-mkdir ${DVI2LIB}
	cp -pr lib/* ${DVI2LIB}
	chmod -R a+r ${DVI2LIB}

lib/dvi2.ps: dvi2.psdoc
	-mkdir lib
	./tools/psstrip < dvi2.psdoc | \
	sed -e s/'##XCOORD##'/${LEFTMARGIN}/ -e s/'##YCOORD##'/${TOPMARGIN}/ \
		> lib/dvi2.ps

install-lprdvi:
	sed -e s,'%%BINAREA%%',${BINAREA}, \
	    -e s,'%%FONTDESC%%',${FONTDESC}, \
	    -e s,'%%LEFTMARGIN%%',${LEFTMARGIN}, \
	    -e s,'%%TOPMARGIN%%',${TOPMARGIN}, \
		tools/lprdvi.templ > ${BINAREA}/lprdvi
	chmod 755 ${BINAREA}/lprdvi

clean:	
	rm -f dvi2ps *.o *.orig core

lint:
	lint *.c

dist:
	tar cf - ${FILES} | gzip > dvi2ps.tar.gz


dvi2.o: dconv.h defs.h
dviconv.o: dconv.h defs.h set.h
dfdcom.o: dconv.h defs.h
fontcom.o: defs.h
rfset.o: defs.h
vfset.o: defs.h
dconv.o : dconv.h
run.o: defs.h
mag.o: defs.h
fontdesc.o: defs.h
scanfont.o: dconv.h defs.h set.h
virfont.o: defs.h set.h virfont.h
vfdcom.o: dconv.h defs.h
pkfont.o: defs.h rastfont.h pkfont.h
gffont.o: defs.h rastfont.h gffont.h
pxlfont.o: defs.h rastfont.h pxlfont.h
jxl4font.o: defs.h rastfont.h jxl4font.h
rastfont.o: defs.h rastfont.h
bifont.o: defs.h bifont.h jsub.h
kanji.o: defs.h jsub.h
open.o: defs.h
io.o: defs.h

ps.o: defs.h emit.h ps.h
psspecial.o: defs.h emit.h
psrast.o: defs.h emit.h rastfont.h ps.h
psjxl4.o: defs.h rastfont.h ps.h
psbi.o: defs.h emit.h bifont.h ps.h
psio.o: defs.h emit.h
