CC=g++
# -pedantic should be used for code cleaning
# -g option to use valgrind
CFLAGS=-W -Wall -ansi -O3
LDFLAGS=-lpthread
#SRC = $(wildcard *.cpp)
#OBJS = $(SRC:.cpp=.o)
EXEC= olivechess
all: $(EXEC)
# explicit version - display the full detail of compilation results and warnings
olivechess: main.o bitboard.o engine.o eval.o movegen.o notation.o position.o search.o testools.o thread.o transpose.o uci.o watch.o zobrist.o
$(CC) -o $@ $^ $(LDFLAGS)
main.o: main.cpp
$(CC) -o $@ -c $< $(CFLAGS)
engine.o: engine.cpp
$(CC) -o $@ -c $< $(CFLAGS)
search.o: search.cpp
$(CC) -o $@ -c $< $(CFLAGS)
movegen.o: movegen.cpp
$(CC) -o $@ -c $< $(CFLAGS)
eval.o: eval.cpp
$(CC) -o $@ -c $< $(CFLAGS)
zobrist.o: zobrist.cpp
$(CC) -o $@ -c $< $(CFLAGS)
transpose.o: transpose.cpp
$(CC) -o $@ -c $< $(CFLAGS)
position.o: position.cpp
$(CC) -o $@ -c $< $(CFLAGS)
notation.o: notation.cpp
$(CC) -o $@ -c $< $(CFLAGS)
uci.o: uci.cpp
$(CC) -o $@ -c $< $(CFLAGS)
bitboard.o: bitboard.cpp
$(CC) -o $@ -c $< $(CFLAGS)
thread.o: thread.cpp
$(CC) -o $@ -c $< $(CFLAGS)
watch.o: watch.cpp
$(CC) -o $@ -c $< $(CFLAGS)
testools.o: testools.cpp
$(CC) -o $@ -c $< $(CFLAGS)
# generic version () - problem with warning outputs
#$(EXEC): $(OBJS)
# $(CC) -o $@ $^ $(LDFLAGS)
#%.o : %.c
# $(CC) -o $@ -c $< $(CFLAGS)
clean:
rm -rf *.o *~
mrproper: clean
rm -rf $(EXEC)