OLD | NEW |
1 # The following variables will likely need to be modified, depending on where | 1 # The following variables will likely need to be modified, depending on where |
2 # and how you built LLVM & Clang. They can be overridden in a command-line | 2 # and how you built LLVM & Clang. They can be overridden in a command-line |
3 # invocation of make, like: | 3 # invocation of make, like: |
4 # | 4 # |
5 # make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> ... | 5 # make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> ... |
6 # | 6 # |
7 | 7 |
8 # LLVM_SRC_PATH is the path to the root of the checked out source code. This | 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/ | 9 # directory should contain the configure script, the include/ and lib/ |
10 # directories of LLVM, Clang in tools/clang/, etc. | 10 # directories of LLVM, Clang in tools/clang/, etc. |
11 # Alternatively, if you're building vs. a binary download of LLVM, then | 11 # Alternatively, if you're building vs. a binary download of LLVM, then |
12 # LLVM_SRC_PATH can point to the main untarred directory. | 12 # LLVM_SRC_PATH can point to the main untarred directory. |
13 LLVM_SRC_PATH ?= ../llvm | 13 LLVM_SRC_PATH ?= ../llvm |
14 | 14 |
15 # LLVM_BIN_PATH is the directory where binaries are placed by the LLVM build | 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 | 16 # process. It should contain the tools like opt, llc and clang. The default |
17 # reflects a debug build with autotools (configure & make). | 17 # reflects a debug build with autotools (configure & make). |
18 LLVM_BIN_PATH ?= $(shell readlink -e \ | 18 LLVM_BIN_PATH ?= $(shell readlink -e \ |
19 ../../out/llvm_i686_linux_work/Release+Asserts/bin) | 19 ../../out/llvm_i686_linux_work/Release+Asserts/bin) |
20 | 20 |
| 21 HOST_ARCH ?= x86 |
| 22 ifeq ($(HOST_ARCH),x86_64) |
| 23 HOST_FLAGS = -m64 |
| 24 else |
| 25 ifeq ($(HOST_ARCH),x86) |
| 26 HOST_FLAGS = -m32 |
| 27 endif |
| 28 endif |
| 29 |
21 $(info -----------------------------------------------) | 30 $(info -----------------------------------------------) |
22 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) | 31 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) |
23 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH)) | 32 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH)) |
| 33 $(info Using HOST_ARCH = $(HOST_ARCH)) |
24 $(info -----------------------------------------------) | 34 $(info -----------------------------------------------) |
25 | 35 |
26 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags` | 36 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags` |
27 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --ldflags --libs` | 37 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --ldflags --libs` |
28 | 38 |
29 # It's recommended that CXX matches the compiler you used to build LLVM itself. | 39 # It's recommended that CXX matches the compiler you used to build LLVM itself. |
30 OPTLEVEL := -O0 | 40 OPTLEVEL := -O0 |
31 CXX := g++ | 41 CXX := g++ |
| 42 |
32 CXXFLAGS := -Wall -Wextra -Werror -fno-rtti -fno-exceptions \ | 43 CXXFLAGS := -Wall -Wextra -Werror -fno-rtti -fno-exceptions \ |
33 » $(OPTLEVEL) -g $(LLVM_CXXFLAGS) -m32 -Wno-error=unused-parameter | 44 » $(OPTLEVEL) -g $(LLVM_CXXFLAGS) $(HOST_FLAGS) \ |
34 LDFLAGS := -m32 | 45 » -Wno-error=unused-parameter |
| 46 LDFLAGS := $(HOST_FLAGS) |
35 | 47 |
36 SRCS= \ | 48 SRCS= \ |
37 IceCfg.cpp \ | 49 IceCfg.cpp \ |
38 IceCfgNode.cpp \ | 50 IceCfgNode.cpp \ |
39 IceConverter.cpp \ | 51 IceConverter.cpp \ |
40 IceGlobalContext.cpp \ | 52 IceGlobalContext.cpp \ |
41 IceInst.cpp \ | 53 IceInst.cpp \ |
42 IceInstX8632.cpp \ | 54 IceInstX8632.cpp \ |
43 IceIntrinsics.cpp \ | 55 IceIntrinsics.cpp \ |
44 IceLiveness.cpp \ | 56 IceLiveness.cpp \ |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 CLANG_FORMAT_DIFF = clang-format-diff.py | 101 CLANG_FORMAT_DIFF = clang-format-diff.py |
90 else | 102 else |
91 CLANG_FORMAT_DIFF = /usr/lib/clang-format/clang-format-diff.py | 103 CLANG_FORMAT_DIFF = /usr/lib/clang-format/clang-format-diff.py |
92 endif | 104 endif |
93 format-diff: | 105 format-diff: |
94 git diff -U0 HEAD^ | \ | 106 git diff -U0 HEAD^ | \ |
95 $(CLANG_FORMAT_DIFF) -p1 -style=LLVM -i | 107 $(CLANG_FORMAT_DIFF) -p1 -style=LLVM -i |
96 | 108 |
97 clean: | 109 clean: |
98 rm -rf llvm2ice *.o build/ | 110 rm -rf llvm2ice *.o build/ |
OLD | NEW |