PROG = trie

CXX	= c++
CFLAGS= -O2 -g -W -Wall -Winline -pipe
CXXFLAGS= -O2 -g3 -W -Wall -Winline -pipe -DHAVE_ATTRIBUTE_PACKED=1

OBJS	= trie.o Trie.o WordListTrie.o rotations.o

CXXLINK	= $(CXX) $(CXXFLAGS) $(LDPATH) $(LIBS)

all: rotations trie

rotations: rotations.o


trie: trie.o Trie.o WordListTrie.o
	$(CXXLINK) $^ -o $@

clean:
	rm -f $(PROG) $(OBJS) gmon.out core

Trie.o: Trie.hh TrieNode.hh
WordListTrie.o: WordListTrie.hh TrieNode.hh
trie.o: Trie.hh TrieNode.hh WordListTrie.hh

%.dawg: %.words rotations trie
	./rotations < $< | sort | ./trie > $@
