# Makefile (WIN32 x86)
#

EXTRA_INCLUDE=-I../zlib -I.. -I../libpng -I../../extra/libjpeg \
-I../freetype/include

EXTRA_LIBS=

CC=cl.exe
LD=link.exe
BUILD=Release
#BUILD=Debug

PLATFORM=x86

LIBGDCFLAGS= \
   -DHAVE_GD_BUNDLED=1  \
   -DHAVE_GD_GIF_READ=1  \
   -DHAVE_GD_GIF_CREATE=1  \
   -DHAVE_GD_IMAGESETBRUSH=1  \
   -DHAVE_GD_IMAGESETTILE=1 \
   -DHAVE_GD_JPG=1  \
   -DHAVE_GD_PNG=1  \
   -DHAVE_GD_STRINGFTEX=1  \
   -DHAVE_GD_STRINGTTF=1  \
   -DHAVE_GD_XBM=1  \
   -DHAVE_GD_H=1 \
   -DHAVE_PNG_H=1 \
   -DHAVE_LIBZ=1 \
   -DHAVE_FT2BUILD_H=1 \
   -DHAVE_LIBFREETYPE=1 \
   -DHAVE_LIBJPEG=1  \
   -DHAVE_LIBPNG=1  \
   -DUSE_GD_IMGSTRTTF=1 \
   -DNONDLL=1

DEFS = -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE \
-D_CRT_OBSOLETE_NO_DEPRECATE -D_SECURE_SCL=0 -Dinline=__inline

CFLAGS=-wd4819 -I. -I.. $(EXTRA_INCLUDE) -nologo -DHAVE_CONFIG_H \
-DWIN32=1 -D_WIN32 -DMSWIN32 -DBGDWIN32 $(LIBGDCFLAGS) \
-O2 -MT $(DEFS)

# LIBS=libjpeg.lib freetype2.lib libpng.lib zlib.lib \
# kernel32.lib user32.lib advapi32.lib

CPPFLAGS=$(CFLAGS)

STATICLIB=libgd.lib

OBJS=gd.obj gd_color.obj gd_color_map.obj gd_transform.obj gdfx.obj \
gd_security.obj gd_gd.obj gd_gd2.obj gd_io.obj gd_io_dp.obj gd_gif_in.obj \
gd_gif_out.obj gd_io_file.obj gd_io_ss.obj gd_jpeg.obj gd_png.obj \
gd_ss.obj gd_topal.obj gd_wbmp.obj gdcache.obj gdfontg.obj gdfontl.obj \
gdfontmb.obj gdfonts.obj gdfontt.obj gdft.obj gdhelpers.obj gdkanji.obj \
gdtables.obj gdxpm.obj wbmp.obj gd_filter.obj gd_nnquant.obj \
gd_rotate.obj gd_matrix.obj gd_interpolation.obj gd_crop.obj \
gd_webp.obj gd_tiff.obj gd_tga.obj gd_bmp.obj gd_xbm.obj \
gd_color_match.obj gd_version.obj gd_filename.obj


all: $(STATICLIB)

$(EXE_OBJS:.obj=.exe): $*.obj $(DLLNAME)
	link /out:$*.exe $*.obj $(DYNAMICLIB)
	
tests: $(EXE_OBJS:.obj=.exe)

gd_png.obj: gd_png.c
	$(CC) $(CFLAGS) -c -w $<

.c.obj:
	$(CC) $(CFLAGS) -c $<
	
$(STATICLIB): $(OBJS)
	lib -out:$@ $(OBJS)

clean:
	rm -f *~ *.obj *.dll *.lib *.ilk *.pdb *.exp *.exe
