-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
48 lines (29 loc) · 801 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# files
EXE = fruit
OBJS = attack.o board.o book.o eval.o fen.o hash.o list.o main.o material.o \
move.o move_check.o move_do.o move_evasion.o move_gen.o move_legal.o \
option.o pawn.o piece.o posix.o protocol.o pst.o pv.o random.o recog.o \
search.o search_full.o see.o sort.o square.o trans.o util.o value.o \
vector.o
# rules
all: $(EXE) .depend
clean:
$(RM) *.o .depend gmon.out
# general
CXX = g++
CXXFLAGS = -pipe
LDFLAGS = -lm
# C++
CXXFLAGS += -fno-exceptions -fno-rtti
# optimisation
CXXFLAGS += -O3 -fstrict-aliasing
CXXFLAGS += -fomit-frame-pointer
# CXXFLAGS += -march=athlon-xp # SELECT ME
# strip
LDFLAGS += -s
# dependencies
$(EXE): $(OBJS)
$(CXX) $(LDFLAGS) -o $@ $(OBJS)
.depend:
$(CXX) -MM $(OBJS:.o=.cpp) > $@
include .depend