1 #LLVM_HEADERS=/usr/include/
3 SWIGFLAGS
=-cffi
-noswig-lisp
-generate-typedef
-I
$(LLVM_HEADERS
)
5 CFLAGS
=$(shell llvm-config
--cflags)
7 LDFLAGS
=$(shell llvm-config
--ldflags)
9 LLVM_LIBS
=-Wl
,--whole-archive
$(shell llvm-config
--libs core jit interpreter native asmparser ipo
) -Wl
,--no-whole-archive
11 BINDINGS_FILES
=$(addprefix generated
/,\
14 execution-engine.lisp \
16 transforms-scalar.lisp \
23 bindings
: $(BINDINGS_FILES
)
26 $(SWIG
) $(SWIGFLAGS
) -o
$@
-module
$* $<
28 generated
/core.lisp
: core.i
29 $(SWIG
) $(SWIGFLAGS
) -o
$@
-module core
$<
30 sed
's/(cffi:defcfun/(wrap-defcfun/' -i generated
/core.lisp
32 llvm-extras.o
: llvm-extras.
cpp
34 cl-llvm.so
: llvm-extras.o
35 $(LINKER
) -shared
-o
$@
$(LDFLAGS
) $^
$(LLVM_LIBS
)
38 rm $(BINDINGS_FILES
) cl-llvm.so llvm-extras.o