mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-01 16:33:37 +01:00
92ffa08e9a
The problems that llvmc solved have largely been subsumed with the tasks that the clang driver can accomplish, but llvmc lacks flexibility and depends too heavily on the EOL'd llvm-gcc. llvm-svn: 140093
78 lines
2.3 KiB
Makefile
78 lines
2.3 KiB
Makefile
##===- tools/Makefile --------------------------------------*- Makefile -*-===##
|
|
#
|
|
# The LLVM Compiler Infrastructure
|
|
#
|
|
# This file is distributed under the University of Illinois Open Source
|
|
# License. See LICENSE.TXT for details.
|
|
#
|
|
##===----------------------------------------------------------------------===##
|
|
|
|
LEVEL := ..
|
|
|
|
# Build clang if present.
|
|
OPTIONAL_PARALLEL_DIRS := clang
|
|
|
|
# Build LLDB if present. Note LLDB must be built last as it depends on the
|
|
# wider LLVM infrastructure (including Clang).
|
|
OPTIONAL_DIRS := lldb
|
|
|
|
# NOTE: The tools are organized into five groups of four consisting of one
|
|
# large and three small executables. This is done to minimize memory load
|
|
# in parallel builds. Please retain this ordering.
|
|
DIRS := llvm-config
|
|
PARALLEL_DIRS := opt llvm-as llvm-dis \
|
|
llc llvm-ranlib llvm-ar llvm-nm \
|
|
llvm-ld llvm-prof llvm-link \
|
|
lli llvm-extract llvm-mc \
|
|
bugpoint llvm-bcanalyzer llvm-stub \
|
|
llvm-diff macho-dump llvm-objdump \
|
|
llvm-rtdyld llvm-dwarfdump
|
|
|
|
# Let users override the set of tools to build from the command line.
|
|
ifdef ONLY_TOOLS
|
|
OPTIONAL_PARALLEL_DIRS :=
|
|
OPTIONAL_DIRS := $(findstring lldb,$(ONLY_TOOLS))
|
|
PARALLEL_DIRS := $(filter-out lldb,$(ONLY_TOOLS))
|
|
endif
|
|
|
|
include $(LEVEL)/Makefile.config
|
|
|
|
|
|
# These libraries build as dynamic libraries (.dylib /.so), they can only be
|
|
# built if ENABLE_PIC is set.
|
|
ifndef ONLY_TOOLS
|
|
ifeq ($(ENABLE_PIC),1)
|
|
# gold only builds if binutils is around. It requires "lto" to build before
|
|
# it so it is added to DIRS.
|
|
ifdef BINUTILS_INCDIR
|
|
DIRS += lto gold
|
|
else
|
|
PARALLEL_DIRS += lto
|
|
endif
|
|
|
|
PARALLEL_DIRS += bugpoint-passes
|
|
|
|
# The edis library is only supported if ARM and/or X86 are enabled, and if
|
|
# LLVM is being built PIC on platforms that support dylibs.
|
|
ifneq ($(DISABLE_EDIS),1)
|
|
ifneq ($(filter $(TARGETS_TO_BUILD), X86 ARM),)
|
|
PARALLEL_DIRS += edis
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifdef LLVM_HAS_POLLY
|
|
PARALLEL_DIRS += polly
|
|
endif
|
|
endif
|
|
|
|
# On Win32, loadable modules can be built with ENABLE_SHARED.
|
|
ifneq ($(ENABLE_SHARED),1)
|
|
ifneq (,$(filter $(HOST_OS), Cygwin MingW))
|
|
PARALLEL_DIRS := $(filter-out bugpoint-passes, \
|
|
$(PARALLEL_DIRS))
|
|
endif
|
|
endif
|
|
|
|
include $(LEVEL)/Makefile.common
|