mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-02 16:56:39 +00:00
7f33695eac
Moved Makefile.common to Makefile.rules. This makes project Makefiles easier to support, and allows for easier overriding of default configuration values that used to be in Makefile.common. Modified Makefile.config.in to determine paths for directories (like LLVM_SRC_ROOT) and to use the pwd binary as opposed to the shell builtin (this works better for symbolic links). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8377 91177308-0d34-0410-b5e6-96231b3b80d8
236 lines
5.9 KiB
Makefile
236 lines
5.9 KiB
Makefile
#===-- Makefile.config - Local configuration for LLVM ------*- makefile -*--====
|
|
#
|
|
# This file is included by Makefile.common. It defines paths and other
|
|
# values specific to a particular installation of LLVM.
|
|
#===-----------------------------------------------------------------------====
|
|
|
|
#
|
|
# Target operating system for which LLVM will be compiled.
|
|
#
|
|
OS=@OS@
|
|
|
|
#
|
|
# Target hardware architecture
|
|
#
|
|
ARCH=@ARCH@
|
|
|
|
# Path to the C++ compiler to use. This is an optional setting, which defaults
|
|
# to whatever your gmake defaults to.
|
|
#
|
|
# Under Linux, for some reason the compiler driver wants to search the PATH to
|
|
# find the system assembler, which breaks if the LLVM assembler is in our path.
|
|
# Hack it to use the assembler in /usr/bin directly.
|
|
#
|
|
CXX = @CXX@
|
|
|
|
# We have the same problem with the CC binary, which use used by testcases for
|
|
# native builds.
|
|
#
|
|
CC := @CC@
|
|
|
|
#
|
|
# Compilation flags for the C and C++ compilers.
|
|
#
|
|
|
|
#
|
|
# Removing the compiler flags for now. They interfere with the test suite
|
|
# (which has its own autoconf stuff), and we don't use -DHAVE_CONFIG_H anyway.
|
|
#
|
|
#CPPFLAGS+=@DEFS@
|
|
#CCFLAGS+=@DEFS@
|
|
LDFLAGS+=@LDFLAGS@
|
|
|
|
#
|
|
# Removed since it prevents the tests from working properly.
|
|
#
|
|
#LIBS+=@LIBS@
|
|
|
|
#
|
|
# Libraries needed by tools
|
|
#
|
|
TOOLLINKOPTS=@LIBS@
|
|
|
|
#
|
|
# Path to the archiver program.
|
|
#
|
|
AR_PATH = @AR@
|
|
|
|
#
|
|
# The pathnames of the Flex and Bison programs, respectively.
|
|
#
|
|
BISON = @YACC@
|
|
FLEX = @LEX@
|
|
|
|
#
|
|
# Paths to miscellaneous programs.
|
|
#
|
|
RPWD = @RPWD@
|
|
SED = @SED@
|
|
RM = @RM@
|
|
ECHO = @ECHO@
|
|
MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
|
|
DATE = @DATE@
|
|
MV = @MV@
|
|
INSTALL = @INSTALL@
|
|
DOT = @DOT@
|
|
ETAGS = @ETAGS@
|
|
|
|
#
|
|
# Determine the target for which LLVM should generate code.
|
|
#
|
|
LLVMGCCARCH := @target@/3.4-llvm
|
|
|
|
# Path to directory where object files should be stored during a build.
|
|
# Set OBJ_ROOT to "." if you do not want to use a separate place for
|
|
# object files.
|
|
#
|
|
#OBJ_ROOT = .
|
|
OBJ_ROOT := .
|
|
|
|
# Path to location for LLVM front-end this should only be specified here if you
|
|
# want to override the value set in Makefile.$(uname)
|
|
#
|
|
LLVMGCCDIR := @LLVMGCCDIR@
|
|
|
|
# When this setting is set to true, programs in the llvm/test/Programs hierarchy
|
|
# are not recompiled from source code. Instead, the bytecode for the file is
|
|
# pulled from the BYTECODE_REPOSITORY directory. This can be useful when disk
|
|
# space is limited or when you just don't want to spend time running the C
|
|
# frontend.
|
|
#
|
|
#USE_PRECOMPILED_BYTECODE := 1
|
|
@UPB@
|
|
|
|
# This path specifies the cannonical location of bytecode files for compiled
|
|
# versions of the test/Programs/* programs. This is used as the bytecode source
|
|
# when USE_PRECOMPILED_BYTECODE is specified or when source code is not
|
|
# available for the program (such as SPEC).
|
|
#
|
|
BYTECODE_REPOSITORY := @BCR@
|
|
|
|
# Path to location for purify, this is only needed if you build with
|
|
# ENABLE_PURIFY=1
|
|
#
|
|
PURIFY = @PURIFY@
|
|
|
|
#
|
|
# SPEC benchmarks:
|
|
# Set the USE_SPEC variable to enable the use of the SPEC benchmarks.
|
|
# You must provide the SPEC benchmarks on your own.
|
|
#
|
|
@USE_SPEC@
|
|
|
|
#
|
|
# Path to the SPEC benchmarks. If you have the SPEC benchmarks, place the
|
|
# path here.
|
|
#
|
|
#SPEC_ROOT := /home/vadve/shared/benchmarks/speccpu2000/benchspec
|
|
SPEC_ROOT := @SPEC_ROOT@
|
|
|
|
#
|
|
# Path to the PAPI code. This is used by the reoptimizer only.
|
|
#
|
|
#PAPIDIR := /home/vadve/shared/papi-2.3.4.1
|
|
PAPIDIR := @PAPIDIR@
|
|
|
|
# These are options that can either be enabled here, or can be enabled on the
|
|
# make command line (ie, make ENABLE_PROFILING=1)
|
|
#
|
|
|
|
# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
|
|
# turned on, and Debug builds are turned off.
|
|
#
|
|
#ENABLE_OPTIMIZED = 1
|
|
@ENABLE_OPTIMIZED@
|
|
|
|
# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
|
|
# information to allow gprof to be used to get execution frequencies.
|
|
#
|
|
#ENABLE_PROFILING = 1
|
|
|
|
#
|
|
# This option tells the Makefiles to produce verbose output.
|
|
# It essentially prints the commands that make is executing
|
|
#
|
|
#VERBOSE = 1
|
|
|
|
# When ENABLE_PURIFY is set to 1, the LLVM tools are linked with purify (which
|
|
# must be locally installed) to allow for some automated memory error debugging.
|
|
#
|
|
#ENABLE_PURIFY = 1
|
|
@ENABLE_PURIFY@
|
|
|
|
#
|
|
# Enable JIT for this platform
|
|
#
|
|
@JIT@
|
|
|
|
#
|
|
# Disable LLC diffs for testing.
|
|
#
|
|
@DISABLE_LLC_DIFFS@
|
|
|
|
###########################################################################
|
|
# Directory Configuration
|
|
# This section of the Makefile determines what is where. To be
|
|
# specific, there are several locations that need to be defined:
|
|
#
|
|
# o LLVM_SRC_ROOT : The root directory of the LLVM source code.
|
|
# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
|
|
#
|
|
# o BUILD_SRC_DIR : The directory containing the code to build.
|
|
# o BUILD_SRC_ROOT : The root directory of the code to build.
|
|
#
|
|
# o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
|
|
# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
|
|
#
|
|
###########################################################################
|
|
|
|
#
|
|
# Set the object build directory. By default, it is the current directory.
|
|
#
|
|
ifndef BUILD_OBJ_DIR
|
|
BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
|
|
endif
|
|
|
|
#
|
|
# Set the root of the object directory.
|
|
#
|
|
ifndef BUILD_OBJ_ROOT
|
|
BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
|
|
endif
|
|
|
|
#
|
|
# Set the source build directory. That is almost always the current directory.
|
|
#
|
|
ifndef BUILD_SRC_DIR
|
|
BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
|
|
endif
|
|
|
|
#
|
|
# Set the source root directory.
|
|
#
|
|
ifndef BUILD_SRC_ROOT
|
|
BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
|
|
endif
|
|
|
|
#
|
|
# Set the LLVM object directory.
|
|
#
|
|
ifndef LLVM_OBJ_ROOT
|
|
ifdef LLVM_SRC_ROOT
|
|
LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
|
|
else
|
|
LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
|
|
endif
|
|
endif
|
|
|
|
#
|
|
# Set the LLVM source directory.
|
|
# It is typically the root directory of what we're compiling now.
|
|
#
|
|
ifndef LLVM_SRC_ROOT
|
|
LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
|
|
endif
|
|
|