Skip to content

Commit 212ff7d

Browse files
committed
Port to LLVM 3.8, improve Makefile for example
1 parent edb2c3b commit 212ff7d

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

part4/Makefile

+18-5
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ TOOLS:=tutorial04
55
#TARGET:=native
66
TARGET:=byte
77

8-
LLVM_VERSION := 3.5
8+
LLVM_VERSION := 3.8
9+
CLANG := clang-$(LLVM_VERSION)
10+
LLC := llc-$(LLVM_VERSION)
911

1012
OCAMLBUILDFLAGS:=-classic-display -j 0 -cflags -w,@a-4
1113

1214
export OCAMLPATH=/usr/lib/ocaml/llvm-$(LLVM_VERSION)
1315

14-
tutorial04_OCAMLBUILDFLAGS:=-use-ocamlfind -pkgs llvm,llvm.analysis,llvm.bitwriter,llvm.target,llvm_X86
16+
tutorial04_OCAMLBUILDFLAGS:=-use-ocamlfind -pkgs llvm,llvm.analysis,llvm.bitwriter,llvm.target,llvm_X86 -lflags -ccopt,-L/usr/lib/llvm-$(LLVM_VERSION)/lib
1517

1618

1719

@@ -32,12 +34,23 @@ default: $(TOOLS)
3234
$(TOOLS):
3335
$(OCAMLBUILD) $(OCAMLBUILDFLAGS) $($@_OCAMLBUILDFLAGS) $($@_OCAMLBUILDFLAGS_$(TARGET)) -I $(SRC_DIR) -build-dir build/$@ $@.$(TARGET)
3436

35-
run: $(TOOLS)
36-
CAML_LD_LIBRARY_PATH=/usr/lib/ocaml/llvm-$(LLVM_VERSION) ./build/llvmBCTargetTriple/src/llvmBCTargetTriple.byte
37-
3837
clean: $(CLEAN_RULES)
38+
-rm -f hello hello.o hello.s hello.bc
3939

4040
$(CLEAN_RULES):
4141
$(OCAMLBUILD) $(OCAMLBUILDFLAGS) -I $(SRC_DIR) -build-dir build/$(patsubst %-clean,%,$@) -clean $(patsubst %-clean,%,$@).$(TARGET)
4242

43+
run: $(TOOLS) hello
44+
./hello
45+
46+
hello: hello.o
47+
$(CLANG) -o $@ $<
48+
49+
hello.o: hello.s
50+
$(CLANG) -c hello.s
51+
52+
hello.s: hello.bc
53+
$(LLC) $<
4354

55+
hello.bc: $(TOOLS)
56+
CAML_LD_LIBRARY_PATH=/usr/lib/ocaml/llvm-$(LLVM_VERSION) ./build/tutorial04/src/tutorial04.byte $@

0 commit comments

Comments
 (0)