# This file is part of cardwords
# (c) 1998 1999 Tobias Peters
# see file COPYING for the copyright terms.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

# // Makefile

BINDIR = $(DESTDIR)/usr/local/bin
LIBDIR = $(DESTDIR)/usr/local/lib/games/cardwords
CONFDIR = $(DESTDIR)/usr/local/etc
LOCALEDIR = $(DESTDIR)/usr/local/share/locale
DEFAULT_HOMEDIR = getenv\(\"HOME\"\) # c expression.
DEFAULT_PORT = 27037

CXXFLAGS = -g -DDEBUG -Wall `gtkmm-config --cflags` -DDEBUG_NETWORK_TRAFFIC -DDEBUG_GTK_SELECT -DBINDIR_STR=\"$(BINDIR)\" -DLIBDIR_STR=\"$(LIBDIR)\" -DCONFDIR_STR=\"$(CONFDIR)\" -DDEFAULT_HOMEDIR=$(DEFAULT_HOMEDIR) -DDEFAULT_PORT=$(DEFAULT_PORT) -DDEFAULT_PORT_STR=\"$(DEFAULT_PORT)\" -DLOCALEDIR_STR=\"$(LOCALEDIR)\"
#CXXFLAGS = -O2 -finline-functions `gtk-config --cflags` -DDEBUG -DDEBUG_NETWORK_TRAFFIC -DDEBUG_GTK_SELECT -DBINDIR_STR=\"$(BINDIR)\" -DLIBDIR_STR=\"$(LIBDIR)\" -DCONFDIR_STR=\"$(CONFDIR)\" -DDEFAULT_HOMEDIR=$(DEFAULT_HOMEDIR) -DDEFAULT_PORT=$(DEFAULT_PORT) -DDEFAULT_PORT_STR=\"$(DEFAULT_PORT)\"

CFLAGS = -g -DDEBUG -Wall -ansi -pedantic

help_text_topics = gtk_identitydialog        \
                   gtk_appearancedialog      \
                   gtk_startserverdialog     \
                   gtk_connectdialog

default: cardwords_gtkclient        \
         cardwords_dicbot                \
         cardwords_server                \
         help_texts                      \
         mo_files

install: cardwords_gtkclient        \
         cardwords_dicbot                \
         cardwords_server                \
         example.charset                 \
         example.cards                   \
         example.cardtable               \
         example.bonus                   \
         help_texts                      \
         mo_files
	install -d $(LIBDIR)
	test -d $(BINDIR) || install -d $(BINDIR)
	test -d $(LOCALEDIR) || install -d $(LOCALEDIR)
	install cardwords_gtkclient      $(BINDIR)/cardwords_gtkclient
	install cardwords_dicbot         $(BINDIR)/cardwords_dicbot
	install cardwords_server         $(BINDIR)/cardwords_server
	install example.charset        $(LIBDIR)/example.charset
	install example.cards          $(LIBDIR)/example.cards
	install example.cardtable      $(LIBDIR)/example.cardtable
	install example.bonus          $(LIBDIR)/example.bonus
	install example.de.charset     $(LIBDIR)/example.de.charset
	install example.de.cards       $(LIBDIR)/example.de.cards
	for topic in $(help_text_topics); do install $$topic.help_text $(LIBDIR)/$$topic.help_text; done
	test -e $(LIBDIR)/default.charset || ln -s $(LIBDIR)/example.charset $(LIBDIR)/default.charset
	test -e $(LIBDIR)/default.cards || ln -s $(LIBDIR)/example.cards $(LIBDIR)/default.cards
	test -e $(LIBDIR)/default.cardtable || ln -s $(LIBDIR)/example.cardtable $(LIBDIR)/default.cardtable
	test -e $(LIBDIR)/default.bonus || ln -s $(LIBDIR)/example.bonus $(LIBDIR)/default.bonus
	test -e /usr/dict/words && (test -e $(LIBDIR)/default.dictionary || ln -s /usr/dict/words $(LIBDIR)/default.dictionary) || true
	test -d $(LOCALEDIR)/de || install -d $(LOCALEDIR)/de 
	test -d $(LOCALEDIR)/de/LC_MESSAGES || install -d $(LOCALEDIR)/de/LC_MESSAGES 
	install de.mo       $(LOCALEDIR)/de/LC_MESSAGES/cardwords.mo

uninstall:
	rm -f $(BINDIR)/cardwords_gtkclient
	rm -f $(BINDIR)/cardwords_dicbot
	rm -f $(BINDIR)/cardwords_server
	rm -f $(LIBDIR)/example.charset
	rm -f $(LIBDIR)/example.cards
	rm -f $(LIBDIR)/example.cardtable
	rm -f $(LIBDIR)/example.bonus
	rm -f $(LIBDIR)/default.charset
	rm -f $(LIBDIR)/default.cards
	rm -f $(LIBDIR)/default.cardtable
	rm -f $(LIBDIR)/default.bonus
	for topic in $(help_text_topics); do rm -f $(LIBDIR)/$$topic.help_text; done
	rmdir $(LIBDIR)

doc: README.sgml
	(LC_ALL= ; LANG= ; debiandoc2text  README.sgml )
	(LC_ALL= ; LANG= ; debiandoc2ps -pletter README.sgml )
	(LC_ALL= ; LANG= ; debiandoc2html README.sgml )

README.sgml: README.sgml.m4 VERSION
	m4 --prefix-builtins <README.sgml.m4 >README.sgml

cardwords_count: cardwords_count.o cardwords_char.o
	g++ -o cardwords_count cardwords_count.o cardwords_char.o

o_file_rules:
	g++ -MM $(CXXFLAGS) *.cc

remake : clean default

clean:
	rm -f *.o *.~ core *.help_text help_texts README.ps README.sgml
	rm -rf README.html

cleaner: clean
	rm -f cardwords_count cardwords_sgml2helptext
	rm -rf RELEASE

ultra_clean: cleaner
	rm -f cardwords_dicbot cardwords_gtkclient cardwords_server README.text

cardwords_textclient: cardwords_textclient.o cardwords_pile.o cardwords_baseclient.o cardwords_tcpclient.o cardwords_commclient.o cardwords_cardtable.o cardwords_char.o cardwords_cardcontainer1dim.o cardwords_card.o cardwords_cardcontainer2dim.o cardwords_cardbase.o cardwords_carddescription.o cardwords_playerlist.o cardwords_cardselection.o cardwords_options.o cardwords_ncursesapp.o cardwords_cardoccurrencemap.o cardwords_select.o
	g++ $(CXXFLAGS) -lncurses -o cardwords_textclient cardwords_textclient.o cardwords_pile.o cardwords_baseclient.o cardwords_tcpclient.o cardwords_commclient.o cardwords_cardtable.o cardwords_char.o cardwords_cardcontainer1dim.o cardwords_card.o cardwords_cardcontainer2dim.o cardwords_cardbase.o cardwords_carddescription.o cardwords_playerlist.o cardwords_cardselection.o cardwords_options.o cardwords_ncursesapp.o cardwords_cardoccurrencemap.o cardwords_select.o

cardwords_dicbot: cardwords_dicbot.o cardwords_dicbot_cardtable.o \
 cardwords_string.o cardwords_char.o cardwords_carddescription.o \
 cardwords_cardbase.o cardwords_cardselection.o \
 cardwords_cardcontainer1dim.o cardwords_card.o \
 cardwords_dictionary.o cardwords_dicbot_cardselectioncontents.o \
 cardwords_fasthashkey.o cardwords_stringconverters.o\
 cardwords_searchwordmusts.o cardwords_dicbot_bestordergenerator.o \
 cardwords_exceptions.o
	g++ $(CXXFLAGS) -o cardwords_dicbot cardwords_stringconverters.o cardwords_dicbot.o cardwords_dicbot_cardtable.o cardwords_string.o cardwords_char.o cardwords_carddescription.o cardwords_cardbase.o cardwords_cardselection.o cardwords_cardcontainer1dim.o cardwords_card.o cardwords_dictionary.o cardwords_dicbot_cardselectioncontents.o cardwords_fasthashkey.o cardwords_searchwordmusts.o cardwords_dicbot_bestordergenerator.o cardwords_exceptions.o

cardwords_server: cardwords_server.o cardwords_selectiblechild.o \
 cardwords_childprocess.o cardwords_pipe.o cardwords_serversocket.o \
 cardwords_participant.o cardwords_game.o cardwords_char.o cardwords_pile.o \
 cardwords_cardtable.o cardwords_cardcontainer1dim.o \
 cardwords_stringconverters.o cardwords_cardcontainer2dim.o \
 cardwords_cardbase.o cardwords_card.o cardwords_select.o \
 cardwords_cardselection.o cardwords_carddescription.o cardwords_exceptions.o
	g++ $(CXXFLAGS) -o cardwords_server cardwords_server.o cardwords_selectiblechild.o cardwords_childprocess.o cardwords_pipe.o cardwords_serversocket.o cardwords_participant.o cardwords_game.o cardwords_char.o cardwords_pile.o cardwords_cardtable.o cardwords_cardcontainer1dim.o cardwords_stringconverters.o cardwords_cardcontainer2dim.o cardwords_cardbase.o cardwords_card.o cardwords_select.o cardwords_cardselection.o cardwords_carddescription.o cardwords_exceptions.o

cardwords_gtkclient: cardwords_gtkclient.o cardwords_commclient.o cardwords_baseclient.o cardwords_tcpclient.o cardwords_playerlist.o cardwords_cardselection.o cardwords_carddescription.o cardwords_cardbase.o cardwords_char.o cardwords_cardcontainer1dim.o cardwords_card.o cardwords_string.o cardwords_gtk_cardtable.o cardwords_gtk_cardtableinfo.o cardwords_cardtable.o cardwords_cardcontainer2dim.o cardwords_pile.o cardwords_gtk_cardcell.o cardwords_gtk_common_card_cell_styles.o cardwords_gtk_playerlist.o cardwords_gtk_actionselection.o cardwords_actionselection.o cardwords_gtk_handdisplay.o cardwords_gtk_pileinfo.o cardwords_gtk_addword.o cardwords_gtk_startserverdialog.o cardwords_childprocess.o cardwords_pipe.o cardwords_gtk_connectdialog.o cardwords_gtk_clientoptionsdialog.o cardwords_gtk_helpwindow.o cardwords_readfile.o cardwords_cardoccurrencemap.o cardwords_gtk_cardlist.o cardwords_gtk_menu.o cardwords_options.o cardwords_gtk_optionsdialog.o cardwords_gtk_identitydialog.o cardwords_gtk_appearancedialog.o cardwords_stringconverters.o cardwords_exceptions.o cardwords_gtk_popup.o
	g++ $(CXXFLAGS) -lgtkmm `gtkmm-config --libs` -o cardwords_gtkclient  cardwords_gtkclient.o cardwords_commclient.o cardwords_baseclient.o cardwords_tcpclient.o cardwords_playerlist.o cardwords_cardselection.o cardwords_carddescription.o cardwords_cardbase.o cardwords_char.o cardwords_cardcontainer1dim.o cardwords_card.o cardwords_string.o cardwords_gtk_cardtable.o cardwords_gtk_cardtableinfo.o cardwords_cardtable.o cardwords_cardcontainer2dim.o cardwords_pile.o cardwords_gtk_cardcell.o cardwords_gtk_common_card_cell_styles.o cardwords_gtk_playerlist.o cardwords_gtk_actionselection.o cardwords_actionselection.o cardwords_gtk_handdisplay.o cardwords_gtk_pileinfo.o cardwords_gtk_addword.o cardwords_gtk_startserverdialog.o cardwords_childprocess.o cardwords_pipe.o cardwords_gtk_connectdialog.o cardwords_gtk_clientoptionsdialog.o cardwords_gtk_helpwindow.o cardwords_readfile.o cardwords_cardoccurrencemap.o cardwords_gtk_cardlist.o cardwords_gtk_menu.o cardwords_options.o cardwords_gtk_optionsdialog.o cardwords_gtk_identitydialog.o cardwords_gtk_appearancedialog.o cardwords_stringconverters.o cardwords_exceptions.o cardwords_gtk_popup.o

cardwords_sgml2helptext: cardwords_sgml2helptext.cc
	g++ $(CXXFLAGS) -o cardwords_sgml2helptext cardwords_sgml2helptext.cc

help_texts: cardwords_sgml2helptext     \
            README.sgml                 \
            cardwords_sgml2helptext.sed \
            cardwords_sgml2helptext.sh
	for topic in $(help_text_topics); do \
	   ./cardwords_sgml2helptext.sh $$topic; done
	touch help_texts;

mo_files: de.mo

de.mo: de.po
	msgfmt -o de.mo de.po

release: # Only release when cvs is up to date and then tag all files.
	test VERSION -nt release_timestamp # VERSION must be newer than last release
	(cvs update | grep ^[AM]) || \
		(make -f Makefile.release && \
		 cvs tag `(echo -n release_; cat VERSION) | tr "." "_"`)

upload: RELEASE
	tar cf - RELEASE |gzip -9| uuencode - | expect cardwords_upload.expect

# executables for testing:
cardwords_ncursesapp: cardwords_ncursesapp.o cardwords_select.o
	g++ $(CXXFLAGS) -lncurses -o cardwords_ncursesapp cardwords_ncursesapp.o cardwords_select.o
cardwords_options: cardwords_options.o
	g++ $(CXXFLAGS) -o cardwords_options cardwords_options.o

cardwords_version.hh: cardwords_version.hh.m4 VERSION
	m4 --prefix-builtins <cardwords_version.hh.m4 >cardwords_version.hh

cardwords_upload: cardwords_upload.o ftplib.o
	cc $(CFLAGS) -o cardwords_upload cardwords_upload.o ftplib.o

cardwords_upload.o: cardwords_upload.c ftplib.h cardwords_version.hh
ftplib.o: ftplib.c ftplib.h

# the .o -files:
cardwords_actionselection.o: cardwords_actionselection.cc \
 cardwords_actionselection.hh cardwords_hand.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_pile.hh cardwords_cardtable.hh \
 cardwords_cardcontainer2dim.hh cardwords_matrix.hh \
 cardwords_cardtablelocation.hh cardwords_exceptions.hh \
 cardwords_gettext.hh cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_string.hh \
 cardwords_direction.hh
cardwords_baseclient.o: cardwords_baseclient.cc \
 cardwords_baseclient.hh cardwords_tcpclient.hh cardwords_server.hh \
 cardwords_selectiblechild.hh cardwords_childprocess.hh \
 cardwords_iostream.hh cardwords_pipe.hh cardwords_select.hh \
 cardwords_exceptions.hh cardwords_gettext.hh cardwords_bonustable.hh \
 cardwords_stringconverters.hh
cardwords_cardbase.o: cardwords_cardbase.cc cardwords_cardbase.hh \
 cardwords_char.hh cardwords_iostream.hh cardwords_exceptions.hh \
 cardwords_gettext.hh
cardwords_card.o: cardwords_card.cc cardwords_card.hh \
 cardwords_cardbase.hh cardwords_char.hh cardwords_iostream.hh \
 cardwords_exceptions.hh cardwords_gettext.hh
cardwords_cardcontainer1dim.o: cardwords_cardcontainer1dim.cc \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh
cardwords_cardcontainer2dim.o: cardwords_cardcontainer2dim.cc \
 cardwords_cardcontainer2dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_matrix.hh \
 cardwords_cardtablelocation.hh cardwords_exceptions.hh \
 cardwords_gettext.hh cardwords_cardcontainer1dim.hh
cardwords_carddescription.o: cardwords_carddescription.cc \
 cardwords_carddescription.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_exceptions.hh cardwords_gettext.hh
cardwords_cardoccurrencemap.o: cardwords_cardoccurrencemap.cc \
 cardwords_cardoccurrencemap.hh cardwords_carddescription.hh \
 cardwords_cardbase.hh cardwords_char.hh cardwords_iostream.hh
cardwords_cardselection.o: cardwords_cardselection.cc \
 cardwords_cardselection.hh cardwords_carddescription.hh \
 cardwords_cardbase.hh cardwords_char.hh cardwords_iostream.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_string.hh cardwords_gettext.hh \
 cardwords_exceptions.hh
cardwords_cardtable.o: cardwords_cardtable.cc cardwords_cardtable.hh \
 cardwords_cardcontainer2dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_matrix.hh \
 cardwords_cardtablelocation.hh cardwords_exceptions.hh \
 cardwords_gettext.hh cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardcontainer1dim.hh \
 cardwords_string.hh cardwords_direction.hh cardwords_pile.hh
cardwords_char.o: cardwords_char.cc cardwords_char.hh \
 cardwords_iostream.hh cardwords_exceptions.hh cardwords_gettext.hh
cardwords_childprocess.o: cardwords_childprocess.cc \
 cardwords_childprocess.hh cardwords_iostream.hh cardwords_pipe.hh \
 cardwords_exceptions.hh cardwords_gettext.hh
cardwords_commclient.o: cardwords_commclient.cc \
 cardwords_commclient.hh cardwords_baseclient.hh \
 cardwords_tcpclient.hh cardwords_playerlist.hh \
 cardwords_exceptions.hh cardwords_iostream.hh cardwords_gettext.hh \
 cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_string.hh cardwords_cardtablelocation.hh \
 cardwords_direction.hh cardwords_cardoccurrencemap.hh \
 cardwords_clientpile.hh cardwords_pile.hh cardwords_cardtable.hh \
 cardwords_cardcontainer2dim.hh cardwords_matrix.hh \
 cardwords_bonustable.hh cardwords_hand.hh cardwords_server.hh \
 cardwords_selectiblechild.hh cardwords_childprocess.hh \
 cardwords_pipe.hh cardwords_select.hh
cardwords_count.o: cardwords_count.cc cardwords_char.hh \
 cardwords_iostream.hh
cardwords_dicbot_bestordergenerator.o: \
 cardwords_dicbot_bestordergenerator.cc \
 cardwords_dicbot_bestordergenerator.hh \
 cardwords_dicbot_cardselectioncontents.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_cardcontainer1dim.hh \
 cardwords_cardcontainer.hh cardwords_card.hh cardwords_string.hh \
 cardwords_exceptions.hh cardwords_gettext.hh \
 cardwords_charcombination.hh cardwords_fasthashkey.hh \
 cardwords_dicbot_cardtablerequirements.hh \
 cardwords_dicbot_cardtablerequirement.hh cardwords_direction.hh \
 cardwords_dicbot_cardtable.hh cardwords_cardtablelocation.hh \
 cardwords_dicbot_cardtablecell.hh \
 cardwords_dicbot_cardtablemustnot.hh config.hh cardwords_matrix.hh \
 cardwords_move.hh cardwords_dictionary.hh cardwords_hashtable.hh \
 cardwords_myslist.hh cardwords_bonustable.hh cardwords_max.hh \
 cardwords_implication.hh
cardwords_dicbot_cardselectioncontents.o: \
 cardwords_dicbot_cardselectioncontents.cc \
 cardwords_dicbot_cardselectioncontents.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_cardcontainer1dim.hh \
 cardwords_cardcontainer.hh cardwords_card.hh cardwords_string.hh \
 cardwords_exceptions.hh cardwords_gettext.hh \
 cardwords_charcombination.hh cardwords_fasthashkey.hh
cardwords_dicbot_cardtable.o: cardwords_dicbot_cardtable.cc \
 cardwords_iostream.hh cardwords_dicbot_cardtable.hh \
 cardwords_cardtablelocation.hh cardwords_exceptions.hh \
 cardwords_gettext.hh cardwords_dicbot_cardtablecell.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_direction.hh cardwords_dicbot_cardtablemustnot.hh config.hh \
 cardwords_matrix.hh cardwords_move.hh cardwords_cardselection.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_string.hh cardwords_dictionary.hh \
 cardwords_dicbot_cardselectioncontents.hh \
 cardwords_charcombination.hh cardwords_fasthashkey.hh \
 cardwords_hashtable.hh cardwords_myslist.hh cardwords_bonustable.hh
cardwords_dicbot.o: cardwords_dicbot.cc cardwords_iostream.hh \
 cardwords_dicbot_cardtable.hh cardwords_cardtablelocation.hh \
 cardwords_exceptions.hh cardwords_gettext.hh \
 cardwords_dicbot_cardtablecell.hh cardwords_carddescription.hh \
 cardwords_cardbase.hh cardwords_char.hh cardwords_direction.hh \
 cardwords_dicbot_cardtablemustnot.hh config.hh cardwords_matrix.hh \
 cardwords_move.hh cardwords_cardselection.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_string.hh cardwords_dictionary.hh \
 cardwords_dicbot_cardselectioncontents.hh \
 cardwords_charcombination.hh cardwords_fasthashkey.hh \
 cardwords_hashtable.hh cardwords_myslist.hh cardwords_bonustable.hh \
 cardwords_dicbot_bestordergenerator.hh \
 cardwords_dicbot_cardtablerequirements.hh \
 cardwords_dicbot_cardtablerequirement.hh cardwords_max.hh \
 cardwords_implication.hh cardwords_dicbot.hh \
 cardwords_stringconverters.hh
cardwords_dictionary.o: cardwords_dictionary.cc \
 cardwords_charcombination.hh cardwords_string.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_dictionary.hh \
 cardwords_dicbot_cardselectioncontents.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_exceptions.hh cardwords_gettext.hh \
 cardwords_fasthashkey.hh cardwords_hashtable.hh cardwords_myslist.hh \
 cardwords_dicbot_cardtablerequirements.hh \
 cardwords_dicbot_cardtablerequirement.hh cardwords_direction.hh \
 cardwords_dicbot_cardtable.hh cardwords_cardtablelocation.hh \
 cardwords_dicbot_cardtablecell.hh \
 cardwords_dicbot_cardtablemustnot.hh config.hh cardwords_matrix.hh \
 cardwords_move.hh cardwords_bonustable.hh cardwords_max.hh \
 cardwords_implication.hh cardwords_dicbot_bestordergenerator.hh
cardwords_exceptions.o: cardwords_exceptions.cc \
 cardwords_exceptions.hh cardwords_iostream.hh cardwords_gettext.hh
cardwords_fasthashkey.o: cardwords_fasthashkey.cc \
 cardwords_fasthashkey.hh cardwords_string.hh cardwords_char.hh \
 cardwords_iostream.hh
cardwords_game.o: cardwords_game.cc cardwords_game.hh \
 cardwords_participant.hh cardwords_select.hh cardwords_hand.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_pile.hh cardwords_exceptions.hh \
 cardwords_gettext.hh cardwords_selectiblechild.hh \
 cardwords_childprocess.hh cardwords_pipe.hh config.hh \
 cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_string.hh \
 cardwords_cardtablelocation.hh cardwords_direction.hh \
 cardwords_server.hh cardwords_bonustable.hh cardwords_cardtable.hh \
 cardwords_cardcontainer2dim.hh cardwords_matrix.hh
cardwords_gtk_actionselection.o: cardwords_gtk_actionselection.cc \
 cardwords_gtk_actionselection.hh cardwords_actionselection.hh \
 cardwords_hand.hh cardwords_cardcontainer1dim.hh \
 cardwords_cardcontainer.hh cardwords_card.hh cardwords_cardbase.hh \
 cardwords_char.hh cardwords_iostream.hh cardwords_pile.hh \
 cardwords_cardtable.hh cardwords_cardcontainer2dim.hh \
 cardwords_matrix.hh cardwords_cardtablelocation.hh \
 cardwords_exceptions.hh cardwords_gettext.hh cardwords_move.hh \
 cardwords_cardselection.hh cardwords_carddescription.hh \
 cardwords_string.hh cardwords_direction.hh cardwords_gtk_cardtable.hh \
 cardwords_gtk_cardtableinfo.hh cardwords_gtk_cardcell.hh \
 cardwords_gtk_common_card_cell_styles.hh \
 cardwords_gtk_cellattributetype.hh config.hh
cardwords_gtk_addword.o: cardwords_gtk_addword.cc \
 cardwords_gtk_addword.hh cardwords_string.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_gtkclient.hh cardwords_commclient.hh \
 cardwords_baseclient.hh cardwords_tcpclient.hh \
 cardwords_playerlist.hh cardwords_exceptions.hh cardwords_gettext.hh \
 cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardtablelocation.hh \
 cardwords_direction.hh cardwords_cardoccurrencemap.hh \
 cardwords_gtk_cardtable.hh cardwords_gtk_cardtableinfo.hh \
 cardwords_cardtable.hh cardwords_cardcontainer2dim.hh \
 cardwords_matrix.hh cardwords_pile.hh cardwords_gtk_cardcell.hh \
 cardwords_gtk_common_card_cell_styles.hh \
 cardwords_gtk_cellattributetype.hh config.hh \
 cardwords_gtk_playerlist.hh cardwords_gtk_actionselection.hh \
 cardwords_actionselection.hh cardwords_hand.hh \
 cardwords_gtk_handdisplay.hh cardwords_gtk_pileinfo.hh \
 cardwords_gtk_optionsdialog.hh cardwords_gtk_startserverdialog.hh \
 cardwords_gtk_helpwindow.hh cardwords_options.hh \
 cardwords_gtk_connectdialog.hh cardwords_gtk_appearancedialog.hh \
 cardwords_gtk_identitydialog.hh cardwords_childprocess.hh \
 cardwords_pipe.hh cardwords_gtk_cardlist.hh cardwords_gtk_menu.hh
cardwords_gtk_appearancedialog.o: cardwords_gtk_appearancedialog.cc \
 cardwords_gtk_appearancedialog.hh cardwords_options.hh \
 cardwords_gettext.hh cardwords_readfile.hh
cardwords_gtk_cardcell.o: cardwords_gtk_cardcell.cc \
 cardwords_gtk_cardcell.hh cardwords_gtk_common_card_cell_styles.hh \
 cardwords_gtk_cellattributetype.hh cardwords_cardbase.hh \
 cardwords_char.hh cardwords_iostream.hh config.hh \
 cardwords_gettext.hh
cardwords_gtk_cardlist.o: cardwords_gtk_cardlist.cc \
 cardwords_gtk_cardlist.hh cardwords_cardoccurrencemap.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_gettext.hh
cardwords_gtk_cardtable.o: cardwords_gtk_cardtable.cc \
 cardwords_gtk_cardtable.hh cardwords_gtk_cardtableinfo.hh \
 cardwords_cardtable.hh cardwords_cardcontainer2dim.hh \
 cardwords_cardcontainer.hh cardwords_card.hh cardwords_cardbase.hh \
 cardwords_char.hh cardwords_iostream.hh cardwords_matrix.hh \
 cardwords_cardtablelocation.hh cardwords_exceptions.hh \
 cardwords_gettext.hh cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardcontainer1dim.hh \
 cardwords_string.hh cardwords_direction.hh cardwords_pile.hh \
 cardwords_gtk_cardcell.hh cardwords_gtk_common_card_cell_styles.hh \
 cardwords_gtk_cellattributetype.hh config.hh
cardwords_gtk_cardtableinfo.o: cardwords_gtk_cardtableinfo.cc \
 cardwords_gtk_cardtableinfo.hh cardwords_cardtable.hh \
 cardwords_cardcontainer2dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_matrix.hh \
 cardwords_cardtablelocation.hh cardwords_exceptions.hh \
 cardwords_gettext.hh cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardcontainer1dim.hh \
 cardwords_string.hh cardwords_direction.hh cardwords_pile.hh \
 cardwords_gtk_cardcell.hh cardwords_gtk_common_card_cell_styles.hh \
 cardwords_gtk_cellattributetype.hh config.hh \
 cardwords_stringconverters.hh
cardwords_gtkclient.o: cardwords_gtkclient.cc cardwords_gtkclient.hh \
 cardwords_commclient.hh cardwords_baseclient.hh \
 cardwords_tcpclient.hh cardwords_playerlist.hh \
 cardwords_exceptions.hh cardwords_iostream.hh cardwords_gettext.hh \
 cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_string.hh cardwords_cardtablelocation.hh \
 cardwords_direction.hh cardwords_cardoccurrencemap.hh \
 cardwords_gtk_cardtable.hh cardwords_gtk_cardtableinfo.hh \
 cardwords_cardtable.hh cardwords_cardcontainer2dim.hh \
 cardwords_matrix.hh cardwords_pile.hh cardwords_gtk_cardcell.hh \
 cardwords_gtk_common_card_cell_styles.hh \
 cardwords_gtk_cellattributetype.hh config.hh \
 cardwords_gtk_playerlist.hh cardwords_gtk_actionselection.hh \
 cardwords_actionselection.hh cardwords_hand.hh \
 cardwords_gtk_handdisplay.hh cardwords_gtk_pileinfo.hh \
 cardwords_gtk_addword.hh cardwords_gtk_optionsdialog.hh \
 cardwords_gtk_startserverdialog.hh cardwords_gtk_helpwindow.hh \
 cardwords_options.hh cardwords_gtk_connectdialog.hh \
 cardwords_gtk_appearancedialog.hh cardwords_gtk_identitydialog.hh \
 cardwords_childprocess.hh cardwords_pipe.hh cardwords_gtk_cardlist.hh \
 cardwords_gtk_menu.hh cardwords_clientpile.hh cardwords_bonustable.hh \
 cardwords_server.hh cardwords_selectiblechild.hh cardwords_select.hh \
 cardwords_stringconverters.hh cardwords_gtk_popup.hh
cardwords_gtk_clientoptionsdialog.o: \
 cardwords_gtk_clientoptionsdialog.cc \
 cardwords_gtk_clientoptionsdialog.hh cardwords_gettext.hh \
 cardwords_readfile.hh
cardwords_gtk_common_card_cell_styles.o: \
 cardwords_gtk_common_card_cell_styles.cc \
 cardwords_gtk_common_card_cell_styles.hh \
 cardwords_gtk_cellattributetype.hh cardwords_gettext.hh
cardwords_gtk_connectdialog.o: cardwords_gtk_connectdialog.cc \
 cardwords_gtk_connectdialog.hh cardwords_options.hh \
 cardwords_gettext.hh cardwords_readfile.hh
cardwords_gtk_handdisplay.o: cardwords_gtk_handdisplay.cc \
 cardwords_gtk_handdisplay.hh cardwords_hand.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_pile.hh cardwords_gtk_cardcell.hh \
 cardwords_gtk_common_card_cell_styles.hh \
 cardwords_gtk_cellattributetype.hh config.hh
cardwords_gtk_helpwindow.o: cardwords_gtk_helpwindow.cc \
 cardwords_gtk_helpwindow.hh cardwords_gettext.hh
cardwords_gtk_identitydialog.o: cardwords_gtk_identitydialog.cc \
 cardwords_gtk_identitydialog.hh cardwords_options.hh \
 cardwords_gettext.hh cardwords_readfile.hh
cardwords_gtk_menu.o: cardwords_gtk_menu.cc cardwords_gtk_menu.hh
cardwords_gtk_optionsdialog.o: cardwords_gtk_optionsdialog.cc \
 cardwords_gtk_optionsdialog.hh cardwords_gtk_startserverdialog.hh \
 cardwords_gtk_helpwindow.hh cardwords_options.hh \
 cardwords_gtk_connectdialog.hh cardwords_gtk_appearancedialog.hh \
 cardwords_gtk_identitydialog.hh cardwords_gettext.hh
cardwords_gtk_pileinfo.o: cardwords_gtk_pileinfo.cc \
 cardwords_gtk_pileinfo.hh cardwords_gettext.hh
cardwords_gtk_playerlist.o: cardwords_gtk_playerlist.cc \
 cardwords_gtk_playerlist.hh cardwords_playerlist.hh \
 cardwords_exceptions.hh cardwords_iostream.hh cardwords_gettext.hh
cardwords_gtk_popup.o: cardwords_gtk_popup.cc cardwords_gtk_popup.hh \
 cardwords_gettext.hh
cardwords_gtk_startserverdialog.o: cardwords_gtk_startserverdialog.cc \
 cardwords_gtk_startserverdialog.hh cardwords_gtk_helpwindow.hh \
 cardwords_options.hh cardwords_gettext.hh cardwords_readfile.hh
cardwords_ncursesapp.o: cardwords_ncursesapp.cc \
 cardwords_ncursesapp.hh cardwords_select.hh cardwords_gettext.hh
cardwords_options.o: cardwords_options.cc cardwords_options.hh \
 cardwords_gettext.hh cardwords_exceptions.hh cardwords_iostream.hh \
 cardwords_max.hh cardwords_stringconverters.hh
cardwords_participant.o: cardwords_participant.cc \
 cardwords_participant.hh cardwords_select.hh cardwords_hand.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_pile.hh cardwords_exceptions.hh \
 cardwords_gettext.hh cardwords_selectiblechild.hh \
 cardwords_childprocess.hh cardwords_pipe.hh cardwords_game.hh \
 config.hh cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_string.hh \
 cardwords_cardtablelocation.hh cardwords_direction.hh \
 cardwords_server.hh cardwords_bonustable.hh \
 cardwords_stringconverters.hh
cardwords_pile.o: cardwords_pile.cc cardwords_pile.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_iostream.hh cardwords_exceptions.hh cardwords_gettext.hh
cardwords_pipe.o: cardwords_pipe.cc cardwords_pipe.hh \
 cardwords_exceptions.hh cardwords_iostream.hh cardwords_gettext.hh
cardwords_playerlist.o: cardwords_playerlist.cc \
 cardwords_playerlist.hh cardwords_exceptions.hh cardwords_iostream.hh \
 cardwords_gettext.hh cardwords_server.hh cardwords_selectiblechild.hh \
 cardwords_childprocess.hh cardwords_pipe.hh cardwords_select.hh \
 cardwords_bonustable.hh
cardwords_readfile.o: cardwords_readfile.cc cardwords_readfile.hh \
 cardwords_gettext.hh
cardwords_searchwordmusts.o: cardwords_searchwordmusts.cc \
 cardwords_searchwordmusts.hh cardwords_char.hh cardwords_iostream.hh \
 cardwords_string.hh
cardwords_select.o: cardwords_select.cc cardwords_select.hh
cardwords_selectiblechild.o: cardwords_selectiblechild.cc \
 cardwords_selectiblechild.hh cardwords_childprocess.hh \
 cardwords_iostream.hh cardwords_pipe.hh cardwords_select.hh \
 cardwords_exceptions.hh cardwords_gettext.hh cardwords_implication.hh \
 cardwords_server.hh cardwords_bonustable.hh cardwords_dicbot.hh \
 cardwords_stringconverters.hh
cardwords_server.o: cardwords_server.cc cardwords_server.hh \
 cardwords_selectiblechild.hh cardwords_childprocess.hh \
 cardwords_iostream.hh cardwords_pipe.hh cardwords_select.hh \
 cardwords_exceptions.hh cardwords_gettext.hh cardwords_bonustable.hh \
 cardwords_serversocket.hh cardwords_game.hh cardwords_participant.hh \
 cardwords_hand.hh cardwords_cardcontainer1dim.hh \
 cardwords_cardcontainer.hh cardwords_card.hh cardwords_cardbase.hh \
 cardwords_char.hh cardwords_pile.hh config.hh cardwords_move.hh \
 cardwords_cardselection.hh cardwords_carddescription.hh \
 cardwords_string.hh cardwords_cardtablelocation.hh \
 cardwords_direction.hh cardwords_cardtable.hh \
 cardwords_cardcontainer2dim.hh cardwords_matrix.hh
cardwords_serversocket.o: cardwords_serversocket.cc \
 cardwords_serversocket.hh cardwords_server.hh \
 cardwords_selectiblechild.hh cardwords_childprocess.hh \
 cardwords_iostream.hh cardwords_pipe.hh cardwords_select.hh \
 cardwords_exceptions.hh cardwords_gettext.hh cardwords_bonustable.hh \
 cardwords_participant.hh cardwords_hand.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_pile.hh
cardwords_sgml2helptext.o: cardwords_sgml2helptext.cc
cardwords_string.o: cardwords_string.cc cardwords_string.hh \
 cardwords_char.hh cardwords_iostream.hh
cardwords_stringconverters.o: cardwords_stringconverters.cc \
 cardwords_stringconverters.hh cardwords_gettext.hh \
 cardwords_exceptions.hh cardwords_iostream.hh
cardwords_tcpclient.o: cardwords_tcpclient.cc cardwords_tcpclient.hh \
 cardwords_stringconverters.hh
cardwords_textclient.o: cardwords_textclient.cc cardwords_options.hh \
 cardwords_exceptions.hh cardwords_iostream.hh cardwords_gettext.hh \
 cardwords_textclient.hh cardwords_commclient.hh \
 cardwords_baseclient.hh cardwords_tcpclient.hh \
 cardwords_playerlist.hh cardwords_move.hh cardwords_cardselection.hh \
 cardwords_carddescription.hh cardwords_cardbase.hh cardwords_char.hh \
 cardwords_cardcontainer1dim.hh cardwords_cardcontainer.hh \
 cardwords_card.hh cardwords_string.hh cardwords_cardtablelocation.hh \
 cardwords_direction.hh cardwords_cardoccurrencemap.hh \
 cardwords_ncursesapp.hh cardwords_select.hh
cardwords_text_mouse.o: cardwords_text_mouse.cc
