OBJS := boggle1/boggle boggle2/boggle2 boggle2/trie_test netboggle/netboggle

default: $(OBJS)

boggle1/boggle: boggle1/boggle.c
	gcc -Wall -g -o boggle1/boggle boggle1/boggle.c


# NEW, IMPROVED boggle2
boggle2/boggle2: boggle2/boggle2.o boggle2/trie.o
	gcc -g -o boggle2/boggle2 boggle2/boggle2.o boggle2/trie.o

boggle2/boggle2.o: boggle2/boggle2.c boggle2/trie.h
	gcc -g -c -Wall -o boggle2/boggle2.o boggle2/boggle2.c

boggle2/trie.o: boggle2/trie.c boggle2/trie.h
	gcc -g -c -Wall -o boggle2/trie.o boggle2/trie.c

#..and trie_test
boggle2/trie_test: boggle2/trie_test.o boggle2/trie.o
	gcc -g -o boggle2/trie_test boggle2/trie_test.o boggle2/trie.o
boggle2/trie_test.o: boggle2/trie_test.c boggle2/trie.h
	gcc -g -c -Wall -o boggle2/trie_test.o boggle2/trie_test.c

# Netboggle
netboggle/netboggle: netboggle/netboggle.o netboggle/config.o boggle2/trie.o
	gcc -g -o netboggle/netboggle netboggle/netboggle.o \
	netboggle/config.o boggle2/trie.o

netboggle/netboggle.o: netboggle/netboggle.c netboggle/netboggle.h boggle2/trie.h
	gcc -g -c -Wall -Iboggle2 -o netboggle/netboggle.o netboggle/netboggle.c

netboggle/config.o: netboggle/config.c netboggle/netboggle.h boggle2/trie.h
	gcc -g -c -Wall -Iboggle2 -o netboggle/config.o netboggle/config.c

clean:
	rm -f */*~ *~ */*.o *.o $(OBJS)

