CFLAGS=-Wall -O3 -fexpensive-optimizations -ffast-math -funroll-loops

all: crossword crossword_heur crw2tex

crossword: wordset.o crossword.cpp mirandom.o parametros.o Makefile
	gcc $(CFLAGS) crossword.cpp wordset.o mirandom.o parametros.o contador.o -lstdc++ -o crossword

crossword_heur: wordset.o crossword.cpp mirandom.o parametros.o Makefile
	gcc $(CFLAGS) -DHEUR crossword.cpp wordset.o mirandom.o parametros.o contador.o -lstdc++ -o crossword_heur

wordset.o: wordset.h wordset.cpp contador.o Makefile
	gcc -c $(CFLAGS) wordset.cpp -o wordset.o

contador.o: contador.h contador.cpp Makefile
	gcc -c $(CFLAGS) contador.cpp -o contador.o

mirandom.o: mirandom.cpp mirandom.h Makefile
	gcc -c $(CFLAGS) mirandom.cpp -o mirandom.o

parametros.o: parametros.cpp parametros.h Makefile
	gcc -c $(CFLAGS) parametros.cpp -o parametros.o

crw2tex: crw2tex.cpp contador.o
	gcc -Wall crw2tex.cpp contador.o -o crw2tex -lstdc++
clean:
	rm -f wordset.o contador.o crossword mirandom.o crw2tex *.log *.aux core *.tex crossword_heur *.dvi *.ps1 parametros.o example.out
