#
# Typically the only thing that needs to be changed are the paths to the
# TIFF tree.  Note that we expect an existing build tree, in part because we
# need private include files from libtiff, but also we need access to getopt.h.
# in the ports directory.
#
# You may want to add optimization options to the CFLAGS macro as well. 
#
TIFF_DIR = ..\..\libtiff\libtiff

TIFF_INC = -I$(TIFF_DIR)
TIFF_LIB = $(TIFF_DIR)\libtiff.lib
#
CC      = cl
INCL	= -I. -Ilibxtiff $(TIFF_INC)
LIBS    = $(TIFF_LIB)

#
CFLAGS  = $(INCL)
#
OBJS    = \
	xtiff.obj \
	geo_free.obj \
	geo_get.obj \
	geo_names.obj \
	geo_new.obj \
	geo_print.obj \
	geo_set.obj \
	geo_tiffp.obj \
	geo_write.obj \
	geo_extra.obj \
	geo_trans.obj \
	geo_normalize.obj \
	geotiff_proj4.obj \
	cpl_csv.obj \
	cpl_serv.obj

all:    geo_config.h geotiff.lib listgeo.exe geotifcp.exe

listgeo.exe:	bin\listgeo.c geotiff.lib
	$(CC) $(CFLAGS) bin\listgeo.c geotiff.lib $(LIBS)
	
geotifcp.exe:	bin\geotifcp.c geotiff.lib
	$(CC) $(CFLAGS) bin\geotifcp.c bin\getopt.c geotiff.lib $(LIBS)
	
geotiff.lib:	$(OBJS)
	lib /out:geotiff.lib $(OBJS)

#
#	Note: Building a DLL is OK as far as libgeotiff is concerned, 
#	but tiff.lib will get linked into geotiff.dll without actually
#	exporting it's interface.  This means another copy will get
#	pulled into the application and this could lead to much confusion.
#	Only build geotiff.dll if you are also ensuring that TIFF symbols
#	get exported.
#
#geotiff.dll:    $(OBJS)
#	link /dll /out:geotiff.dll /implib:geotiff.lib $(OBJS) $(LIBS) 

geo_config.h:	geo_config.h.vc
	copy geo_config.h.vc geo_config.h

xtiff.obj: libxtiff\xtiff.c
	$(CC) -c $(CFLAGS) libxtiff\xtiff.c

geo_free.obj: geo_free.c
	$(CC) -c $(CFLAGS) geo_free.c

geo_get.obj: geo_get.c
	$(CC) -c $(CFLAGS) geo_get.c

geo_names.obj: geo_names.c
	$(CC) -c $(CFLAGS) geo_names.c

geo_new.obj: geo_new.c
	$(CC) -c $(CFLAGS) geo_new.c

geo_print.obj: geo_print.c
	$(CC) -c $(CFLAGS) geo_print.c

geo_set.obj: geo_set.c
	$(CC) -c $(CFLAGS) geo_set.c

geo_tiffp.obj: geo_tiffp.c
	$(CC) -c $(CFLAGS) geo_tiffp.c

geo_write.obj: geo_write.c
	$(CC) -c $(CFLAGS) geo_write.c

geo_trans.obj: geo_trans.c
	$(CC) -c $(CFLAGS) geo_trans.c

geo_extra.obj: geo_extra.c
	$(CC) -c $(CFLAGS) geo_extra.c

geo_normalize.obj: geo_normalize.c
	$(CC) -c $(CFLAGS) geo_normalize.c

geotiff_proj4.obj: geotiff_proj4.c
	$(CC) -c $(CFLAGS) geotiff_proj4.c

cpl_csv.obj: cpl_csv.c
	$(CC) -c $(CFLAGS) cpl_csv.c

cpl_serv.obj: cpl_serv.c
	$(CC) -c $(CFLAGS) cpl_serv.c

clean:
	rm -f *.obj *.exe *.lib *.dll
