if a home directory is provided by the environment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6805
91177308-0d34-0410-b5e6-
96231b3b80d8
BUILD_SRC_ROOT = $(shell cd $(BUILD_SRC_DIR)/$(LEVEL); pwd)
endif
BUILD_SRC_ROOT = $(shell cd $(BUILD_SRC_DIR)/$(LEVEL); pwd)
endif
+#
+# Now for a hack:
+# If we have a home directory, append our offset from it to OBJ_ROOT.
+# This will "emulate" the previous behavior while not breaking builds
+# in which there is no home directory.
+#
+ifdef HOME
+OBJ_ROOT := $(OBJ_ROOT)$(patsubst $(HOME)%,%,$(BUILD_SRC_ROOT))
+else
+OBJ_ROOT := $(OBJ_ROOT)/$(shell basename $(BUILD_SRC_ROOT))
+endif
+
#
# Set the object build directory. Its location depends upon the source path
# and where object files should go.
#
# Set the object build directory. Its location depends upon the source path
# and where object files should go.
ifeq ($(OBJ_ROOT),.)
BUILD_OBJ_DIR = $(shell pwd)
else
ifeq ($(OBJ_ROOT),.)
BUILD_OBJ_DIR = $(shell pwd)
else
-BUILD_OBJ_DIR := $(OBJ_ROOT)$(patsubst $(shell dirname $(BUILD_SRC_ROOT))%,%,$(shell cd $(BUILD_SRC_DIR); pwd))
+BUILD_OBJ_DIR := $(OBJ_ROOT)$(patsubst $(BUILD_SRC_ROOT)%,%,$(shell cd $(BUILD_SRC_DIR); pwd))
ifeq ($(OBJ_ROOT),.)
BUILD_OBJ_ROOT = $(shell cd $(LEVEL); pwd)
else
ifeq ($(OBJ_ROOT),.)
BUILD_OBJ_ROOT = $(shell cd $(LEVEL); pwd)
else
-BUILD_OBJ_ROOT := $(OBJ_ROOT)$(patsubst $(shell dirname $(BUILD_SRC_ROOT))%,%,$(shell cd $(BUILD_SRC_ROOT); pwd))
+BUILD_OBJ_ROOT := $(OBJ_ROOT)$(patsubst $(BUILD_SRC_ROOT)%,%,$(shell cd $(BUILD_SRC_ROOT); pwd))
# Default rule for test. It ensures everything has a test rule
test::
# Default rule for test. It ensures everything has a test rule
test::
+prdirs::
+ echo "LLVM Source Root : $(LLVM_SRC_ROOT)"; \
+ echo "LLVM Object Root : $(LLVM_OBJ_ROOT)"; \
+ echo "Build Source Root : $(BUILD_SRC_ROOT)"; \
+ echo "Build Source Directory : $(BUILD_SRC_DIR)"; \
+ echo "Build Object Root : $(BUILD_OBJ_ROOT)"; \
+ echo "Build Object Directory : $(BUILD_OBJ_DIR)";
+
#--------------------------------------------------------------------
# Variables derived from configuration options...
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# Variables derived from configuration options...
#--------------------------------------------------------------------
BUILD_SRC_ROOT = $(shell cd $(BUILD_SRC_DIR)/$(LEVEL); pwd)
endif
BUILD_SRC_ROOT = $(shell cd $(BUILD_SRC_DIR)/$(LEVEL); pwd)
endif
+#
+# Now for a hack:
+# If we have a home directory, append our offset from it to OBJ_ROOT.
+# This will "emulate" the previous behavior while not breaking builds
+# in which there is no home directory.
+#
+ifdef HOME
+OBJ_ROOT := $(OBJ_ROOT)$(patsubst $(HOME)%,%,$(BUILD_SRC_ROOT))
+else
+OBJ_ROOT := $(OBJ_ROOT)/$(shell basename $(BUILD_SRC_ROOT))
+endif
+
#
# Set the object build directory. Its location depends upon the source path
# and where object files should go.
#
# Set the object build directory. Its location depends upon the source path
# and where object files should go.
ifeq ($(OBJ_ROOT),.)
BUILD_OBJ_DIR = $(shell pwd)
else
ifeq ($(OBJ_ROOT),.)
BUILD_OBJ_DIR = $(shell pwd)
else
-BUILD_OBJ_DIR := $(OBJ_ROOT)$(patsubst $(shell dirname $(BUILD_SRC_ROOT))%,%,$(shell cd $(BUILD_SRC_DIR); pwd))
+BUILD_OBJ_DIR := $(OBJ_ROOT)$(patsubst $(BUILD_SRC_ROOT)%,%,$(shell cd $(BUILD_SRC_DIR); pwd))
ifeq ($(OBJ_ROOT),.)
BUILD_OBJ_ROOT = $(shell cd $(LEVEL); pwd)
else
ifeq ($(OBJ_ROOT),.)
BUILD_OBJ_ROOT = $(shell cd $(LEVEL); pwd)
else
-BUILD_OBJ_ROOT := $(OBJ_ROOT)$(patsubst $(shell dirname $(BUILD_SRC_ROOT))%,%,$(shell cd $(BUILD_SRC_ROOT); pwd))
+BUILD_OBJ_ROOT := $(OBJ_ROOT)$(patsubst $(BUILD_SRC_ROOT)%,%,$(shell cd $(BUILD_SRC_ROOT); pwd))
# Default rule for test. It ensures everything has a test rule
test::
# Default rule for test. It ensures everything has a test rule
test::
+prdirs::
+ echo "LLVM Source Root : $(LLVM_SRC_ROOT)"; \
+ echo "LLVM Object Root : $(LLVM_OBJ_ROOT)"; \
+ echo "Build Source Root : $(BUILD_SRC_ROOT)"; \
+ echo "Build Source Directory : $(BUILD_SRC_DIR)"; \
+ echo "Build Object Root : $(BUILD_OBJ_ROOT)"; \
+ echo "Build Object Directory : $(BUILD_OBJ_DIR)";
+
#--------------------------------------------------------------------
# Variables derived from configuration options...
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# Variables derived from configuration options...
#--------------------------------------------------------------------