-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
36 lines (27 loc) · 922 Bytes
/
Makefile
File metadata and controls
36 lines (27 loc) · 922 Bytes
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
LIB_OUT_FILE = lib
EX_OUT_FILE = example
OCAML_FILES = alignedba.ml
EXAMPLE_FILE = example.ml
C_FILES = alignedba_c.c
ML_PKG_STRING = -package bigarray -linkpkg
C_LIB_STRING =
C_OPT_STRING = -ccopt -O3 -ccopt -Wall
ML_OPT_STRING = -O3 -g
DEBUG =
SOURCE_DIR = src
BUILD_DIR = build
lib:
rm -rf $(BUILD_DIR)
mkdir $(BUILD_DIR)
cp $(SOURCE_DIR)/* $(BUILD_DIR)
cd $(BUILD_DIR) && ocamlfind ocamlopt -c $(C_LIB_STRING) $(C_OPT_STRING) $(OCAML_FILES) $(C_FILES) $(ML_PKG_STRING)
cd $(BUILD_DIR) && ocamlfind ocamlopt -a -o $(LIB_OUT_FILE) *.cmx *.o
example:
rm -rf $(BUILD_DIR)
mkdir $(BUILD_DIR)
cp $(SOURCE_DIR)/* $(BUILD_DIR)
cd $(BUILD_DIR) && ocamlfind ocamlopt $(DEBUG) -o $(EX_OUT_FILE) $(C_LIB_STRING) $(C_OPT_STRING) $(OCAML_FILES) $(EXAMPLE_FILE) $(C_FILES) $(ML_PKG_STRING)
cp $(BUILD_DIR)/$(EX_OUT_FILE) $(EX_OUT_FILE)
clean:
rm -rf $(BUILD_DIR)
rm $(EX_OUT_FILE)