#
# Makefile para o br.ispell
#
#     make hash                  gera o hash
#     make install               instala o hash
#     make conjugue_install      instala o conjugue
#     make palavras_ispell       gera a lista de todas as palavras
#     make paradigmas            mostra os paradigmas em ordem de uso
#

#
# Configure os seguintes paths:
#
#     HASHDIR - aqui ser colocado o br.hash
#     BINDIR - aqui ser colocado o conjugue
#     VDIR - aqui ser colocado o banco de verbos
#     MANDIR - aqui ser colocada a man page do conjugue
#
# obs. se VDIR no for /usr/local/lib, ento edite o conjugue para
# alterar nele o path default do banco de verbos.
#
BINDIR=/usr/local/bin
HASHDIR=/usr/lib/ispell
VDIR=/usr/local/lib
MANDIR=/usr/local/man

#
# Daqui para baixo no mexa mais em nada
#

#
# Gera as conjugaes de todos os verbos, com o resultado
# fatorado pelas flags do br.aff.
#
# Veja a observao a respeito do verbo pr no arquivo
# vocabs/Estruturado.
#
# O segundo grep remove algumas linhas esprias que o conjugue
# gera.
#
v.ispell:
	./conjugue -v BANCO=verbos -v FORMATO=ci -v CMD=T|grep -v "^pr/"|grep -v "^/R" >v.tmp
	mv -f v.tmp v.ispell

#
# Gera o vocabulario total, flexionado com as flags do br.aff.
#
hash: v.ispell
	cat v.ispell E.ispell|sort|uniq >br.tmp
	mv -f br.tmp br.ispell
	buildhash br.ispell br.aff br.hash

#
# Instala o br.hash
#
install: br.ispell
	cp -f br.hash $(HASHDIR)

#
# Instala o conjugue
#
install_conjugue:
	cp -f conjugue conjugue $(BINDIR)
	cp -f verbos $(VDIR)
	cp -f conjugue.1 $(MANDIR)/man1

#
# Gera o vocabulrio flexionado a partir do br.hash.
#
palavras.ispell:
	cat br.ispell | ispell -e -d ./br.hash | tr " " "\n" |sort|uniq >palavras.tmp
	mv -f palavras.tmp palavras.ispell

#
# Lista todos os paradigmas em uso e o nmero de vezes que cada
# um  usado.
#
paradigmas:
	./conjugue -v BANCO=verbos -v FORMATO=n -v CMD=T|grep paradigma|sed 's/ deduzido//'|sort|uniq -c|sort

#
# Remove todos os arquivos construdos.
#
clean:
	rm -f v.tmp br.tmp palavras.tmp
	rm -f br.hash br.ispell.cnt br.ispell.stat
	rm -f v.ispell br.ispell
	rm -f palavras.ispell

