#
# Makefile for harfbuzz.lib (Akira Kakuto 2012-12-02)
#

.SUFFIXES: .cc .obj

DEFS = -DHAVE_CONFIG_H=1 -DWIN32=1 -DNO_KPSE_DLL=1 -D_CRT_SECURE_NO_DEPRECATE=1 \
-D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_OBSOLETE_NO_DEPRECATE \
-D_SECURE_SCL=0 -DGRAPHITE2_STATIC=1

icudir = icu-551
grdir = ../../../graphite2-1.2.4

FTINC = -I../../../freetype/include

GRINC = -I$(grdir)/include

ICUINC = -I../../../$(icudir)/source/common/unicode \
-I../../../$(icudir)/source/common \
-I../../../$(icudir)/source/layout \
-I../../../$(icudir)/source

INCS = -I. -I.. $(FTINC) $(GRINC) $(ICUINC)

CXXFLAGS = -nologo -MT -O2 -EHsc -GR -wd4819 $(DEFS) $(INCS)

CXX = cl

ADDLIBS =

HBSOURCES =  \
	hb-atomic-private.hh \
	hb-blob.cc \
	hb-buffer-private.hh \
	hb-buffer.cc \
	hb-buffer-serialize.cc \
	hb-cache-private.hh \
	hb-common.cc \
	hb-face.cc \
	hb-fallback-shape.cc \
	hb-font-private.hh \
	hb-font.cc \
	hb-ot-font.cc \
	hb-mutex-private.hh \
	hb-object-private.hh \
	hb-open-file-private.hh \
	hb-open-type-private.hh \
	hb-ot-cmap-table.hh \
	hb-ot-head-table.hh \
	hb-ot-hhea-table.hh \
	hb-ot-hmtx-table.hh \
	hb-ot-maxp-table.hh \
	hb-ot-name-table.hh \
	hb-ot-tag.cc \
	hb-private.hh \
	hb-set-private.hh \
	hb-set.cc \
	hb-shape.cc \
	hb-shape-plan-private.hh \
	hb-shape-plan.cc \
	hb-shaper-list.hh \
	hb-shaper-impl-private.hh \
	hb-shaper-private.hh \
	hb-shaper.cc \
	hb-unicode-private.hh \
	hb-unicode.cc \
	hb-utf-private.hh \
	hb-warning.cc \
	hb-ot-layout.cc \
	hb-ot-layout-common-private.hh \
	hb-ot-layout-gdef-table.hh \
	hb-ot-layout-gpos-table.hh \
	hb-ot-layout-gsubgpos-private.hh \
	hb-ot-layout-gsub-table.hh \
	hb-ot-layout-private.hh \
	hb-ot-map.cc \
	hb-ot-map-private.hh \
	hb-ot-shape.cc \
	hb-ot-shape-complex-arabic.cc \
	hb-ot-shape-complex-arabic-fallback.hh \
	hb-ot-shape-complex-arabic-table.hh \
	hb-ot-shape-complex-default.cc \
	hb-ot-shape-complex-hangul.cc \
	hb-ot-shape-complex-hebrew.cc \
	hb-ot-shape-complex-indic.cc \
	hb-ot-shape-complex-indic-machine.hh \
	hb-ot-shape-complex-indic-private.hh \
	hb-ot-shape-complex-indic-table.cc \
	hb-ot-shape-complex-myanmar.cc \
	hb-ot-shape-complex-sea.cc \
	hb-ot-shape-complex-thai.cc \
	hb-ot-shape-complex-tibetan.cc \
	hb-ot-shape-complex-private.hh \
	hb-ot-shape-normalize-private.hh \
	hb-ot-shape-normalize.cc \
	hb-ot-shape-fallback-private.hh \
	hb-ot-shape-fallback.cc \
	hb-ot-shape-private.hh \
	hb-icu.cc \
	hb-graphite2.cc

HBHEADERS = \
	hb.h \
	hb-blob.h \
	hb-buffer.h \
	hb-common.h \
	hb-font.h \
	hb-set.h \
	hb-shape.h \
	hb-shape-plan.h \
	hb-unicode.h \
	hb-version.h \
	hb-ot.h \
	hb-ot-font.h \
	hb-ot-layout.h \
	hb-ot-shape.h \
	hb-ot-tag.h \
	hb-icu.h \
	hb-graphite2.h

HBOBJS = \
	objs/hb-blob.obj \
	objs/hb-buffer.obj \
	objs/hb-buffer-serialize.obj \
	objs/hb-common.obj \
	objs/hb-face.obj \
	objs/hb-fallback-shape.obj \
	objs/hb-font.obj \
	objs/hb-ot-tag.obj \
	objs/hb-ot-font.obj \
	objs/hb-set.obj \
	objs/hb-shape.obj \
	objs/hb-shape-plan.obj \
	objs/hb-shaper.obj \
	objs/hb-unicode.obj \
	objs/hb-warning.obj \
	objs/hb-ot-layout.obj \
	objs/hb-ot-map.obj \
	objs/hb-ot-shape.obj \
	objs/hb-ot-shape-complex-arabic.obj \
	objs/hb-ot-shape-complex-default.obj \
	objs/hb-ot-shape-complex-hangul.obj \
	objs/hb-ot-shape-complex-hebrew.obj \
	objs/hb-ot-shape-complex-indic.obj \
	objs/hb-ot-shape-complex-indic-table.obj \
	objs/hb-ot-shape-complex-myanmar.obj \
	objs/hb-ot-shape-complex-sea.obj \
	objs/hb-ot-shape-complex-thai.obj \
	objs/hb-ot-shape-complex-tibetan.obj \
	objs/hb-ot-shape-normalize.obj \
	objs/hb-ot-shape-fallback.obj \
	objs/hb-icu.obj \
	objs/hb-graphite2.obj

HBSRCS = \
	hb-blob.cc \
	hb-buffer.cc \
	hb-buffer-serialize.cc \
	hb-common.cc \
	hb-face.cc \
	hb-fallback-shape.cc \
	hb-font.cc \
	hb-ot-font.cc \
	hb-ot-tag.cc \
	hb-set.cc \
	hb-shape.cc \
	hb-shape-plan.cc \
	hb-shaper.cc \
	hb-tt-font.cc \
	hb-unicode.cc \
	hb-warning.cc \
	hb-ot-layout.cc \
	hb-ot-map.cc \
	hb-ot-shape.cc \
	hb-ot-shape-complex-arabic.cc \
	hb-ot-shape-complex-default.cc \
	hb-ot-shape-complex-hangul.cc \
	hb-ot-shape-complex-hebrew.cc \
	hb-ot-shape-complex-indic.cc \
	hb-ot-shape-complex-indic-table.cc \
	hb-ot-shape-complex-myanmar.cc \
	hb-ot-shape-complex-sea.cc \
	hb-ot-shape-complex-thai.cc \
	hb-ot-shape-complex-tibetan.cc \
	hb-ot-shape-normalize.cc \
	hb-ot-shape-fallback.cc \
	hb-icu.cc \
	hb-graphite2.cc

harfbuzz.lib: $(HBOBJS)
	lib -out:$@ $(HBOBJS) $(ADDLIBS)

objs/%.obj:%.cc
	$(CXX) $(CXXFLAGS) -c -Fo$@ -Tp$<

clean:
	rm *~ *.lib objs/*

include depend.mk
