/*
 * Imakefile for dvi previewer.
 */

/*
 * NOTE: incorporated changes from sipbsrc/src/xdvi/Imakefile (almost
 * certainly originally from bert).
 *
 * [yandros:97/06/23-13:21:45-EST]	
 *
 *  forced it to reconfigure on every build.. [yoav]
 *  also changed settings for SGIs and NetBSD/linux
 */

/* use gnu gcc */

DESTDIR = /mit/sipb/
BINDIR = bin

#if defined(SGIArchitecture) || defined(HPArchitecture)
CC = cc
#else
CC=/mit/gnu/bin/gcc
#endif
CCOPTIONS=
#if defined(UltrixArchitecture)
LDOPTIONS=-L/mit/x11/`machtype`lib -L/mit/dps/usr/lib
EXTRA_INCLUDES=-I/mit/x11/include -I/mit/dps/usr/include
DEPXLIB = /usr/athena/lib/libXext.a
#else
#if defined(SparcArchitecture)
EXTRA_LDOPTIONS=-L/usr/openwin/lib -R/usr/openwin/lib
EXTRA_INCLUDES=-I/usr/openwin/include/X11
#endif
#endif

#if defined(AIXArchitecture) || defined(SparcArchitecture)
OSDEFS=-DBMLONG -DMSBITFIRST
#else
OSDEFS=-DBMLONG
#endif

#if defined(NetBSDArchitecture) || defined(LinuxArchitecture)
OPTIONDEFS=-DUSE_PK -DUSE_GF -DBUTTONS -DGREY -DBDPI=600 -DPS_GS -DFLAKY_SIGPOLL
DEFAULT_FONT_PATH=.:/usr/lib/tex/fonts//:/usr/athena/lib/tex/fonts//:/afs/sipb.mit.edu/project/tex/share/texmf/ath-fonts//
DEFAULT_VF_PATH=.:/usr/lib/tex/fonts//:/usr/athena/lib/tex/fonts//:/afs/sipb.mit.edu/project/tex/share/texmf/ath-fonts//
#else
#if defined(SGIArchitecture) || defined(HPArchitecture) 
OPTIONDEFS=-DUSE_PK -DUSE_GF -DBUTTONS -DGREY -DBDPI=600 -DPS_GS
DEFAULT_FONT_PATH=.:/usr/lib/tex/fonts//:/usr/athena/lib/tex/fonts//:/afs/sipb.mit.edu/project/tex/share/texmf/ath-fonts//
DEFAULT_VF_PATH=.:/usr/lib/tex/fonts//:/usr/athena/lib/tex/fonts//:/afs/sipb.mit.edu/project/tex/share/texmf/ath-fonts//
#else
#if defined(AIXArchitecture)
OPTIONDEFS=-DUSE_PK -DUSE_GF -DBUTTONS -DGREY -DBDPI=600 -DPS_GS -DSTREAMSCONN
DEFAULT_FONT_PATH=.:/usr/lib/tex/fonts//:/usr/athena/lib/tex/fonts//:/afs/sipb.mit.edu/project/tex/share/texmf/ath-fonts//
DEFAULT_VF_PATH=.:/usr/lib/tex/fonts//:/usr/athena/lib/tex/fonts//:/afs/sipb.mit.edu/project/tex/share/texmf/ath-fonts//
#else
#if defined(UltrixArchitecture)
OPTIONDEFS=-DUSE_PK -DUSE_GF -DBUTTONS -DGREY -DBDPI=600 -DPS_DPS -DPS_GS -DXtSpecificationRelease=5 -DNeedFunctionPrototypes=0 -DFLAKY_SIGPOLL -DNeedXtPointerDef
DEFAULT_FONT_PATH=.:/usr/lib/tex/fonts//:/usr/athena/lib/tex/fonts//:/afs/sipb.mit.edu/project/tex/share/texmf/ath-fonts//
DEFAULT_VF_PATH=.:/usr/lib/tex/fonts//:/usr/athena/lib/tex/fonts//:/afs/sipb.mit.edu/project/tex/share/texmf/ath-fonts//
#else
OPTIONDEFS=-DUSE_PK -DUSE_GF -DBUTTONS -DGREY -DBDPI=600 -DPS_DPS -DPS_GS
DEFAULT_FONT_PATH=.:/usr/athena/lib/tex/fonts//:/usr/athena/lib/tex/fonts//
DEFAULT_VF_PATH=.:/usr/athena/lib/tex/fonts//:/usr/athena/lib/tex/fonts//
#endif /* Ultrix */
#endif /* AIX */
#endif /* SGI | HP */
#endif /* linux | netbsd */

DEFAULT_FIG_PATH=.:/mit/sipb/share/tex/fig/
DEFAULT_HEADER_PATH=.:/mit/sipb/share/tex/header/
/* a mix of 300dpi and 600dpi, to deal with non-upgraded fonts */
DEFAULT_FONT_SIZES=\
	300:328.6:360:432:518.4:600:622:657.2:720:746.4:864:1036.8:1244:1492.8

LOCAL_LIBRARIES_TOOL=$(VARLIBS) XawClientLibs
DEPLIBS_TOOL=$(VARDEPLIBS) XawClientDepLibs
LINTLIBS_TOOL=$(VARLINT) $(LINTXAW) $(LINTXMU) $(LINTXTOOL) \
  $(LINTEXTENSIONLIB) $(LINTXLIB) -lm


/* You may need to uncomment this for Solaris 2.x */
/* LOCAL_LDFLAGS=-R$(USRLIBDIR) */

LOCAL_LIBRARIES_TOOL=$(VARLIBS) XawClientLibs
DEPLIBS_TOOL=$(VARDEPLIBS) XawClientDepLibs
LINTLIBS_TOOL=$(VARLINT) $(LINTXAW) $(LINTXMU) $(LINTXTOOL) \
  $(LINTEXTENSIONLIB) $(LINTXLIB) -lm

LOCAL_LIBRARIES_NOT=$(VARLIBS) $(XLIB)
DEPLIBS_NOT=$(VARDEPLIBS) $(DEPXLIB)
LINTLIBS_NOT=$(VARLINT) $(LINTXLIB) -lm

MATHLIB=-lm
SYS_LIBRARIES=$(MATHLIB)

DEFS=$(OSDEFS) $(OPTIONDEFS)
DEFINES=$(DEFS) -DDEFAULT_TEXMF_PATH=\"$(DEFAULT_TEXMF_PATH)\" \
  -DDEFAULT_FONT_SIZES=\"$(DEFAULT_FONT_SIZES)\" \
  -DDEFAULT_FONT_PATH=\"$(DEFAULT_FONT_PATH)\" \
  -DDEFAULT_VF_PATH=\"$(DEFAULT_VF_PATH)\" \
  -DDEFAULT_FIG_PATH=\"$(DEFAULT_FIG_PATH)\" \
  -DDEFAULT_HEADER_PATH=\"$(DEFAULT_HEADER_PATH)\"

/*
 * No changes beyond this point should be necessary.
 */

/* Sizes for magstephalf and magsteps 0..5. */
SIZES72=72:79:86:104:124:149:179
SIZES85=85:93:102:122:147:176:212
SIZES118=118:129:142:170:204:245
SIZES300=300:329:360:432:518:622:746
SIZES400=400:438:480:576:691:829:995
SIZES600=600:657:720:864:1037:1244:1493

default: config xdvi

config:
	./mkconfig imake $(DEFS)

Makefile.cfg: Imakefile mkconfig
	./mkconfig imake $(DEFS)

include Makefile.cfg

SRCS=xdvi.c events.c dvi_init.c dvi_draw.c special.c font_open.c filefind.c \
  vf.c util.c $(VARSRCS)
OBJS=xdvi.o events.o dvi_init.o dvi_draw.o special.o font_open.o filefind.o \
  vf.o util.o $(VAROBJS)

ComplexProgramTarget(xdvi)

psheader.c:	psheader.txt squeeze
	./squeeze psheader.txt psheader.c

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

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

uninstall:
	$(RM) $(DESTDIR)$(BINDIR)/xdvi $(DESTDIR)$(MANDIR)/xdvi.$(MANSUFFIX)

clean::
	$(RM) xdvi.man sedscript psheader.c squeeze

mostlyclean:
	$(RM) *.o xdvi xdvi.man core sedscript *~

distclean: clean
	$(RM) Makefile.cfg

veryclean: distclean
	$(RM) TAGS

realclean: distclean
	$(RM) TAGS
