Initial checkin
[oota-llvm.git] / Makefile.rules
index 11c6a2376dbdf269c9d347eb9d48644b8cc34838..47c5f7b5dea610ebc64e205b164e8b1f245390a5 100644 (file)
@@ -1,9 +1,9 @@
 #===-- Makefile.common - Common make rules for LLVM -------*- makefile -*--====
 #
 # This file is included by all of the LLVM makefiles.  This file defines common
-# rules to do things like compile a .cpp file or generate dependancy info.
-# These are platform dependant, so this is the file used to specify these
-# system dependant operations.
+# rules to do things like compile a .cpp file or generate dependency info.
+# These are platform dependent, so this is the file used to specify these
+# system dependent operations.
 #
 # The following functionality can be set by setting incoming variables.
 # The variable $(LEVEL) *must* be set:
@@ -32,9 +32,6 @@
 #
 # 6. LLVM_SRC_ROOT - If specified, points to the top of the LLVM source tree.
 #
-# 7. LLVM_OBJ_ROOT - If specified, points to the top directory where LLVM
-#    object files are placed.
-#
 # 8. BUILD_SRC_DIR - The directory which contains the current set of Makefiles
 #    and usually the source code too (unless SourceDir is set).
 #
 #     placed.
 #
 # For building,
-#      LLVM, LLVM_SRC_ROOT = BUILD_SRC_ROOT, and
-#      LLVM_OBJ_ROOT = BUILD_OBJ_ROOT.
+#      LLVM, LLVM_SRC_ROOT = BUILD_SRC_ROOT
 #
 #===-----------------------------------------------------------------------====
 
 #
 # Configuration file to set paths specific to local installation of LLVM
 # 
+ifdef LLVM_SRC_ROOT
+include $(LLVM_SRC_ROOT)/Makefile.config
+else
 include $(LEVEL)/Makefile.config
+endif
 
 ###########################################################################
 # Directory Configuration
@@ -127,7 +127,7 @@ endif
 # Set the LLVM object directory.
 #
 ifndef LLVM_OBJ_ROOT
-LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
+LLVM_OBJ_ROOT := $(shell cd $(BUILD_OBJ_DIR); cd $(LLVM_SRC_ROOT); pwd)
 endif
 
 ###########################################################################
@@ -161,13 +161,13 @@ bytecode::
 
 # Print out the directories used for building
 prdirs::
-       echo "Home Offset      : " $(HOME_OBJ_ROOT)
-       echo "Build Source Root: " $(BUILD_SRC_ROOT)
-       echo "Build Source Dir : " $(BUILD_SRC_DIR)
-       echo "Build Object Root: " $(BUILD_OBJ_ROOT)
-       echo "Build Object Dir : " $(BUILD_OBJ_DIR)
-       echo "LLVM  Source Root: " $(LLVM_SRC_ROOT)
-       echo "LLVM  Object Root: " $(LLVM_OBJ_ROOT)
+       @echo "Home Offset      : " $(HOME_OBJ_ROOT)
+       @echo "Build Source Root: " $(BUILD_SRC_ROOT)
+       @echo "Build Source Dir : " $(BUILD_SRC_DIR)
+       @echo "Build Object Root: " $(BUILD_OBJ_ROOT)
+       @echo "Build Object Dir : " $(BUILD_OBJ_DIR)
+       @echo "LLVM  Source Root: " $(LLVM_SRC_ROOT)
+       @echo "LLVM  Object Root: " $(LLVM_OBJ_ROOT)
 
 ###########################################################################
 # Suffixes and implicit rules:
@@ -398,7 +398,7 @@ ifdef TOOLNAME
 Link += -rpath $(DESTTOOLCURRENT)
 endif
 
-# Create dependancy file from CPP file, send to stdout.
+# Create dependency file from CPP file, send to stdout.
 Depend   := $(CXX) -MM -I$(LEVEL)/include $(CPPFLAGS) 
 DependC  := $(CC)  -MM -I$(LEVEL)/include $(CPPFLAGS) 
 
@@ -815,7 +815,7 @@ clean::
 ###########################################################################
 
 # If dependencies were generated for the file that included this file,
-# include the dependancies now...
+# include the dependencies now...
 #
 SourceBaseNames := $(basename $(notdir $(filter-out Debug/%, $(Source))))
 SourceDepend := $(SourceBaseNames:%=$(BUILD_OBJ_DIR)/Depend/%.d)