# The following file and directory specifications may need changing at
# your site:
#
# BINAREA and DVI2LIB are relative to PREFIX
PREFIX=c:/usr/local
# where dvi2ps is installed
BINAREA=${PREFIX}/bin
#
# directory for dvi2ps: where the auxiliary files are installed
DVI2LIB=${PREFIX}/lib/dvi2ps
#
# directory for man and doc
MANAREA=${PREFIX}/man
JMANAREA=${PREFIX}/man/ja
DOCAREA=${PREFIX}/doc/dvi2ps
#
# optional: where lprdvi.conf is installed
ETCAREA=${PREFIX}/etc
#
# name of default fontdesc file in your site
FONTDESC=fontdesc
#
DVI2PATH=.
#
# 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 and mode of the printer (dpi)
RESOLUTION=600
MFMODE=canonex
#
# top margin and left margin (unit 1/72 inch)
TOPMARGIN=72
LEFTMARGIN=72
#
# optional font formats: FreeType and VFlib
FONTF = -DFREETYPE -DVFLIB
# FREETYPE -- FTLIB, FTINC
# VFLIB    -- FTLIB, FTINC, VFLIB, VFLIBINC
FTLIBOLD = ../../libs/freetype15/lib/libttf.lib
FTLIB = ../../libs/freetype/objs/freetype.lib
FTINC = -I../../libs/freetype/include -I../../libs/freetype/include/freetype
VFLIB = ../VFlib2-2.25.6/src/libVFlib.lib $(FTLIBOLD)
VFLIBINC = -I../VFlib2-2.25.6/src

# kpathsea
KPSELIB = ../kpathsea/kpathsealib.lib
KPSEINC = -DKPATHSEA=1 -I.. -I../kpathsea

FONTLIB = ${VFLIB} ${FTLIB}
#FONTLIB = ${VFLIB} ${FTLIB} -R${PREFIX}/lib
#FONTLIB = ${VFLIB} ${FTLIB} -Wl,-rpath,${PREFIX}/lib

#
CC=cl
#
YDEFS = -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE \
-D_CRT_OBSOLETE_NO_DEPRECATE -D_SECURE_SCL=0 -wd4819

CCFLAGS = -nologo -O2 -MD -DWIN32=1 -DSYSV -DHAVE_PROTOTYPES $(YDEFS)
#CCFLAGS = -g -O -DPOSIX
#CCFLAGS = -O -DPOSIX	# NetBSD FreeBSD Linux (gcc 2.X)
#CCFLAGS = -O -DMSDOS -DPOSIX	# DJGCC (gcc 2.X)
#CCFLAGS = -O -DANSI -DPOSIX -DSYSV -DSYSVIO	# SunOS 5.X (SUNWspro/bin/cc)
#CCFLAGS = -O -DSYSVIO		# SunOS 5.X (/usr/ucb/cc -- not recommended)
#CCFLAGS = -O -DSYSV -DSYSVIO	# SysV systems

# BSD-type install assumed
INSTALL=cp -p

# You don't have to change the definition variables in the folllowing.
#
CFLAGS = ${CCFLAGS} ${FONTF} ${KPSEINC}
CNFCFLAGS = ${CFLAGS}
DEVCFLAGS = ${CFLAGS} -DPAPERTYPE=${PAPERTYPE} -DLARGEAREA=${LARGEAREA}

FILES = README COPYRIGHT man doc Makefile \
	dvi2.psdoc special.psdoc psifont.psdoc color.psdoc lib-dist cconv \
	defs.h xxstdio.h global.h commands.h set.h dconv.h \
	virfont.h pkfont.h gffont.h rastfont.h \
	bifont.h freetype.h funcfont.h \
	jsub.h emit.h \
	ps.h \
	ptexmac.h dvips.h cscommands.h \
	dvi2.c dviconv.c dfdcom.c fontcom.c set.c rfset.c vfset.c \
	dconv.c run.c mag.c fontdesc.c scanfont.c \
	virfont.c vfdcom.c \
	pkfont.c gffont.c rastfont.c \
	bifont.c type1font.c wlfont.c ttfont.c vflfont.c mmfont.c \
	compfont.c decompfont.c execfont.c \
	funcfont.c \
	kpse.c kanji.c open.c io.c util.c \
	xxstdio.c \
	version.c \
	ps.c psrast.c \
	psbi.c pstfm.c pstype1.c pswl.c pstt.c pstt2t1.c psvfl.c \
	pst1form.c writet1.c \
	psspecial.c pscolor.c psifont.c psio.c \
	tools

DVI2OBJS = dvi2.obj dviconv.obj dfdcom.obj fontcom.obj \
	set.obj rfset.obj vfset.obj \
	dconv.obj run.obj mag.obj fontdesc.obj scanfont.obj \
	virfont.obj vfdcom.obj \
	pkfont.obj gffont.obj rastfont.obj \
	bifont.obj type1font.obj wlfont.obj ttfont.obj vflfont.obj mmfont.obj \
	compfont.obj decompfont.obj execfont.obj \
	funcfont.obj \
	kpse.obj kanji.obj open.obj io.obj util.obj \
	xxstdio.obj \
	version.obj
PSOBJS = ps.obj psrast.obj \
	psbi.obj pstfm.obj pstype1.obj pswl.obj pstt.obj pstt2t1.obj psvfl.obj \
	pst1form.obj writet1.obj \
	psspecial.obj pscolor.obj psifont.obj psio.obj

DVI2HEADERS = ${DVI2LIB}/headers
HDR = lib/headers
PSHEADERS = ${HDR}/dvi2.ps ${HDR}/special.ps ${HDR}/psifont.ps ${HDR}/color.ps

all: dvi2ps.exe newlib

dvi2ps.exe: ${DVI2OBJS} ${PSOBJS} ${KPSELIB}
	${CC} -Fe$@ ${DVI2OBJS} ${PSOBJS} setargv.obj ${FONTLIB} ${KPSELIB}
dvi2.obj: Makefile dvi2.c
	${CC} ${CNFCFLAGS} -c dvi2.c
ps.obj: Makefile
	${CC} ${DEVCFLAGS} -c ps.c
# files that depend on ${FONTF}
ttfont.obj: Makefile
	${CC} ${FTINC} ${CFLAGS} -c ttfont.c
pstt.obj: Makefile
	${CC} ${FTINC} ${CFLAGS} -c pstt.c
pstt2t1.obj: Makefile
	${CC} ${FTINC} ${CFLAGS} -c pstt2t1.c
vflfont.obj: Makefile
psvfl.obj: Makefile
	${CC} ${VFLIBINC} ${CFLAGS} -c psvfl.c

newlib: ${PSHEADERS} lib/dvi2.ps

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


ITEST=install-test
SHARE=/usr/local/share
test-install:
	-mkdir ${ITEST}
	-mkdir ${ITEST}/bin
	-mkdir ${ITEST}/lib
	make PREFIX=${ITEST} install
	rm -f ${ITEST}/share
	ln -s ${ITEST}/share ${SHARE}
test-dvi2ps:
	DVI2PSLIB=${ITEST}/lib/dvi2ps ./${ITEST}/bin/dvi2ps test.dvi > test.ps


install: install-dvi2ps

install-dvi2ps: dvi2ps.exe
	cp -p dvi2ps.exe c:/usr/local/txdir/w32tex/bin/
	cp -p dvi2ps.exe c:/usr/work/edrive/wk/dist/DVI2PS/bin/

install-lib: newlib
	-mkdir ${DVI2LIB}
	-mkdir ${DVI2HEADERS}
	cp -p ${PSHEADERS} ${DVI2HEADERS}
	cp -p lib/dvi2.ps ${DVI2LIB}
	cp -pr lib-dist/* ${DVI2LIB}
	cp -pr cconv ${DVI2LIB}
	chmod -R a+r ${DVI2LIB}

install-testlib:
	if [ -d ${ITEST}/lib/dvi2ps ]; then \
		cp -pr ${ITEST}/lib/dvi2ps/* ${DVI2LIB}; \
	else \
		echo "test directory '${ITEST}/lib/dvi2ps' not found"; \
	fi

install-man:
	${INSTALL} -m 444 man/div2ps.1 ${MANAREA}/cat1/dvi2ps.1
	${INSTALL} -m 444 man/div2ps.man ${MANAREA}/man1/dvi2ps.1
	${INSTALL} -m 444 man/div2ps.1j ${JMANAREA}/cat1/dvi2ps.1
	${INSTALL} -m 444 man/div2ps.jman ${JMANAREA}/man1/dvi2ps.1

install-doc:
	-mkdir ${DOCAREA}
	${INSTALL} -m 444 doc/* ${DOCAREA}

install-MakePK:
	${INSTALL} -m 755 tools/MakePK ${BINAREA}/MakePK


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

install-lprdvi: lprdvi
	${INSTALL} -m 755 lprdvi ${BINAREA}/lprdvi
	${INSTALL} -m 644 lprdvi.conf ${ETCAREA}


clean:
	rm *.exe *.obj *~


#
dvi2.obj: dconv.h defs.h
dviconv.obj: dconv.h defs.h set.h
dfdcom.obj: dconv.h defs.h
fontcom.obj: defs.h set.h
set.obj: defs.h set.h
rfset.obj: defs.h set.h
vfset.obj: defs.h set.h
dconv.obj : dconv.h
run.obj: defs.h
mag.obj: defs.h
fontdesc.obj: defs.h
scanfont.obj: dconv.h defs.h set.h
virfont.obj: defs.h set.h virfont.h
vfdcom.obj: dconv.h defs.h
pkfont.obj: defs.h rastfont.h pkfont.h
gffont.obj: defs.h rastfont.h gffont.h
rastfont.obj: defs.h rastfont.h
bifont.obj: defs.h bifont.h jsub.h
type1font.obj: defs.h bifont.h
ttfont.obj: defs.h bifont.h ttfont.c
wlfont.obj: defs.h bifont.h
vflfont.obj: defs.h bifont.h Makefile
mmfont.obj: defs.h bifont.h
compfont.obj: defs.h set.h funcfont.h jsub.h
decompfont.obj: defs.h set.h funcfont.h jsub.h
execfont.obj: defs.h
funcfont.obj: defs.h funcfont.h
kpse.obj: defs.h
kanji.obj: defs.h jsub.h
open.obj: defs.h
io.obj: defs.h
#util.obj: defs.h
xxstdio.obj: defs.h xxstdio.h

ps.obj: defs.h emit.h ps.h ps.c
psspecial.obj: defs.h emit.h
psrast.obj: defs.h emit.h rastfont.h ps.h
psbi.obj: defs.h emit.h bifont.h ps.h
pstfm.obj: defs.h emit.h bifont.h ps.h
pstype1.obj: defs.h
pswl.obj: defs.h emit.h bifont.h ps.h
pstt.obj: defs.h emit.h bifont.h ps.h
pstt2t1.obj: defs.h emit.h
psvfl.obj: defs.h emit.h bifont.h ps.h
pst1form.obj: defs.h emit.h
writet1.obj: ptexmac.h dvips.h
psifont.obj: defs.h emit.h ps.h
psio.obj: defs.h emit.h ps.h
