| Index: Makefile
|
| diff --git a/Makefile b/Makefile
|
| index a1584f510ba9169a1fe2c6bc9819e84ecac0e29d..12ffff7d219a150a7589105d8a8e7f3e0eccadda 100644
|
| --- a/Makefile
|
| +++ b/Makefile
|
| @@ -1,78 +1,13 @@
|
| -# The following variables will likely need to be modified, depending on where
|
| -# and how you built LLVM & Clang. They can be overridden in a command-line
|
| -# invocation of make, like:
|
| -#
|
| -# make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> ...
|
| -#
|
|
|
| -# LLVM_SRC_PATH is the path to the root of the checked out source code. This
|
| -# directory should contain the configure script, the include/ and lib/
|
| -# directories of LLVM, Clang in tools/clang/, etc.
|
| -# Alternatively, if you're building vs. a binary download of LLVM, then
|
| -# LLVM_SRC_PATH can point to the main untarred directory.
|
| -LLVM_SRC_PATH ?= ../llvm
|
| +ifndef SUBZERO_LEVEL
|
| +# Top-level, not included from a subdir
|
| +SUBZERO_LEVEL := .
|
| +DIRS := src
|
| +PARALLEL_DIRS :=
|
| +endif
|
|
|
| -# LLVM_BIN_PATH is the directory where binaries are placed by the LLVM build
|
| -# process. It should contain the tools like opt, llc and clang. The default
|
| -# reflects a debug build with autotools (configure & make).
|
| -LLVM_BIN_PATH ?= $(shell readlink -e \
|
| - ../../out/llvm_i686_linux_work/Release+Asserts/bin)
|
| +# Set LLVM source root level.
|
| +LEVEL := $(SUBZERO_LEVEL)/../..
|
|
|
| -$(info -----------------------------------------------)
|
| -$(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH))
|
| -$(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH))
|
| -$(info -----------------------------------------------)
|
| -
|
| -LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags`
|
| -LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --ldflags --libs`
|
| -
|
| -# It's recommended that CXX matches the compiler you used to build LLVM itself.
|
| -OPTLEVEL := -O0
|
| -CXX := g++
|
| -CXXFLAGS := -Wall -Wextra -Werror -fno-rtti -fno-exceptions \
|
| - $(OPTLEVEL) -g $(LLVM_CXXFLAGS) -m32
|
| -LDFLAGS := -m32
|
| -
|
| -SRCS= \
|
| - IceCfg.cpp \
|
| - IceCfgNode.cpp \
|
| - IceGlobalContext.cpp \
|
| - IceInst.cpp \
|
| - IceInstX8632.cpp \
|
| - IceOperand.cpp \
|
| - IceTargetLowering.cpp \
|
| - IceTargetLoweringX8632.cpp \
|
| - IceTypes.cpp \
|
| - llvm2ice.cpp
|
| -
|
| -OBJS=$(patsubst %.cpp, build/%.o, $(SRCS))
|
| -
|
| -# Keep all the first target so it's the default.
|
| -all: llvm2ice
|
| -
|
| -.PHONY: all
|
| -
|
| -llvm2ice: $(OBJS)
|
| - $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) -ldl
|
| -
|
| -# TODO: Be more precise than "*.h" here and elsewhere.
|
| -$(OBJS): build/%.o: src/%.cpp src/*.h src/*.def
|
| - $(CXX) -c $(CXXFLAGS) $< -o $@
|
| -
|
| -$(OBJS): | build
|
| -
|
| -build:
|
| - @mkdir -p $@
|
| -
|
| -check: llvm2ice
|
| - LLVM_BIN_PATH=$(LLVM_BIN_PATH) \
|
| - $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit
|
| - (cd crosstest; LLVM_BIN_PATH=$(LLVM_BIN_PATH) ./runtests.sh)
|
| -
|
| -# TODO: Fix the use of wildcards.
|
| -format:
|
| - $(LLVM_BIN_PATH)/clang-format -style=LLVM -i \
|
| - src/Ice*.h src/Ice*.cpp src/llvm2ice.cpp
|
| -
|
| -clean:
|
| - rm -rf llvm2ice *.o build/
|
| +# Include LLVM common makefile.
|
| +include $(LEVEL)/Makefile.common
|
|
|