CFLAGS=-g -Wall -I libmsvg/src

# only way I could think of to get gdb debugging for the svg library
# unfortunately it's libgeos that I need to debug, not libmsvg :-(
LIBOBJECTS=libmsvg/src/tables.o libmsvg/src/element.o libmsvg/src/manielem.o libmsvg/src/attribut.o libmsvg/src/paintctx.o libmsvg/src/content.o libmsvg/src/raw2cook.o libmsvg/src/scanpath.o libmsvg/src/cook2raw.o libmsvg/src/printree.o libmsvg/src/rdsvgf.o libmsvg/src/wtsvgf.o libmsvg/src/serializ.o libmsvg/src/tmatrix.o libmsvg/src/tcookel.o libmsvg/src/path2ply.o libmsvg/src/find.o libmsvg/src/cokdims.o libmsvg/src/gradnorm.o libmsvg/src/bfont.o libmsvg/src/bfontlib.o libmsvg/src/util.o \
./libmsvg/expat/xmlparse/xmlparse.o \
./libmsvg/expat/xmltok/xmlrole.o \
./libmsvg/expat/xmltok/xmltok.o

all: .Manual.timestamp  testnew viewsvg savedata
	# ./testnew
	echo All up to date.

polygon.o: polygon.c polygon-geos.h polygon-dev.h polygon.h
	cc -c ${CFLAGS} `geos-config --cflags` polygon.c

polygon-geos.o: polygon-geos.c polygon-geos.h polygon.h
	cc -c ${CFLAGS} `geos-config --cflags` polygon-geos.c

polygon-dev.o: polygon-dev.c savesvg.c savearray.c polygon-dev.h polygon.h
	cc -c ${CFLAGS} `geos-config --cflags` polygon-dev.c

geostree.o: geostree.c polygon.h polygon-dev.h polygon-geos.h
	cc -c ${CFLAGS} `geos-config --cflags` geostree.c

usvg.o: usvg.c svg.h
	cc -c ${CFLAGS} usvg.c

testnew: testnew.c polygon.o polygon-dev.o polygon-geos.o geostree.o usvg.o
	make -C libmsvg -f Makefile
	cc -o testnew ${CFLAGS} `geos-config --cflags` testnew.c polygon.o polygon-geos.o polygon-dev.o geostree.o usvg.o $(LIBOBJECTS) `geos-config --clibs`  -lglut -lGL  -lm
	# cc -o testnew ${CFLAGS} `geos-config --cflags` testnew.c polygon.o polygon-geos.o polygon-dev.o geostree.o usvg.o `geos-config --clibs`  -lglut -lGL -L libmsvg/src  -lmsvg -lm


viewsvg: viewsvg.c polygon.o polygon-dev.o polygon-geos.o geostree.o usvg.o
	make -C libmsvg -f Makefile
	cc -o viewsvg ${CFLAGS} `geos-config --cflags` viewsvg.c polygon.o polygon-geos.o polygon-dev.o geostree.o usvg.o $(LIBOBJECTS) `geos-config --clibs`  -lglut -lGL  -lm
	# cc -o viewsvg ${CFLAGS} `geos-config --cflags` viewsvg.c polygon.o polygon-geos.o polygon-dev.o geostree.o usvg.o `geos-config --clibs`  -lglut -lGL -L libmsvg/src  -lmsvg -lm

savedata: savedata.c polygon.o polygon-dev.o polygon-geos.o geostree.o usvg.o
	make -C libmsvg -f Makefile
	cc -o savedata ${CFLAGS} `geos-config --cflags` savedata.c polygon.o polygon-geos.o polygon-dev.o geostree.o usvg.o $(LIBOBJECTS) `geos-config --clibs`  -lglut -lGL  -lm
	# cc -o savedata ${CFLAGS} `geos-config --cflags` savedata.c polygon.o polygon-geos.o polygon-dev.o geostree.o usvg.o `geos-config --clibs`  -lglut -lGL -L libmsvg/src  -lmsvg -lm

test:
	make -C tests -f Makefile

clean:
	make -C tests -f Makefile clean
	rm -f testnew *.o *~ \#*\#

.Manual.timestamp: Manual-being-edited.html
	cp Manual-being-edited.html .Manual.timestamp
	scp Manual-being-edited.html gtoal@gtoal.com:gtoal.com/src/polygon/.Manual.html

upload:
	make -C tests -f Makefile clean
	scp -r Makefile geostree.c polygon.[ch] polygon-dev.[ch] savesvg.c savearray.c polygon-geos.[ch] window.[ch] testnew.c viewsvg.c savedata.c usvg.c svg.h Manual.html README.txt tests geos-3.11.1 libmsvg  tinyspline gtoal@gtoal.com:gtoal.com/src/polygon/
	# NOT 'images' - don't overwrite the ones uploaded already :-(

quickupload:
	scp Makefile geostree.c polygon.[ch] polygon-dev.[ch] savesvg.c savearray.c polygon-geos.[ch] window.[ch] testnew.c viewsvg.c savedata.c usvg.c svg.h Manual.html batmanlogo.c README.txt gtoal@gtoal.com:gtoal.com/src/polygon/

pitrex:
	scp -r libmsvg Makefile geostree.c polygon.[ch] polygon-dev.[ch] savesvg.c savearray.c polygon-geos.[ch] window.[ch] usvg.c svg.h testnew.c viewsvg.c savedata.c Manual.html README.txt gtoal@192.168.2.200:src/pitrex/polygon/

