-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
62 lines (46 loc) · 1.59 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
OCAMLC=ocamlfind c
OCAMLOPT=ocamlfind opt
OCAMLMKLIB=ocamlfind mklib
EXT_DLL=$(shell $(OCAMLC) -config | grep ext_dll | cut -f 2 -d ' ')
EXT_LIB=$(shell $(OCAMLC) -config | grep ext_lib | cut -f 2 -d ' ')
EXT_OBJ=$(shell $(OCAMLC) -config | grep ext_obj | cut -f 2 -d ' ')
CFLAGS=-std=gnu99 -ffast-math
all: assimp.cma assimp.cmxa
ml_assimp$(EXT_OBJ): ml_assimp.c
$(OCAMLC) -c -ccopt "$(CFLAGS)" $<
dll_assimp_stubs$(EXT_DLL) lib_assimp_stubs$(EXT_LIB): ml_assimp$(EXT_OBJ)
$(OCAMLMKLIB) -o _assimp_stubs $< -cclib -lassimp
assimp.cmi: assimp.mli
$(OCAMLC) -package result -c $<
assimp.cmo: assimp.ml assimp.cmi
$(OCAMLC) -package result -c $<
assimp.cma: assimp.cmo dll_assimp_stubs$(EXT_DLL)
$(OCAMLC) -package result -a -custom -o $@ $< \
-dllib dll_assimp_stubs$(EXT_DLL) -dllib libassimp$(EXT_DLL) \
-ccopt -L/usr/local/lib -cclib -l_assimp_stubs -cclib -lassimp
assimp.cmx: assimp.ml assimp.cmi
$(OCAMLOPT) -package result -c $<
assimp.cmxa assimp$(EXT_LIB): assimp.cmx dll_assimp_stubs$(EXT_DLL)
$(OCAMLOPT) -package result -a -o $@ $< \
-cclib -l_assimp_stubs -cclib -lassimp
.PHONY: clean install
clean:
rm -f *$(EXT_LIB) *$(EXT_OBJ) *$(EXT_DLL) *.cm[ixoa] *.cmxa
DIST_FILES= \
assimp$(EXT_LIB) \
assimp.cmi \
assimp.cmo \
assimp.cma \
assimp.cmx \
assimp.cmxa \
assimp.ml \
assimp.mli \
lib_assimp_stubs$(EXT_LIB) \
dll_assimp_stubs$(EXT_DLL)
install: $(DIST_FILES) META
ocamlfind install assimp $^
uninstall:
ocamlfind remove assimp
reinstall:
-$(MAKE) uninstall
$(MAKE) install