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 # LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> ... | 6 # LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> ... |
7 # | 7 # |
8 | 8 |
9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This | 9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This |
10 # directory should contain the configure script, the include/ and lib/ | 10 # directory should contain the configure script, the include/ and lib/ |
(...skipping 27 matching lines...) Expand all Loading... |
38 endif | 38 endif |
39 | 39 |
40 ifdef DEBUG | 40 ifdef DEBUG |
41 OBJDIR = build/Debug | 41 OBJDIR = build/Debug |
42 OPTLEVEL = -O0 | 42 OPTLEVEL = -O0 |
43 else | 43 else |
44 OBJDIR = build/Release | 44 OBJDIR = build/Release |
45 OPTLEVEL = -O2 | 45 OPTLEVEL = -O2 |
46 endif | 46 endif |
47 | 47 |
| 48 ifdef NOASSERT |
| 49 ASSERTIONS = -DNDEBUG |
| 50 else |
| 51 ASSERTIONS = |
| 52 OBJDIR := $(OBJDIR)+Asserts |
| 53 endif |
| 54 |
48 $(info -----------------------------------------------) | 55 $(info -----------------------------------------------) |
49 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) | 56 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) |
50 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH)) | 57 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH)) |
51 $(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH)) | 58 $(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH)) |
52 $(info Using CLANG_PATH = $(CLANG_PATH)) | 59 $(info Using CLANG_PATH = $(CLANG_PATH)) |
53 $(info Using HOST_ARCH = $(HOST_ARCH)) | 60 $(info Using HOST_ARCH = $(HOST_ARCH)) |
54 $(info -----------------------------------------------) | 61 $(info -----------------------------------------------) |
55 | 62 |
56 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags` | 63 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags` |
57 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --libs` \ | 64 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --libs` \ |
58 `$(LLVM_BIN_PATH)/llvm-config --ldflags` | 65 `$(LLVM_BIN_PATH)/llvm-config --ldflags` |
59 | 66 |
60 # It's recommended that CXX matches the compiler you used to build LLVM itself. | 67 # It's recommended that CXX matches the compiler you used to build LLVM itself. |
61 CCACHE := `command -v ccache` | 68 CCACHE := `command -v ccache` |
62 CXX := CCACHE_CPP2=yes $(CCACHE) $(CLANG_PATH)/clang++ | 69 CXX := CCACHE_CPP2=yes $(CCACHE) $(CLANG_PATH)/clang++ |
63 | 70 |
64 CXXFLAGS := $(LLVM_CXXFLAGS) -std=c++11 -Wall -Wextra -Werror -fno-rtti \ | 71 CXXFLAGS := $(LLVM_CXXFLAGS) -std=c++11 -Wall -Wextra -Werror -fno-rtti \ |
65 » -fno-exceptions $(OPTLEVEL) -g $(HOST_FLAGS) \ | 72 » -fno-exceptions $(OPTLEVEL) $(ASSERTIONS) -g $(HOST_FLAGS) \ |
66 -Wno-error=unused-parameter -I$(LIBCXX_INSTALL_PATH)/include/c++/v1 | 73 -Wno-error=unused-parameter -I$(LIBCXX_INSTALL_PATH)/include/c++/v1 |
67 LDFLAGS := $(HOST_FLAGS) -L$(LIBCXX_INSTALL_PATH)/lib | 74 LDFLAGS := $(HOST_FLAGS) -L$(LIBCXX_INSTALL_PATH)/lib |
68 | 75 |
69 SRCS= \ | 76 SRCS= \ |
70 assembler.cpp \ | 77 assembler.cpp \ |
71 assembler_ia32.cpp \ | 78 assembler_ia32.cpp \ |
72 IceCfg.cpp \ | 79 IceCfg.cpp \ |
73 IceCfgNode.cpp \ | 80 IceCfgNode.cpp \ |
74 IceConverter.cpp \ | 81 IceConverter.cpp \ |
75 IceGlobalContext.cpp \ | 82 IceGlobalContext.cpp \ |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 CLANG_FORMAT_DIFF = clang-format-diff.py | 142 CLANG_FORMAT_DIFF = clang-format-diff.py |
136 else | 143 else |
137 CLANG_FORMAT_DIFF = /usr/lib/clang-format/clang-format-diff.py | 144 CLANG_FORMAT_DIFF = /usr/lib/clang-format/clang-format-diff.py |
138 endif | 145 endif |
139 format-diff: | 146 format-diff: |
140 git diff -U0 `git merge-base HEAD master` | \ | 147 git diff -U0 `git merge-base HEAD master` | \ |
141 $(CLANG_FORMAT_DIFF) -p1 -style=LLVM -i | 148 $(CLANG_FORMAT_DIFF) -p1 -style=LLVM -i |
142 | 149 |
143 clean: | 150 clean: |
144 rm -rf llvm2ice *.o build/ | 151 rm -rf llvm2ice *.o build/ |
OLD | NEW |