Added support for getting the dependence of an executable on its libs,
authorVikram S. Adve <vadve@cs.uiuc.edu>
Sat, 21 Jul 2001 12:38:14 +0000 (12:38 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Sat, 21 Jul 2001 12:38:14 +0000 (12:38 +0000)
using a variable to get the list of libraries on the link path.
BUG: If the library in the same directory as the executable is missing,
BUG: gnumake will build the library but then fail when linking the executable
BUG: saying the library was not found.  Need a better hack.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile.common
Makefile.rules

index 2c5f702f0d3b5c9b9cf58ea0a4e141f5c17c1758..53d064ad2c830195062c22bf132c24b928c967aa 100644 (file)
@@ -39,16 +39,30 @@ install ::
 #---------------------------------------------------------
 
 # Add -L options to the link command lines...
-LibPathsO = -L $(LEVEL)/lib/VMCore/Release \
+LibPathsO = -L $(LEVEL)/lib/Support/Release \
+           -L $(LEVEL)/lib/VMCore/Release \
             -L $(LEVEL)/lib/Assembly/Parser/Release \
             -L $(LEVEL)/lib/Assembly/Writer/Release \
             -L $(LEVEL)/lib/Analysis/Release \
             -L $(LEVEL)/lib/Bytecode/Writer/Release \
             -L $(LEVEL)/lib/Bytecode/Reader/Release \
-            -L $(LEVEL)/lib/Optimizations/Release
+            -L $(LEVEL)/lib/Optimizations/Release \
+            -L $(LEVEL)/lib/CodeGen/InstrSelection/Release \
+            -L $(LEVEL)/lib/CodeGen/TargetMachine/Release \
+            -L $(LEVEL)/lib/CodeGen/TargetMachine/Sparc/Release \
+            -L $(LEVEL)/lib/LLC/Release
 
 LibPathsG = $(LibPathsO:Release=Debug)
 
+
+# List of libraries in all the directories on LibPathsG/O.
+# Add one of these to the list of dependences for an executable
+# to ensure it is relinked when any of the libs is updated.
+# See llvm/lib/LLC/Makefile for an example.
+LibsO = $(addsuffix /lib*.a,$(subst -L,,$(LibPathsO)))
+LibsG = $(addsuffix /lib*.a,$(subst -L,,$(LibPathsG)))
+
+
 # Enable this for profiling support with 'gprof'
 #Prof = -pg
 
index 2c5f702f0d3b5c9b9cf58ea0a4e141f5c17c1758..53d064ad2c830195062c22bf132c24b928c967aa 100644 (file)
@@ -39,16 +39,30 @@ install ::
 #---------------------------------------------------------
 
 # Add -L options to the link command lines...
-LibPathsO = -L $(LEVEL)/lib/VMCore/Release \
+LibPathsO = -L $(LEVEL)/lib/Support/Release \
+           -L $(LEVEL)/lib/VMCore/Release \
             -L $(LEVEL)/lib/Assembly/Parser/Release \
             -L $(LEVEL)/lib/Assembly/Writer/Release \
             -L $(LEVEL)/lib/Analysis/Release \
             -L $(LEVEL)/lib/Bytecode/Writer/Release \
             -L $(LEVEL)/lib/Bytecode/Reader/Release \
-            -L $(LEVEL)/lib/Optimizations/Release
+            -L $(LEVEL)/lib/Optimizations/Release \
+            -L $(LEVEL)/lib/CodeGen/InstrSelection/Release \
+            -L $(LEVEL)/lib/CodeGen/TargetMachine/Release \
+            -L $(LEVEL)/lib/CodeGen/TargetMachine/Sparc/Release \
+            -L $(LEVEL)/lib/LLC/Release
 
 LibPathsG = $(LibPathsO:Release=Debug)
 
+
+# List of libraries in all the directories on LibPathsG/O.
+# Add one of these to the list of dependences for an executable
+# to ensure it is relinked when any of the libs is updated.
+# See llvm/lib/LLC/Makefile for an example.
+LibsO = $(addsuffix /lib*.a,$(subst -L,,$(LibPathsO)))
+LibsG = $(addsuffix /lib*.a,$(subst -L,,$(LibPathsG)))
+
+
 # Enable this for profiling support with 'gprof'
 #Prof = -pg