From 7161ef83f9cfcc5fe26b8f6a9cb7290584390813 Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Sat, 21 Jul 2001 12:38:14 +0000 Subject: [PATCH] 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. llvm-svn: 225 --- llvm/Makefile.common | 18 ++++++++++++++++-- llvm/Makefile.rules | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/llvm/Makefile.common b/llvm/Makefile.common index 2c5f702f0d3b..53d064ad2c83 100644 --- a/llvm/Makefile.common +++ b/llvm/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/llvm/Makefile.rules b/llvm/Makefile.rules index 2c5f702f0d3b..53d064ad2c83 100644 --- a/llvm/Makefile.rules +++ b/llvm/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