#
# Makefile for dvi previewer.
#
# $Header: Makefile,v 1.2 87/05/14 14:05:34 eichin Locked $
# $Source: /u1/uus/vs2/xdvi/RCS/Makefile,v $
#
LOCALBIN=/usr/local/bin
TEXLIB=/usr/local/lib/tex
TEXFONTS=$(TEXLIB)/fonts
#
DEFAULT_FONT_PATH=.:$(TEXFONTS)/pk:$(TEXFONTS)/jfms
DEFAULT_VF_PATH=.:$(TEXFONTS)/vf
DEFAULT_SUBDIR_PATH=
SIZES_82=65.6:73.8:82:89.8:98.4:118.0:141.6:170.0:204.0:244.8:293.8:352.5
SIZES_87=69.6:78.3:87:95.3:104.4:125.2:150.3:180.4:216.4:259.7:311.7:374.0
SIZES_118=94.4:106.2:118:129.2:141.6:169.9:203.9:244.6:293.6:352.3:422.8:507.3
SIZES_160=128:144:160:175.2:192:230.4:276.4:331.7:398.1:477.7:573.3:687.9
SIZES_180=144:162:180:197.1:216:259.2:311.0:373.2:447.8:537.4:644.9:773.9
SIZES_240=192:216:240:262.9:288:345.6:414.7:497.6:597.1:716.6:859.9:1031.9
SIZES_300=240:270:300:328.6:360:432.0:518.4:622.0:746.4:895.7:1074.9:1289.9
SIZES_320=256:288:320:350.5:384:460.8:552.9:663.5:796.2:955.5:1146.6:1375.9
SIZES_360=288:324:360:394.3:432:518.4:622.0:746.4:895.7:1074.9:1289.9:1547.9
SIZES_400=320:360:400:438.1:480:576.0:691.2:829.4:995.3:1194.3:1433.2:1719.9
DEFAULT_FONT_SIZES=$(SIZES_300)
MAKEPK_BINDIR=$(LOCALBIN)
MAKEPK_DESTDIR=$(TEXFONTS)/pk
MAKEPK_DEFS=-DMAKEPK \
            -DMAKEPKCMD=\"$(MAKEPK_BINDIR)/MakeTeXPK\"
SELFILE_DEFS=-DSELFILE
KANJI_DEFS=-DKANJI #-DASCIIDNP
DEFAULT_FONTCONFDIR=$(TEXFONTS)/zeit
DEFAULT_FONTCONF=$(DEFAULT_FONTCONFDIR)/FontConf
ZEIT_DEFS=-DUSE_ZEIT -DNTTZEIT -DDEFAULT_FONTCONF=\"$(DEFAULT_FONTCONF)\"
GHOSTSCRIPT_BINDIR=$(LOCALBIN)
DEFAULT_PS_PATH=.:$(TEXLIB)/ps
PS_DEFS=-DPS -USIGNALRETURNSINT -DGHOSTSCRIPT=\"$(GHOSTSCRIPT_BINDIR)/gs\" \
        -DPS_HEADER -DDEFAULT_PS_PATH=\"$(DEFAULT_PS_PATH)\" \
        -DPS_LITERAL \
        -DEPSBOX -DDVIPS -DJDVI2KPS -DPSFRAG
DEFS=-DBDPI=300 -DDEFAULT_SHRINK=\"4\" -DA4 -DVI_KEY \
     -DX10 \
     -DUSE_PK -DUSE_GF -DUSE_PXL -UTEXXET \
     -DSEARCH_SUBDIRECTORIES -UXDVIFONTS_ONLY \
     $(SELFILE_DEFS) $(KANJI_DEFS) $(ZEIT_DEFS) $(PS_DEFS)
FONTDEFINES=-DDEFAULT_FONT_PATH=\"$(DEFAULT_FONT_PATH)\" \
  -DDEFAULT_VF_PATH=\"$(DEFAULT_VF_PATH)\" \
  -DDEFAULT_FONT_SIZES=\"$(DEFAULT_FONT_SIZES)\" \
  -DDEFAULT_SUBDIR_PATH=\"$(DEFAULT_SUBDIR_PATH)\"
DEBUG=-g #-O
TOP=/usr
INCDIR=$(TOP)/include
LIBDIR=$(TOP)/lib
DESTDIR=$(TOP)
BINDIR=$(DESTDIR)/bin
MANDIR=$(DESTDIR)/man
INCLUDES=-I$(INCDIR)
CFLAGS=$(DEBUG) $(INCLUDES) $(DEFS)
VFLIB=VFlib-1.32/VFlib.a
LIBS=$(VFLIB) -L$(LIBDIR) -lX -lm
SELFILE_SRCS=Dir.c Draw.c Path.c SelFile.c
SELFILE_OBJS=Dir.o Draw.o Path.o SelFile.o
PS_SRCS=ps.c gs-view.c
PS_OBJS=ps.o gs-view.o
SRCS=xdvi.c dvi_init.c dvi_draw.c fontfmts.c vf.c util.c font_open.c tpic.c \
     $(SELFILE_SRCS) $(PS_SRCS)
OBJS=xdvi.o dvi_init.o dvi_draw.o fontfmts.o vf.o util.o font_open.o tpic.o \
     $(SELFILE_OBJS) $(PS_OBJS)
CC=gcc
LINT=lint
# LINT=$(CC) -c -Wall -Wshadow -Wpointer-arith
# also maybe -Wcast-qual -Wwrite-strings
RM=rm -f

.c.o:
	$(CC) -c $(CFLAGS) $*.c

xdvi:	$(OBJS) $(VFLIB)
	$(CC) $(CFLAGS) -o xdvi $(OBJS) $(LIBS)
	chmod go+rx xdvi

xdvi.o: xdvi.h patchlevel.h xdvi_curs.h xdvi_mask.h
dvi_init.o:xdvi.h dvi.h
dvi_draw.o:xdvi.h dvi.h
tpic.o:	xdvi.h
fontfmts.o: xdvi.h pk.c gf.c pxl.c
fontfmts.o: zeit.c dnpzeit.c
util.o:	xdvi.h
ps.o: gs-view.h xdvi.h
gs-view.o: gs-view.h xdvi.h

font_open.o:	font_open.c xdvi.h
	$(CC) -c $(CFLAGS) $(FONTDEFINES) font_open.c

$(VFLIB):
	cd VFlib-1.32; make

xdvi.man: xdvi_man.sed mksedscript
	chmod u+x mksedscript
	./mksedscript $(DEFAULT_FONT_PATH) $(DEFAULT_FONT_SIZES) \
		""$(DEFAULT_VF_PATH) $(DEFS) > sedscript
	sed -f sedscript < xdvi_man.sed > xdvi.man

MakeTeXPK: FRC MakeTeXPK.sed
	sed <MakeTeXPK.sed >MakeTeXPK \
		-e 's;%%MAKEPK_DESTDIR%%;$(MAKEPK_DESTDIR);g' \
		-e 's;%%DEFAULT_FONT_PATH%%;$(DEFAULT_FONT_PATH);g' \
		-e 's;%%MKDIR%%;$(MKDIRHIER);g'
	chmod a+x MakeTeXPK

install: xdvi xdvi.man
	install -c -s -m 755 xdvi $(BINDIR)
	install -c -m 644 xdvi.man $(MANDIR)/man1/xdvi.1
	install -c -m 644 VFlib-1.32/FontConf $(DEFAULT_FONTCONFDIR)/FontConf

install.MakeTeXPK: MakeTeXPK
	install -c -m 644 MakeTeXPK $(MAKEPK_BINDIR)/MakeTeXPK

clean:
	$(RM) *.o *.BAK *.CKP sedscript xdvi.man xdvi a.out core errs *~

lint:
	$(LINT) $(INCLUDES) $(DEFS) $(FONTDEFINES) $(SRCS) -lm

FRC:
