Added a hack that takes the path relative to the home directory into account

if a home directory is provided by the environment.

llvm-svn: 6805
This commit is contained in:
John Criswell 2003-06-20 18:35:39 +00:00
parent fdad6ce774
commit ef1c153975
2 changed files with 44 additions and 4 deletions

View File

@ -74,6 +74,18 @@ ifndef BUILD_SRC_ROOT
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.
@ -82,7 +94,7 @@ ifndef BUILD_OBJ_DIR
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))
endif
endif
@ -93,7 +105,7 @@ ifndef BUILD_OBJ_ROOT
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))
endif
endif
@ -133,6 +145,14 @@ install ::
# 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...
#--------------------------------------------------------------------

View File

@ -74,6 +74,18 @@ ifndef BUILD_SRC_ROOT
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.
@ -82,7 +94,7 @@ ifndef BUILD_OBJ_DIR
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))
endif
endif
@ -93,7 +105,7 @@ ifndef BUILD_OBJ_ROOT
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))
endif
endif
@ -133,6 +145,14 @@ install ::
# 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...
#--------------------------------------------------------------------