Added a hack that takes the path relative to the home directory into account
authorJohn Criswell <criswell@uiuc.edu>
Fri, 20 Jun 2003 18:35:39 +0000 (18:35 +0000)
committerJohn Criswell <criswell@uiuc.edu>
Fri, 20 Jun 2003 18:35:39 +0000 (18:35 +0000)
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

Makefile.common
Makefile.rules

index 9a69fc4c7aafd753263e4e4b3e8b357212aa518d..8d4913d95a23e6b7341030a7e39247f4b0a5badd 100644 (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... 
 #--------------------------------------------------------------------
index 9a69fc4c7aafd753263e4e4b3e8b357212aa518d..8d4913d95a23e6b7341030a7e39247f4b0a5badd 100644 (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... 
 #--------------------------------------------------------------------