#LINKOPT	=	/usr/local/lib/libdbmalloc.a
#CFLAGS	=	-g

default:	all

all:	shpcreate shpadd shpdump shprewind dbfcreate dbfadd dbfdump shptest

shpopen.o:	shpopen.c shapefil.h
	$(CC) $(CFLAGS) -c shpopen.c

shptree.o:	shptree.c shapefil.h
	$(CC) $(CFLAGS) -c shptree.c

dbfopen.o:	dbfopen.c shapefil.h
	$(CC) $(CFLAGS) -c dbfopen.c

shpcreate:	shpcreate.c shpopen.o
	$(CC) $(CFLAGS) shpcreate.c shpopen.o $(LINKOPT) -o shpcreate

shpadd:		shpadd.c shpopen.o
	$(CC) $(CFLAGS) shpadd.c shpopen.o $(LINKOPT) -o shpadd

shpdump:	shpdump.c shpopen.o
	$(CC) $(CFLAGS) shpdump.c shpopen.o $(LINKOPT) -o shpdump

shprewind:	shprewind.c shpopen.o
	$(CC) $(CFLAGS) shprewind.c shpopen.o $(LINKOPT) -o shprewind

dbfcreate:	dbfcreate.c dbfopen.o
	$(CC) $(CFLAGS) dbfcreate.c dbfopen.o $(LINKOPT) -o dbfcreate

dbfadd:		dbfadd.c dbfopen.o
	$(CC) $(CFLAGS) dbfadd.c dbfopen.o $(LINKOPT) -o dbfadd

dbfdump:	dbfdump.c dbfopen.o
	$(CC) $(CFLAGS) dbfdump.c dbfopen.o $(LINKOPT) -o dbfdump

shptest:	shptest.c shpopen.o
	$(CC) $(CFLAGS) shptest.c shpopen.o $(LINKOPT) -o shptest

shputils:	shputils.c shpopen.o dbfopen.o
	$(CC) $(CFLAGS) shputils.c shpopen.o dbfopen.o $(LINKOPT) -o shputils

shptreedump:	shptreedump.c shptree.o shpopen.o
	$(CC) $(CFLAGS) shptreedump.c shptree.o shpopen.o $(LINKOPT) \
		-o shptreedump

clean:
	rm -f *.o dbfdump dbfcreate dbfadd shpdump shpcreate shpadd shputils
	rm -f shptreedump
	rm -rf *.lo *.la .libs
	rm -f shptest

test:	test2 test3

#
#	Note this stream only works if example data is accessable.
#	Fetch ftp://gdal.velocet.ca/pub/outgoing/shape_eg_data.zip
#
test1:
	@./stream1.sh > s1.out
	@if test "`diff s1.out stream1.out`" = '' ; then \
	    echo "******* Stream 1 Succeeded *********"; \
	    rm s1.out; \
	else \
	    echo "******* Stream 1 Failed *********"; \
	    diff s1.out stream1.out; \
	fi

test2:
	@./stream2.sh > s2.out
	@if test "`diff s2.out stream2.out`" = '' ; then \
	    echo "******* Stream 2 Succeeded *********"; \
	    rm s2.out; \
	    rm test*.s??; \
	else \
	    echo "******* Stream 2 Failed *********"; \
	    diff s2.out stream2.out; \
	fi

test3:
	@./makeshape.sh > s3.out
	@if test "`diff s3.out stream3.out`" = '' ; then \
	    echo "******* Stream 3 Succeeded *********"; \
	    rm s3.out; \
	    rm test.*; \
	else \
	    echo "******* Stream 3 Failed *********"; \
	    diff s3.out stream3.out; \
	fi


# -----------------------------------------------------------------------------
# A truly insane amount of hackery to make things actually work with
# libtool-1.5.x -- you'd not believe the garbage that was here before.

SHPLIB_VERSION=1.2.10
LIBSHP_VERSION=1 # still once to be changed manually (see for 1:1:0), sorry

lib:
	/usr/local/bin/libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1  -I. -I. -I/usr/local/include    $(CFLAGS) -c shpopen.c
	/usr/local/bin/libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1  -I. -I. -I/usr/local/include    $(CFLAGS) -c shptree.c
	/usr/local/bin/libtool --mode=compile $(CC) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -DSTDC_HEADERS=1  -I. -I. -I/usr/local/include    $(CFLAGS) -c dbfopen.c
	/usr/local/bin/libtool --mode=link $(CC)  $(CFLAGS)  -o libshp.la -rpath /usr/locallib -version-info 1:1:0 shpopen.lo shptree.lo dbfopen.lo  

lib_install:
	/usr/local/bin/libtool --mode=install install -c libshp.la /usr/local/lib/libshp.la
	install -c -m 644 shapefil.h /usr/local/include/shapefil.h


syntax highlighted by Code2HTML, v. 0.9.1