# CFLAGS = -Wall -pg -fprofile-arcs -ftest-coverage -I/usr/include/tcl8.4
CFLAGS = -Wall -O3 -I/usr/include/tcl8.4

OBJS = grid.o dict.o backjump.o dictops.o gridops.o \
       bitset.o \
       ./utf8/utf8convert.o ./utf8/uniprops.o 

HEADERS = grid.h dict.h backjump.h dictops.h gridops.h \
          global.h bitset.h

LIBFLAGS = -ltcl8.4 -ltk8.4 -lm -liconv

default:	xword bitdriver
	
xword.static:	main.h main.o $(HEADERS) $(OBJS)
	gcc $(CFLAGS) -static -o xword.static main.o $(OBJS) $(LIBFLAGS) 

xword:	main.h main.o $(HEADERS) $(OBJS)
	gcc $(CFLAGS) -o xword main.o $(OBJS) $(LIBFLAGS) 

bitdriver: bitdriver.h bitdriver.o bitset.o bitset.h
	gcc $(CFLAGS) -o bitdriver bitdriver.o bitset.o $(LIBFLAGS)

uniprops.o: utf8/uniprops.c utf8/uniprops.h

utf8convert.o: utf8/utf8convert.c utf8/utf8convert.h

main.o: main.h main.c global.h

grid.o: grid.h grid.c global.h

dict.o: dict.h dict.c global.h

backjump.o: backjump.h backjump.c global.h

dictops.o: dictops.h dictops.c global.h

gridops.o: gridops.h gridops.c global.h

bitset.o: bitset.h bitset.c global.h

bitdriver.o: bitdriver.h bitdriver.c global.h

tar: 
	tar zcf crossgen.tar.gz *.h *.tk *.c utf8/*.c utf8/*.h Makefile

tags: *.c *.h utf8/*.c utf8/*.h
	ctags *.c *.h utf8/*.c utf8/*.h

clean:
	rm -f *.o *.gcov *.gcda *.gcno gmon.out puzzle.gif tags \
		utf8/uniprops.o utf8/utf8convert.o *.log *.jpg xword bitdriver
