forked from gcp/LeelaGUI
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
95 lines (81 loc) · 3.62 KB
/
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
default:
$(MAKE) CC=gcc CXX=g++ \
CXXFLAGS='$(CXXFLAGS) -Wall -Wextra -pipe -O3 -g -ffast-math -mtune=generic -flto -std=c++14 -DNDEBUG' \
LDFLAGS='$(LDFLAGS) -flto' \
leelagui
debug:
$(MAKE) CC=gcc CXX=g++ \
CXXFLAGS='$(CXXFLAGS) -Wall -Wextra -pipe -O0 -g -std=c++14' \
LDFLAGS='$(LDFLAGS) -g' \
leelagui
macos:
$(MAKE) CC=gcc CXX=g++ \
CXXFLAGS='$(CXXFLAGS) -Wall -Wextra -pipe -O3 -g -ffast-math -mtune=generic -flto -std=c++14 -DNDEBUG' \
LDFLAGS='$(LDFLAGS) -g' \
leelagui Leela.app
clang:
$(MAKE) CC=clang-5.0 CXX=clang++-5.0 \
CXXFLAGS='$(CXXFLAGS) -Wall -Wextra -O3 -ffast-math -mtune=generic -flto -std=c++14 -DNDEBUG -Wno-inconsistent-missing-override -Wno-unused-parameter' \
LDFLAGS='$(LDFLAGS) -flto -fuse-linker-plugin' \
leelagui
#DYNAMIC_LIBS += -lboost_filesystem -lcaffe -lprotobuf -lglog
LIBS += -lopenblas
DYNAMIC_LIBS += -lpthread
#DYNAMIC_LIBS += -lOpenCL
#LIBS += -framework Accelerate
#LIBS += -framework OpenCL
#DYNAMIC_LIBS += -lmkl_rt
#CAFFE_BASE = /usr/local
#CAFFE_INC = $(CAFFE_BASE)/include
#CAFFE_LIB = $(CAFFE_BASE)/lib
#CXXFLAGS += -I$(CAFFE_INC) -I/usr/local/cuda/include
#CXXFLAGS += -I/opt/intel/mkl/include
#CXXFLAGS += --input-charset=cp932
CXXFLAGS += -I/usr/local/boost/include
CXXFLAGS += -I/opt/OpenBLAS/include
CXXFLAGS += -Iengine
#CXXFLAGS += -I/System/Library/Frameworks/Accelerate.framework/Versions/Current/Headers
#LDFLAGS += -L$(CAFFE_LIB)
#CXXFLAGS += -stdlib=libc++
#LDFLAGS += -stdlib=libc++
#LDFLAGS += -L/opt/intel/mkl/lib/intel64/
#LDFLAGS += -L/opt/intel/mkl/lib/ia32/
LDFLAGS += -L/opt/OpenBLAS/lib
#WX_HOME = ~/git/wxWidgets/mac-build
WX_HOME = /usr/local/bin
CXXFLAGS += -I.
CPPFLAGS += -MD -MP
sources = engine/Network.cpp engine/AttribScores.cpp engine/FullBoard.cpp engine/KoState.cpp engine/Playout.cpp \
engine/TimeControl.cpp engine/UCTSearch.cpp engine/Attributes.cpp engine/Book.cpp \
engine/GameState.cpp engine/PNNode.cpp engine/SGFParser.cpp engine/Timing.cpp \
engine/Utils.cpp engine/FastBoard.cpp engine/Matcher.cpp engine/PNSearch.cpp \
engine/SGFTree.cpp engine/TTable.cpp engine/Zobrist.cpp engine/FastState.cpp engine/GTP.cpp \
engine/MCOTable.cpp engine/Random.cpp engine/SMP.cpp engine/UCTNode.cpp engine/NN.cpp \
engine/NN128.cpp engine/NNValue.cpp engine/OpenCL.cpp engine/MCPolicy.cpp \
AboutDialog.cpp AnalysisWindow.cpp App.cpp CalculateDialog.cpp ClockAdjustDialog.cpp \
EngineThread.cpp GUI.cpp MainFrame.cpp NewGameDialog.cpp RatedSizeDialog.cpp \
ScoreDialog.cpp ScoreHistogram.cpp SettingsDialog.cpp TBoardPanel.cpp TScorePanel.cpp
objects = $(sources:.cpp=.o)
deps = $(sources:%.cpp=%.d)
-include $(deps)
%.o: %.cpp
$(CXX) $(CXXFLAGS) $(CPPFLAGS) `$(WX_HOME)/wx-config --cxxflags` -c -o $@ $<
leelagui: $(objects)
# $(CXX) $(LDFLAGS) -o $@ $^ -static-libgcc -static-libstdc++ -Wl,-Bstatic $(LIBS) -Wl,--as-needed,-Bdynamic $(DYNAMIC_LIBS) `$(WX_HOME)/wx-config --libs --static=yes`
$(CXX) $(LDFLAGS) -o $@ $^ -static-libgcc -static-libstdc++ -Wl,-Bstatic $(LIBS) -Wl,--as-needed,-Bdynamic $(DYNAMIC_LIBS) `$(WX_HOME)/wx-config --libs`
# $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) $(DYNAMIC_LIBS) `$(WX_HOME)/wx-config --libs --static=yes`
Leela.app: Info.plist leelagui img/leela.icns
strip leelagui
SetFile -t APPL leelagui
-mkdir Leela.app
-mkdir Leela.app/Contents
-mkdir Leela.app/Contents/MacOS
-mkdir Leela.app/Contents/Resources
-mkdir Leela.app/Contents/Resources/English.lproj
cp Info.plist Leela.app/Contents/
echo -n 'APPL????' > Leela.app/Contents/PkgInfo
cp leelagui Leela.app/Contents/MacOS/Leela
cp img/leela.icns Leela.app/Contents/Resources/
clean:
-$(RM) leelagui $(objects) $(deps)
.PHONY: clean default debug clang