diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2005-04-22 17:20:11 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2005-04-22 17:20:11 +0000 |
commit | 18969fbc9f19fbc62d25ff2e83098c3143d77a33 (patch) | |
tree | 74a3595e21c1fd374b36f3021d052cafdf4b1917 | |
parent | 5a870448d12a786098e9ec5018cd2bb3f5f673fd (diff) | |
download | llvm-18969fbc9f19fbc62d25ff2e83098c3143d77a33.tar.gz llvm-18969fbc9f19fbc62d25ff2e83098c3143d77a33.tar.bz2 llvm-18969fbc9f19fbc62d25ff2e83098c3143d77a33.tar.xz |
Implement the --enable-targets= feature of the configure script. The make
variable TARGETS_TO_BUILD is used to determine which targets in lib/Target
are built and which libraries are linked into llc. This effectively
implements the feature. One item remains: disabling targets in the dejagnu
test suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21450 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/Makefile | 10 | ||||
-rw-r--r-- | tools/llc/Makefile | 48 |
2 files changed, 45 insertions, 13 deletions
diff --git a/lib/Target/Makefile b/lib/Target/Makefile index 5b69f49b2e..ae70488a4d 100644 --- a/lib/Target/Makefile +++ b/lib/Target/Makefile @@ -7,8 +7,14 @@ # ##===----------------------------------------------------------------------===## LEVEL = ../.. -PARALLEL_DIRS = CBackend X86 SparcV8 SparcV9 PowerPC Alpha IA64 Skeleton LIBRARYNAME = LLVMTarget BUILD_ARCHIVE = 1 -include $(LEVEL)/Makefile.common +# We include this early so we can access the value of TARGETS_TO_BUILD as the +# value for PARALLEL_DIRS which must be set before Makefile.rules is included +include $(LEVEL)/Makefile.config + +PARALLEL_DIRS := $(TARGETS_TO_BUILD) + +include $(LLVM_SRC_ROOT)/Makefile.rules + diff --git a/tools/llc/Makefile b/tools/llc/Makefile index 6d7edf8efe..8eff3c1612 100644 --- a/tools/llc/Makefile +++ b/tools/llc/Makefile @@ -9,22 +9,50 @@ LEVEL = ../.. TOOLNAME = llc -USEDLIBS = \ + +# Include this here so we can get the configuration of the targets +# that have been configured for construction. We have to do this +# early so we can set up USEDLIBS properly before includeing Makefile.rules +include $(LEVEL)/Makefile.config + +# We always build the C Backend and the Skeleton +USEDLIBS := LLVMCBackend LLVMSkeleton + +# Check for Sparc target +ifneq ($(strip $(filter SparcV8,$(TARGETS_TO_BUILD))),) +USEDLIBS += \ LLVMSparcV9ModuloSched \ - LLVMCBackend \ - LLVMPowerPC \ LLVMSparcV8 \ LLVMSparcV9 \ - LLVMX86 \ - LLVMAlpha \ - LLVMIA64 \ - LLVMSkeleton \ LLVMSparcV9RegAlloc \ LLVMSparcV9InstrSched \ + LLVMSparcV9LiveVar +endif + +#Check for X86 Target +ifneq ($(strip $(filter X86,$(TARGETS_TO_BUILD))),) +USEDLIBS += LLVMX86 +endif + +#Check for PowerPC Target +ifneq ($(strip $(filter PowerPC,$(TARGETS_TO_BUILD))),) +USEDLIBS += LLVMPowerPC +endif + +#Check for Alpha Target +ifneq ($(strip $(filter Alpha,$(TARGETS_TO_BUILD))),) +USEDLIBS += LLVMAlpha +endif + +#Check for IA64 Target +ifneq ($(strip $(filter IA64,$(TARGETS_TO_BUILD))),) +USEDLIBS += LLVMIA64 +endif + +USEDLIBS += \ LLVMSelectionDAG \ LLVMCodeGen \ LLVMTarget.a \ - LLVMSparcV9LiveVar \ LLVMipa.a \ LLVMTransforms.a \ LLVMScalarOpts \ @@ -37,7 +65,5 @@ USEDLIBS = \ LLVMbzip2 \ LLVMSystem.a -TOOLLINKOPTS = $(PLATFORMLIBDL) - -include $(LEVEL)/Makefile.common +include $(LLVM_SRC_ROOT)/Makefile.rules |