diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-07-21 12:38:14 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-07-21 12:38:14 +0000 |
commit | c4651a91c01e5c7eceb3ab1f1b1eebb54f52c109 (patch) | |
tree | 4ace8f9ec5e2536b51eaf5848fc7a79ddcdc6a3f | |
parent | a4e6f88fbba40e5818906b6a75e5cc15870bf4b8 (diff) |
Added support for getting the dependence of an executable on its libs,
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
-rw-r--r-- | Makefile.common | 18 | ||||
-rw-r--r-- | Makefile.rules | 18 |
2 files changed, 32 insertions, 4 deletions
diff --git a/Makefile.common b/Makefile.common index 2c5f702f0d..53d064ad2c 100644 --- a/Makefile.common +++ b/Makefile.common @@ -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 diff --git a/Makefile.rules b/Makefile.rules index 2c5f702f0d..53d064ad2c 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -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 |