Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(99)

Unified Diff: Makefile

Issue 293983007: Add Makefiles to support building along with LLVM (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Makefile.standalone » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « no previous file | Makefile.standalone » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698