#
# Makefile for dvisvgm (Win32)
#
OPTIMIZE = -O2
XDEFS=-wd4819 -DHAVE_CONFIG_H -DWIN32=1 -D__WIN32__=1 -D__WIN64__=1 \
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNO_KPSE_DLL=1 \
-D_CRT_OBSOLETE_NO_DEPRECATE -D_SECURE_SCL=0 -DTEXLIVEWIN32=1 -DW32TEX=1

INCS= -I. -I.. -I../.. \
-I../../../libs/freetype-util/include -I../../../libs/zlib \
-I../libs/potrace -I../libs/clipper -I../libs/xxhash \
-I../libs/woff2/src -I../libs/brotli/enc \
-I../libs/woff2/include \
-I../libs/woff2/include/woff2 \
-I../libs/boost \
-I../libs/brotli/common \
-I../libs/brotli/include \
-I../libs/brotli/include/brotli \
-I../libs/variant/include \
-I../libs/variant/include/mpark \
-I../libs/md5 \
-I./optimizer

CFLAGS=-nologo $(OPTIMIZE) -MT $(XDEFS) $(INCS)

CXXFLAGS=-nologo $(OPTIMIZE) -MT -GR -EHsc $(XDEFS) $(INCS)

LDFLAGS=

LIBS=../../../libs/freetype-util/objs/freetype.lib \
../libs/potrace/libpotrace.lib \
../../../texk/kpathsea/libkpathsea.lib \
../../../libs/zlib/libz.lib \
../libs/clipper/libclipper.lib \
../libs/xxHash/libxxhash.lib \
../libs/woff2/src/libwoff2.lib \
../libs/brotli/enc/libbrotli.lib \
./fonts/libfonts.lib \
./ttf/libttf.lib \
./optimizer/liboptimizer.lib

SYSLIBS = user32.lib advapi32.lib shell32.lib

bin_PROGRAMS = dvisvgm.exe

OBJEXT=obj

OBJECTS = \
BasicDVIReader.obj \
Bezier.obj \
BgColorSpecialHandler.obj \
Bitmap.obj \
BoundingBox.obj \
CLCommandLine.obj \
CMap.obj \
CMapManager.obj \
CMapReader.obj \
Calculator.obj \
CharMapID.obj \
Color.obj \
ColorSpecialHandler.obj \
DLLoader.obj \
DVIReader.obj \
DVIToSVG.obj \
DVIToSVGActions.obj \
Directory.obj \
DvisvgmSpecialHandler.obj \
EPSFile.obj \
EllipticalArc.obj \
EmSpecialHandler.obj \
EncFile.obj \
FileFinder.obj \
FilePath.obj \
FileSystem.obj \
Font.obj \
FontCache.obj \
FontEncoding.obj \
FontEngine.obj \
FontManager.obj \
FontMap.obj \
FontMetrics.obj \
FontWriter.obj \
GFGlyphTracer.obj \
GFReader.obj \
GFTracer.obj \
Ghostscript.obj \
HashFunction.obj \
HtmlSpecialHandler.obj \
HyperlinkManager.obj \
ImageToSVG.obj \
InputBuffer.obj \
InputReader.obj \
JFM.obj \
Length.obj \
MapLine.obj \
Matrix.obj \
Message.obj \
MetafontWrapper.obj \
NoPsSpecialHandler.obj \
OFM.obj \
Opacity.obj \
PDFHandler.obj \
PDFParser.obj \
PDFToSVG.obj \
PSInterpreter.obj \
PSPattern.obj \
PSPreviewHandler.obj \
PageRanges.obj \
PageSize.obj \
PapersizeSpecialHandler.obj \
PathClipper.obj \
PdfSpecialHandler.obj \
PreScanDVIReader.obj \
Process.obj \
PsSpecialHandler.obj \
PsSpecialHandlerProxy.obj \
RangeMap.obj \
SpecialActions.obj \
SVGCharHandler.obj \
SVGCharHandlerFactory.obj \
SVGCharPathHandler.obj \
SVGCharTspanTextHandler.obj \
SVGElement.obj \
SVGOutput.obj \
SVGSingleCharTextHandler.obj \
SVGTree.obj \
ShadingPatch.obj \
SignalHandler.obj \
SourceInput.obj \
SpecialManager.obj \
StreamReader.obj \
StreamWriter.obj \
Subfont.obj \
System.obj \
TFM.obj \
TensorProductPatch.obj \
Terminal.obj \
ToUnicodeMap.obj \
TpicSpecialHandler.obj \
TriangularPatch.obj \
Unicode.obj \
VFReader.obj \
XMLDocument.obj \
XMLNode.obj \
XMLParser.obj \
XMLString.obj \
dvisvgm.obj \
psdefs.obj \
utility.obj

MD5OBJ = ../libs/md5/md5.obj

$(bin_PROGRAMS): $(OBJECTS) $(MD5OBJ) $(LIBS)
	$(CC) -Fe$(bin_PROGRAMS) $(OBJECTS) $(MD5OBJ) $(LIBS) $(SYSLIBS) $(LDFLAGS)
	
clean::
	rm -f *.obj *.exe *.lib *~

depend: depend.mk

depend.mk: mkdepend.sh
	./mkdepend.sh

include depend.mk

BB=c:/usr/local/txdir/w32tex/bin64
install: dvisvgm.exe
	cp -p dvisvgm.exe c:/usr/work/edrive/wk/w64dist/DVITOOLS/bin64/
	cp -p dvisvgm.exe $(BB)/
