forked from ahrefs/ocaml-sodium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
40 lines (29 loc) · 1.1 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
MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
CURRENT_DIR := $(dir $(MAKEFILE_PATH))
OCAML_LIB_DIR=$(shell ocamlc -where)
include $(OCAML_LIB_DIR)/Makefile.config
CTYPES_LIB_DIR=$(shell ocamlfind query ctypes)
ENV=CTYPES_LIB_DIR=$(CTYPES_LIB_DIR) OCAML_LIB_DIR=$(OCAML_LIB_DIR)
OCAMLBUILD=$(ENV) ocamlbuild -use-ocamlfind -classic-display
all:
$(OCAMLBUILD) lib/sodium.cma lib/sodium.cmxa lib/sodium.cmxs
clean:
$(OCAMLBUILD) -clean
test: _build/lib_test/nacl_runner
CAML_LD_LIBRARY_PATH=$(CURRENT_DIR)_build/lib:$(CAML_LD_LIBRARY_PATH) \
$(OCAMLBUILD) lib_test/test_sodium.byte --
$(OCAMLBUILD) lib_test/test_sodium.native --
install:
ocamlfind install sodium lib/META \
$(addprefix _build/lib/,sodium.mli sodium.cmi sodium.cmti \
sodium.cma sodium.cmx sodium.cmxa sodium.cmxs \
sodium$(EXT_LIB) \
dllsodium_stubs$(EXT_DLL) \
libsodium_stubs$(EXT_LIB))
uninstall:
ocamlfind remove sodium
reinstall: uninstall install
.PHONY: all clean test install uninstall reinstall
_build/%: %.c
mkdir -p $$(dirname $@)
$(CC) -Wall -g $(CFLAGS) -lsodium -o $@ $^