-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
84 lines (67 loc) · 1.55 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
SRC =
SRC += lib/common.ml
SRC += lib/math/tensor.ml
SRC += lib/alias.ml
SRC += lib/math/shape.mli
SRC += lib/math/shape.ml
SRC += $(wildcard lib/layers/*.ml)
SRC += lib/types.ml
SRC += lib/math/deepmath.ml
SRC += lib/nn.ml
SRC += lib/deep.ml
SRC += lib/test.ml
# SRC += lib/ocadl.ml
C_SRC =
C_SRC += gpu/gemm.c
C_INCL = /home/slamko/.opam/default/lib/ocaml
CPP_SRC =
CPP_SRC += gpu/ocl.cpp
CPP_SRC += gpu/blac.cpp
CPP_SRC += gpu/deep.cpp
OBJS =
OBJS += ocl.o
OBJS += blac.o
OBJS += deep.o
OBJS += gemm.o
CAML_PKGS =
CAML_PKGS =csv,domainslib,unix,ppx_deriving.show,ppx_deriving.enum
CFLAGS = -O2 -D CL_TARGET_OPENCL_VERSION=300 -D CL_HPP_TARGET_OPENCL_VERSION=300
CAML_FLAGS = -O2
debug: FLAGS = -g
all: $(SRC)
gcc -c $(CFLAGS) -I$(C_INCL) $(C_SRC)
g++ -c $(CFLAGS) -I$(C_INCL) $(CPP_SRC)
ocamlfind ocamlopt $(CAML_FLAGS) -o ocadl \
-I lib -I lib/layers -I lib/math -I test $(OBJS) \
-linkpkg -package $(CAML_PKGS) \
$(SRC) -cclib -lOpenCL -cclib -lstdc++
dune: $(SRC)
make -C gpu lib
dune clean
export PKG_CONFIG_PATH=/home/slamko/proj/ai/gocadl/gpu:$PKG_CONFIG_PATH && dune build
clean:
dune clean
rm -f lib/*.o
rm -f lib/*.cmi
rm -f lib/*.cma
rm -f lib/*.cmxa
rm -f lib/*.cmx
rm -f lib/*.cmt
rm -f lib/math/*.o
rm -f lib/math/*.cmi
rm -f lib/math/*.cma
rm -f lib/math/*.cmxa
rm -f lib/math/*.cmx
rm -f lib/math/*.cmt
rm -f lib/layers/*.o
rm -f lib/layers/*.cmi
rm -f lib/layers/*.cma
rm -f lib/layers/*.cmxa
rm -f lib/layers/*.cmx
rm -f lib/layers/*.cmt
rm -f *.o
rm -f *.cmi
rm -f *.cma
rm -f *.cmxa
rm -f *.cmx
rm -f *.cmt