blob: 5c614bc57ce0b475157a664665b3385e1fdf9aa0 [file] [log] [blame]
John Criswell7a73b802003-06-30 21:59:07 +00001#===-- Makefile.config - Local configuration for LLVM ------*- makefile -*--====
2#
3# This file is included by Makefile.common. It defines paths and other
4# values specific to a particular installation of LLVM.
Brian Gaekef1dd2002004-01-16 21:31:34 +00005#
John Criswell7a73b802003-06-30 21:59:07 +00006#===-----------------------------------------------------------------------====
7
John Criswell7a73b802003-06-30 21:59:07 +00008# Target operating system for which LLVM will be compiled.
John Criswell7a73b802003-06-30 21:59:07 +00009OS=@OS@
10
John Criswell76595452003-07-01 22:07:39 +000011# Target hardware architecture
John Criswell76595452003-07-01 22:07:39 +000012ARCH=@ARCH@
13
John Criswell7a73b802003-06-30 21:59:07 +000014# Path to the C++ compiler to use. This is an optional setting, which defaults
15# to whatever your gmake defaults to.
16#
17# Under Linux, for some reason the compiler driver wants to search the PATH to
18# find the system assembler, which breaks if the LLVM assembler is in our path.
19# Hack it to use the assembler in /usr/bin directly.
John Criswell7a73b802003-06-30 21:59:07 +000020CXX = @CXX@
21
22# We have the same problem with the CC binary, which use used by testcases for
23# native builds.
John Criswell7a73b802003-06-30 21:59:07 +000024CC := @CC@
25
Brian Gaekef1dd2002004-01-16 21:31:34 +000026# Linker flags.
John Criswellb812e762003-07-01 15:02:59 +000027LDFLAGS+=@LDFLAGS@
John Criswell49bf8622003-06-30 22:33:53 +000028
John Criswell7a73b802003-06-30 21:59:07 +000029# Libraries needed by tools
John Criswell7a73b802003-06-30 21:59:07 +000030TOOLLINKOPTS=@LIBS@
31
Brian Gaekef1dd2002004-01-16 21:31:34 +000032# Path to the library archiver program.
John Criswell7a73b802003-06-30 21:59:07 +000033AR_PATH = @AR@
34
John Criswell7a73b802003-06-30 21:59:07 +000035# The pathnames of the Flex and Bison programs, respectively.
John Criswellb8b80c42004-01-12 16:14:54 +000036YACC = @YACC@
37BISON = @BISON@
John Criswell7a73b802003-06-30 21:59:07 +000038FLEX = @LEX@
39
John Criswell7a73b802003-06-30 21:59:07 +000040# Paths to miscellaneous programs.
Brian Gaeke26be9c52004-01-13 06:43:16 +000041RPWD = pwd
42SED = sed
43RM = rm
44ECHO = echo
John Criswell0057e322003-07-22 19:17:35 +000045MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
Brian Gaeke26be9c52004-01-13 06:43:16 +000046DATE = date
47MV = mv
John Criswell7a73b802003-06-30 21:59:07 +000048INSTALL = @INSTALL@
49DOT = @DOT@
50ETAGS = @ETAGS@
51
John Criswell7a73b802003-06-30 21:59:07 +000052# Determine the target for which LLVM should generate code.
John Criswell7a73b802003-06-30 21:59:07 +000053LLVMGCCARCH := @target@/3.4-llvm
54
Brian Gaekef1dd2002004-01-16 21:31:34 +000055# Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries:
56LCC1 = @LLVMCC1@
57LCC1XX = @LLVMCC1PLUS@
58
John Criswell7a73b802003-06-30 21:59:07 +000059# Path to directory where object files should be stored during a build.
60# Set OBJ_ROOT to "." if you do not want to use a separate place for
61# object files.
John Criswell7f336952003-09-06 14:44:17 +000062OBJ_ROOT := .
John Criswell7a73b802003-06-30 21:59:07 +000063
64# Path to location for LLVM front-end this should only be specified here if you
65# want to override the value set in Makefile.$(uname)
John Criswell7a73b802003-06-30 21:59:07 +000066LLVMGCCDIR := @LLVMGCCDIR@
67
Brian Gaekef1dd2002004-01-16 21:31:34 +000068# When this variable is set to 1, programs in the llvm/test/Programs hierarchy
John Criswell7a73b802003-06-30 21:59:07 +000069# are not recompiled from source code. Instead, the bytecode for the file is
70# pulled from the BYTECODE_REPOSITORY directory. This can be useful when disk
71# space is limited or when you just don't want to spend time running the C
72# frontend.
John Criswell7a73b802003-06-30 21:59:07 +000073#USE_PRECOMPILED_BYTECODE := 1
74@UPB@
75
76# This path specifies the cannonical location of bytecode files for compiled
77# versions of the test/Programs/* programs. This is used as the bytecode source
78# when USE_PRECOMPILED_BYTECODE is specified or when source code is not
79# available for the program (such as SPEC).
John Criswell7a73b802003-06-30 21:59:07 +000080BYTECODE_REPOSITORY := @BCR@
81
John Criswell7a73b802003-06-30 21:59:07 +000082# SPEC benchmarks:
83# Set the USE_SPEC variable to enable the use of the SPEC benchmarks.
84# You must provide the SPEC benchmarks on your own.
John Criswell7a73b802003-06-30 21:59:07 +000085@USE_SPEC@
86
John Criswell7a73b802003-06-30 21:59:07 +000087# Path to the SPEC benchmarks. If you have the SPEC benchmarks, place the
88# path here.
John Criswell7a73b802003-06-30 21:59:07 +000089#SPEC_ROOT := /home/vadve/shared/benchmarks/speccpu2000/benchspec
90SPEC_ROOT := @SPEC_ROOT@
91
John Criswell7a73b802003-06-30 21:59:07 +000092# Path to the PAPI code. This is used by the reoptimizer only.
John Criswell7a73b802003-06-30 21:59:07 +000093#PAPIDIR := /home/vadve/shared/papi-2.3.4.1
94PAPIDIR := @PAPIDIR@
95
96# These are options that can either be enabled here, or can be enabled on the
Brian Gaekef1dd2002004-01-16 21:31:34 +000097# make command line (ie, make ENABLE_PROFILING=1):
John Criswell7a73b802003-06-30 21:59:07 +000098
99# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
100# turned on, and Debug builds are turned off.
John Criswell7a73b802003-06-30 21:59:07 +0000101#ENABLE_OPTIMIZED = 1
102@ENABLE_OPTIMIZED@
103
104# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
105# information to allow gprof to be used to get execution frequencies.
John Criswell7a73b802003-06-30 21:59:07 +0000106#ENABLE_PROFILING = 1
John Criswell7a73b802003-06-30 21:59:07 +0000107
Misha Brukmane9676502003-07-02 21:20:04 +0000108# This option tells the Makefiles to produce verbose output.
John Criswell7a73b802003-06-30 21:59:07 +0000109# It essentially prints the commands that make is executing
John Criswell7a73b802003-06-30 21:59:07 +0000110#VERBOSE = 1
John Criswell7a73b802003-06-30 21:59:07 +0000111
John Criswell7a73b802003-06-30 21:59:07 +0000112# Enable JIT for this platform
John Criswell7a73b802003-06-30 21:59:07 +0000113@JIT@
114
John Criswell7a73b802003-06-30 21:59:07 +0000115# Disable LLC diffs for testing.
John Criswell7a73b802003-06-30 21:59:07 +0000116@DISABLE_LLC_DIFFS@
117
John Criswell7f336952003-09-06 14:44:17 +0000118###########################################################################
119# Directory Configuration
120# This section of the Makefile determines what is where. To be
121# specific, there are several locations that need to be defined:
122#
123# o LLVM_SRC_ROOT : The root directory of the LLVM source code.
124# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
125#
126# o BUILD_SRC_DIR : The directory containing the code to build.
127# o BUILD_SRC_ROOT : The root directory of the code to build.
128#
129# o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
130# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
131#
132###########################################################################
133
John Criswell7f336952003-09-06 14:44:17 +0000134# Set the object build directory. By default, it is the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000135ifndef BUILD_OBJ_DIR
136BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
137endif
138
John Criswell7f336952003-09-06 14:44:17 +0000139# Set the root of the object directory.
John Criswell7f336952003-09-06 14:44:17 +0000140ifndef BUILD_OBJ_ROOT
141BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
142endif
143
John Criswell7f336952003-09-06 14:44:17 +0000144# Set the source build directory. That is almost always the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000145ifndef BUILD_SRC_DIR
146BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
147endif
148
John Criswell7f336952003-09-06 14:44:17 +0000149# Set the source root directory.
John Criswell7f336952003-09-06 14:44:17 +0000150ifndef BUILD_SRC_ROOT
151BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
152endif
153
John Criswell7f336952003-09-06 14:44:17 +0000154# Set the LLVM object directory.
John Criswell7f336952003-09-06 14:44:17 +0000155ifndef LLVM_OBJ_ROOT
156ifdef LLVM_SRC_ROOT
157LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
158else
159LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
160endif
161endif
162
John Criswell7f336952003-09-06 14:44:17 +0000163# Set the LLVM source directory.
164# It is typically the root directory of what we're compiling now.
John Criswell7f336952003-09-06 14:44:17 +0000165ifndef LLVM_SRC_ROOT
166LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
167endif
168
John Criswell613758d2003-09-11 18:03:50 +0000169# Set SourceDir for backwards compatbility.
John Criswell613758d2003-09-11 18:03:50 +0000170ifndef SourceDir
171SourceDir=$(BUILD_SRC_DIR)
172endif
173
Brian Gaeke5339ada2003-12-10 00:25:32 +0000174# Installation directories, as provided by the configure script.
Brian Gaeke5339ada2003-12-10 00:25:32 +0000175exec_prefix = @exec_prefix@
176prefix = @prefix@
177program_transform_name = @program_transform_name@
178bindir = @bindir@
179sbindir = @sbindir@
180libexecdir = @libexecdir@
181datadir = @datadir@
182sysconfdir = @sysconfdir@
183sharedstatedir = @sharedstatedir@
184localstatedir = @localstatedir@
185libdir = @libdir@
186includedir = @includedir@
187infodir = @infodir@
188mandir = @mandir@
189INSTALL_PROGRAM = @INSTALL_PROGRAM@
190INSTALL_SCRIPT = @INSTALL_SCRIPT@
191INSTALL_DATA = @INSTALL_DATA@
192