# Makefile for dvipsk -- kb@mail.tug.org. Public domain.
version = 5.993

SHELL = sh
MAKE=make
top_srcdir = .
srcdir = .

CC = cl
CFLAGS = -nologo -wd4305 -O2 -MD -DWIN32=1 -W3 \
  -DDOWNLOAD_USING_PDFTEX=1 $(XCFLAGS)
LKDEBUG =

#CFLAGS = -nologo -Od -Zi -MD -QI0f -QIfdiv- -DWIN32=1 \
#  -DDOWNLOAD_USING_PDFTEX=1 $(XCFLAGS)
#LKDEBUG = /DEBUG

YDEFS = -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE \
-D_CRT_OBSOLETE_NO_DEPRECATE -D_SECURE_SCL=0

CPPFLAGS =  $(XCPPFLAGS)
DEFS = -DHAVE_CONFIG_H $(XDEFS) $(YDEFS)
prog_cflags = -DKPATHSEA=1 -DNeedFunctionPrototypes=1 -DSHIFTLOWCHARS=1
ALL_CPPFLAGS = $(DEFS) -I. -I$(srcdir) \
-I$(kpathsea_parent) -I$(kpathsea_srcdir_parent) \
$(prog_cflags) $(CPPFLAGS)
ALL_CFLAGS = $(ALL_CPPFLAGS) $(CFLAGS) -c
compile = $(CC) $(ALL_CFLAGS)

.SUFFIXES:
.SUFFIXES: .c .obj # in case the suffix list has been cleared, e.g., by web2c
.c.obj:
	$(compile) $<

# Creating (symbolic) links.
LN = cp

# We use these for many things.
kpathsea_parent = ..
kpathsea_dir = $(kpathsea_parent)/kpathsea
kpathsea_srcdir_parent = $(top_srcdir)/..
kpathsea_srcdir = $(kpathsea_srcdir_parent)/kpathsea
kpathsea = $(kpathsea_dir)/kpathsealib.lib

LDFLAGS =  $(XLDFLAGS)

# XLOADLIBES is for the installer.
LIBS =
LOADLIBES = $(proglib) $(kpathsea) $(LIBS) $(XLOADLIBES)

# May as well separate linking from compiling, just in case.
CCLD = $(CC)
link_command = $(CCLD) -Fe$@ $(LDFLAGS)

kpathsea_link = $(link_command)

#
#

.SUFFIXES: .pro .lpro
.lpro.pro:
	./squeeze/squeeze <$< >t-$@
	mv t-$@ $@
prologues = tex.pro texps.pro texc.pro special.pro finclude.pro \
            color.pro crop.pro hps.pro

objects = bitmapenc.obj dospecial.obj dviinput.obj emspecial.obj \
           fontdef.obj loadfont.obj  dvips.obj tfmload.obj \
           download.obj prescan.obj scanpage.obj skippage.obj \
           output.obj scalewidth.obj dosection.obj dopage.obj \
           resident.obj search.obj unpack.obj drawPS.obj \
           header.obj repack.obj virtualfont.obj dpicheck.obj \
           finclude.obj writet1.obj pprescan.obj papersiz.obj \
           color.obj bbox.obj hps.obj # isnt.obj

program = dvips.exe
programs = afm2tfm.exe $(program)

default all: $(programs) $(prologues)

$(program): $(kpathsea) $(objects)
	$(kpathsea_link) $(objects) setargv.obj $(LOADLIBES) -link $(LKDEBUG)
afm2tfm.exe: $(kpathsea) afm2tfm.obj
	$(kpathsea_link) afm2tfm.obj setargv.obj $(LOADLIBES)

# Omit LOADLIBES since no need to dynamically link with kpathsea.
squeeze/squeeze.exe: squeeze/squeeze.obj
	$(link_command) squeeze/squeeze.obj

$(prologues): squeeze/squeeze.exe
texc.lpro: texc.script tex.lpro
	$(SHELL) $(srcdir)/texc.script $(srcdir)/tex.lpro $@

# tkpathsea.mk -- target for remaking kpathsea.
makeargs = $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' $(XMAKEARGS)

# This is wrong: the library doesn't depend on kpsewhich.c or
# acconfig.h.  But what to do?
#$(kpathsea): $(kpathsea_srcdir)/*.c $(kpathsea_srcdir)/*.h
#	cd $(kpathsea_dir) && $(MAKE) $(makeargs)
# End of tkpathsea.mk.

BINS=afm2tfm.exe dvips.exe
install: $(BINS)
	cp -p $(BINS) c:/usr/local/txdir/w32tex/bin/
	cp -p $(BINS) c:/usr/work/edrive/wk/dist/DVIPSK/bin/

clean::
	rm -f *.exe *.obj *~
#
# document dvips.pdf
#

doc: dvips.pdf
dvips.pdf: dvips.texi pslit-a.pdf pslit-b.pdf pslit-c.pdf
	texi2dvi --pdf --verbose dvips.texi
pslit-a.pdf: pslit-a.eps
	epstopdf --outfile=$@ $<
pslit-b.pdf: pslit-b.eps
	epstopdf --outfile=$@ $<
pslit-c.pdf: pslit-c.eps
	epstopdf --outfile=$@ $<

#
#
#
include depend.mk
