Implement the --enable-targets= feature of the configure script. The make
authorReid Spencer <rspencer@reidspencer.com>
Fri, 22 Apr 2005 17:20:11 +0000 (17:20 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Fri, 22 Apr 2005 17:20:11 +0000 (17:20 +0000)
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

lib/Target/Makefile
tools/llc/Makefile

index 5b69f49b2eb3019f768eda0061729480115c9b73..ae70488a4d0b3c555d177e83536a02be3e58ca57 100644 (file)
@@ -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
+
index 6d7edf8efe7df607426f6ab0574b08574d08e4fc..8eff3c161295857cde19da5055577594952fbe8d 100644 (file)
@@ -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