#
# Makefile for dvipdfmx.dll
#
#
MAKE=make
SHELL=sh
CC=cl
#

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

DEFS=-DWIN32=1 -DW32TEX=1 -DKPATHSEA=1 -DHAVE_CONFIG_H=1 $(YDEFS)


LDFLAGS = -link /SUBSYSTEM:CONSOLE /STACK:0x280000

# for Release
CFLAGS=-nologo -W3 -favor:blend -MD -wd4819 -wd4267 $(DEFS)
DEBSTR =

# for Debug
#CFLAGS=-nologo -MD -Od -Zi -wd4819 -wd4267 $(DEFS)
#DEBSTR = /DEBUG

CPPFLAGS= -I. -I.. -I../../libs/libpng -I../../libs/zlib \
-I../../libs/libpaper/lib

INSTALL=cp
KLIB=../kpathsea/kpathsealibw64.lib
PLIB=../../libs/libpng/libpng.lib
ZLIB=../../libs/zlib/libz.lib
LIBPAPER=../../libs/libpaper/lib/libpaper.lib

OBJEXT=obj
LIBS=$(KLIB) $(PLIB) $(ZLIB) $(LIBPAPER)
SYSLIBS=user32.lib advapi32.lib
srcdir=.
prefix=c:/usr/local
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
datadir=${prefix}/share
texmf=${datadir}/texmf
psheaderdir=$(texmf)/dvips

programs=dvipdfmx.dll dvipdfmx.exe dvipdfm.exe extractbb.exe ebb.exe \
xbb.exe xdvipdfmx.exe

check default all: $(programs)

headers=dvi.h pdflimits.h error.h mfileio.h jpegimage.h mem.h numbers.h \
	pdfdev.h pdfdoc.h pdfparse.h tfm.h type1.h epdf.h \
	vf.h dvicodes.h pkfont.h \
	mpost.h colors.h jp2image.h \
	pdfencoding.h macglyphs.h \
	type0.h	cid.h cid_basefont.h pdf_cmap.h \
	cidtype0.h cidtype2.h tt_glyf.h tt_post.h tt_table.h \
	spc_color.h spc_dvipdfmx.h spc_dvips.h spc_html.h spc_misc.h \
	spc_pdfm.h spc_tpic.h \
	spc_util.h spc_xtx.h specials.h \
	subfont.h fontmap.h pdfencrypt.h cmap_read.h cmap_write.h \
	dpxcrypt.h agl.h asl_charset.h dpxconf.h dpxfile.h \
	dpxutil.h otl_opt.h \
	pdfnames.h pdfresource.h pst.h pst_obj.h unicode.h \
	system.h truetype.h type1c.h pdffont.h pdfximage.h bmpimage.h \
	pdfdraw.h pdfcolor.h t1_load.h t1_char.h xbb.h

src=pdfdev.c pdfdoc.c dvi.c mfileio.c mem.c jpegimage.c numbers.c pdfobj.c \
	pdfparse.c tfm.c type1.c dvipdfmx.c epdf.c vf.c \
	pkfont.c pngimage.c jp2image.c \
	mpost.c pdfencoding.c \
	cid.c cidtype0.c cmap.c type0.c \
	cidtype2.c sfnt.c tt_aux.c tt_cmap.c tt_glyf.c tt_gsub.c \
	tt_post.c tt_table.c cff.c cff_dict.c cs_type2.c fontmap.c \
	spc_color.c spc_dvipdfmx.c spc_dvips.c spc_html.c spc_misc.c \
	spc_pdfm.c spc_tpic.c \
	spc_util.c spc_xtx.c specials.c \
	subfont.c pdfencrypt.c cmap_read.c cmap_write.c dpxconf.c \
	dpxcrypt.c dpxfile.c agl.c dpxutil.c error.c \
	otl_opt.c pdfnames.c pdfresource.c pst.c pst_obj.c unicode.c \
	truetype.c type1c.c pdffont.c pdfximage.c bmpimage.c \
	pdfdraw.c pdfcolor.c t1_load.c t1_char.c xbb.c mt19937ar.c

objects=agl.obj cff.obj cff_dict.obj cid.obj cidtype0.obj \
	cidtype2.obj cmap.obj cmap_read.obj \
	cmap_write.obj cs_type2.obj dpxconf.obj \
	dpxcrypt.obj dpxutil.obj dpxfile.obj dvi.obj dvipdfmx.obj \
	pdfencoding.obj epdf.obj error.obj fontmap.obj \
	jpegimage.obj jp2image.obj mem.obj mfileio.obj mpost.obj numbers.obj \
	otl_opt.obj pdfdev.obj pdfdoc.obj \
	pdfencrypt.obj pdffont.obj pdfnames.obj \
	pdfobj.obj pdfparse.obj pdfresource.obj \
	pdfximage.obj pkfont.obj pngimage.obj \
	pst.obj pst_obj.obj sfnt.obj subfont.obj \
	spc_color.obj spc_dvipdfmx.obj spc_dvips.obj spc_html.obj spc_misc.obj \
	spc_pdfm.obj spc_tpic.obj spc_util.obj spc_xtx.obj specials.obj \
	tfm.obj truetype.obj tt_aux.obj \
	tt_cmap.obj tt_glyf.obj tt_gsub.obj tt_post.obj tt_table.obj type0.obj \
	type1.obj type1c.obj unicode.obj vf.obj bmpimage.obj \
	pdfdraw.obj pdfcolor.obj t1_load.obj t1_char.obj xbb.obj \
	mt19937ar.obj

pdfencoding=ot1.enc ot1alt.enc ot1r.enc
mapfiles=cmr.map psbase14.map lw35urw.map lw35urwa.map cid.map

dvipdfmx.dll: $(objects) $(LIBS)
	$(CC) -LD -Fe$@ $(objects) $(LIBS) $(LDFLAGS) $(DEBSTR)

calldll.exe: ../calldll/dvipdfmx.exe
	cp -p ../calldll/dvipdfmx.exe $@

dvipdfmx.exe: calldll.exe
	cp -p calldll.exe $@

dvipdfm.exe: calldll.exe
	cp -p calldll.exe $@

extractbb.exe: calldll.exe
	cp -p calldll.exe $@

ebb.exe: calldll.exe
	cp -p calldll.exe $@

xbb.exe: calldll.exe
	cp -p calldll.exe $@

xdvipdfmx.exe: calldll.exe
	cp -p calldll.exe $@

BINS=dvipdfmx.exe dvipdfm.exe extractbb.exe ebb.exe xbb.exe
BINX=xdvipdfmx.exe
BINDLL=dvipdfmx.dll
ZZ=c:/usr/local/txdir/w32tex/bin64/

install: $(BINS) $(BINX) $(BINDLL)
	cp -p $(BINS) $(BINDLL) c:/usr/work/edrive/wk/w64dist/DVIPDFM/bin64/
	cp -p $(BINX) $(BINDLL) c:/usr/work/edrive/wk/w64dist/XETEX/bin64/
	cp -p $(BINS) $(BINX) $(BINDLL) $(ZZ)

clean:
	rm *.exe *.obj *.dll *.lib *.exp *~

pngimage.obj: pngimage.c
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<

include depend.mk
