OLD | NEW |
---|---|
(Empty) | |
1 # The following variables will likely need to be modified, depending on where | |
JF
2014/03/21 02:11:30
It doesn't matter much now, but I thought we were
Jim Stichnoth
2014/03/21 21:33:08
Right, more work is needed (likely in a later CL?)
| |
2 # and how you built LLVM & Clang. They can be overridden in a command-line | |
3 # invocation of make, like: | |
4 # | |
5 # make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> ... | |
6 # | |
7 | |
8 # LLVM_SRC_PATH is the path to the root of the checked out source code. This | |
9 # directory should contain the configure script, the include/ and lib/ | |
10 # directories of LLVM, Clang in tools/clang/, etc. | |
11 # Alternatively, if you're building vs. a binary download of LLVM, then | |
12 # LLVM_SRC_PATH can point to the main untarred directory. | |
13 LLVM_SRC_PATH ?= ../llvm | |
14 | |
15 # LLVM_BIN_PATH is the directory where binaries are placed by the LLVM build | |
16 # process. It should contain the tools like opt, llc and clang. The default | |
17 # reflects a debug build with autotools (configure & make). | |
18 LLVM_BIN_PATH ?= $(shell readlink -e ../../out/llvm_i686_linux_work/Release+Asse rts/bin) | |
19 | |
20 $(info -----------------------------------------------) | |
21 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) | |
22 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH)) | |
23 $(info -----------------------------------------------) | |
24 | |
25 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags` | |
26 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --ldflags --libs` | |
27 | |
28 # It's recommended that CXX matches the compiler you used to build LLVM itself. | |
29 OPTLEVEL := -O0 | |
30 CXX := g++ | |
31 CXXFLAGS := -Wall -Werror -fno-rtti $(OPTLEVEL) -g $(LLVM_CXXFLAGS) -m32 | |
32 LDFLAGS := -m32 | |
33 | |
34 SRCS= \ | |
35 IceCfg.cpp \ | |
36 IceCfgNode.cpp \ | |
37 IceInst.cpp \ | |
38 IceOperand.cpp \ | |
39 IceTypes.cpp \ | |
40 llvm2ice.cpp | |
41 | |
42 OBJS=$(patsubst %.cpp, build/%.o, $(SRCS)) | |
43 | |
44 # Keep all the first target so it's the default. | |
45 all: llvm2ice | |
46 | |
47 .PHONY: all | |
48 | |
49 llvm2ice: $(OBJS) | |
50 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) -ldl | |
51 | |
52 # TODO: Be more precise than "*.h" here and elsewhere. | |
53 $(OBJS): build/%.o: src/%.cpp src/*.h | |
54 $(CXX) -c $(CXXFLAGS) $< -o $@ | |
55 | |
56 $(OBJS): | build | |
57 | |
58 build: | |
59 @mkdir -p $@ | |
60 | |
61 check: llvm2ice | |
62 LLVM_BIN_PATH=$(LLVM_BIN_PATH) $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tes ts_lit | |
63 | |
64 # TODO: Fix the use of wildcards. | |
65 format: | |
66 $(LLVM_BIN_PATH)/clang-format -style=LLVM -i src/Ice*.h src/Ice*.cpp src /llvm2ice.cpp | |
67 | |
68 clean: | |
69 rm -rf llvm2ice *.o build/ | |
OLD | NEW |