CC = gcc
CFLAGS = -ansi -Wall -pedantic -lm -g

BIN = bin/syn

DOC = doc/rapport.pdf
SLD = doc/slides.pdf

OBJS = tmp/corpus.o tmp/main.o tmp/session.o tmp/simulation.o tmp/surfer.o \
 tmp/website.o

.PHONY: all clean clear doc

all: $(BIN)

doc: $(DOC)
slides: $(SLD)

tmp/corpus.o: src/corpus.c src/main.h src/website.h src/corpus.h
tmp/main.o: src/main.c src/simulation.h src/main.h
tmp/session.o: src/session.c src/surfer.h src/main.h src/corpus.h \
 src/website.h src/session.h
tmp/simulation.o: src/simulation.c src/main.h src/surfer.h src/session.h \
 src/website.h src/simulation.h
tmp/surfer.o: src/surfer.c src/main.h src/surfer.h
tmp/website.o: src/website.c src/main.h src/website.h

$(OBJS):
	$(CC) $(CFLAGS) -c $< -o $@

$(BIN): $(OBJS)
	$(CC) $(CFLAGS) $^ -o $@

$(DOC): doc/rapport.tex
	pdflatex -output-directory tmp $<
	pdflatex -output-directory tmp $<
	cp tmp/rapport.pdf $@

$(SLD): doc/slides.tex
	pdflatex -output-directory tmp $<
	pdflatex -output-directory tmp $<
	cp tmp/slides.pdf $@

clean: clear
	rm -f $(OBJS) $(BIN)

clear:
	rm -f *~ src/*~ var/*~ bin/*~ tmp/*~ tmp/*.tmp tmp/*.pdf
