blob: 780f35f7269bc58b65bec40b8490a807eaa39acb [file] [log] [blame]
Misha Brukman6d5ab862004-04-24 00:10:56 +00001#===-- Makefile.config - Local configuration for LLVM ------*- Makefile -*--===#
2#
3# The LLVM Compiler Infrastructure
4#
5# This file was developed by the LLVM research group and is distributed under
6# the University of Illinois Open Source License. See LICENSE.TXT for details.
7#
8#===------------------------------------------------------------------------===#
John Criswell7a73b802003-06-30 21:59:07 +00009#
10# This file is included by Makefile.common. It defines paths and other
11# values specific to a particular installation of LLVM.
Brian Gaekef1dd2002004-01-16 21:31:34 +000012#
Misha Brukman6d5ab862004-04-24 00:10:56 +000013#===------------------------------------------------------------------------===#
John Criswell7a73b802003-06-30 21:59:07 +000014
John Criswell7a73b802003-06-30 21:59:07 +000015# Target operating system for which LLVM will be compiled.
John Criswell7a73b802003-06-30 21:59:07 +000016OS=@OS@
17
John Criswell76595452003-07-01 22:07:39 +000018# Target hardware architecture
John Criswell76595452003-07-01 22:07:39 +000019ARCH=@ARCH@
20
Reid Spencer18224032004-11-07 19:12:53 +000021# Target triple (cpu-vendor-os) for which we should generate code
22TARGET_TRIPLE=@target@
23
John Criswell0021c312004-02-13 21:57:29 +000024# Endian-ness of the target
25ENDIAN=@ENDIAN@
26
John Criswell7a73b802003-06-30 21:59:07 +000027# Path to the C++ compiler to use. This is an optional setting, which defaults
28# to whatever your gmake defaults to.
John Criswell7a73b802003-06-30 21:59:07 +000029CXX = @CXX@
30
Misha Brukmanb5a2e402004-06-17 15:39:58 +000031# Path to the CC binary, which use used by testcases for native builds.
John Criswell7a73b802003-06-30 21:59:07 +000032CC := @CC@
33
John Criswell9b872872004-08-02 22:24:39 +000034# Path to the Python interpreter
35PYTHON := @PYTHON@
36
Brian Gaekef1dd2002004-01-16 21:31:34 +000037# Linker flags.
John Criswellb812e762003-07-01 15:02:59 +000038LDFLAGS+=@LDFLAGS@
John Criswell49bf8622003-06-30 22:33:53 +000039
John Criswell7a73b802003-06-30 21:59:07 +000040# Libraries needed by tools
John Criswell7a73b802003-06-30 21:59:07 +000041TOOLLINKOPTS=@LIBS@
42
Brian Gaekef1dd2002004-01-16 21:31:34 +000043# Path to the library archiver program.
John Criswell7a73b802003-06-30 21:59:07 +000044AR_PATH = @AR@
45
Reid Spencer151f8ba2004-10-25 08:27:37 +000046# The pathnames of the programs we require to build
47YACC = @YACC@
48BISON = @BISON@
49FLEX = @LEX@
50TAR = @TAR@
John Criswell7a73b802003-06-30 21:59:07 +000051INSTALL = @INSTALL@
52DOT = @DOT@
53ETAGS = @ETAGS@
Brian Gaekee0cec5d2004-01-22 21:55:01 +000054ETAGSFLAGS = @ETAGSFLAGS@
John Criswell7a73b802003-06-30 21:59:07 +000055
Reid Spencer151f8ba2004-10-25 08:27:37 +000056# Paths to miscellaneous programs we assume are present
57RPWD = pwd
58SED = sed
59RM = rm
Reid Spencercc2d1e22004-10-30 09:19:36 +000060ECHO = echo
Reid Spencer151f8ba2004-10-25 08:27:37 +000061MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
62INSTALL_SH = $(BUILD_SRC_ROOT)/autoconf/install-sh
63DATE = date
64MV = mv
65GZIP = gzip
66ZIP = zip
67BZIP2 = bzip2
68
John Criswell7a73b802003-06-30 21:59:07 +000069# Determine the target for which LLVM should generate code.
John Criswell7a73b802003-06-30 21:59:07 +000070LLVMGCCARCH := @target@/3.4-llvm
71
Brian Gaekef1dd2002004-01-16 21:31:34 +000072# Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries:
73LCC1 = @LLVMCC1@
74LCC1XX = @LLVMCC1PLUS@
75
John Criswell7a73b802003-06-30 21:59:07 +000076# Path to directory where object files should be stored during a build.
77# Set OBJ_ROOT to "." if you do not want to use a separate place for
78# object files.
John Criswell7f336952003-09-06 14:44:17 +000079OBJ_ROOT := .
John Criswell7a73b802003-06-30 21:59:07 +000080
Brian Gaekeb798b1e2004-03-10 17:37:50 +000081# Path to location for LLVM C/C++ front-end. You can modify this if you
82# want to override the value set by configure.
John Criswell7a73b802003-06-30 21:59:07 +000083LLVMGCCDIR := @LLVMGCCDIR@
84
John Criswell7a73b802003-06-30 21:59:07 +000085# These are options that can either be enabled here, or can be enabled on the
Brian Gaekef1dd2002004-01-16 21:31:34 +000086# make command line (ie, make ENABLE_PROFILING=1):
John Criswell7a73b802003-06-30 21:59:07 +000087
88# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
89# turned on, and Debug builds are turned off.
John Criswell7a73b802003-06-30 21:59:07 +000090#ENABLE_OPTIMIZED = 1
91@ENABLE_OPTIMIZED@
92
93# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
94# information to allow gprof to be used to get execution frequencies.
John Criswell7a73b802003-06-30 21:59:07 +000095#ENABLE_PROFILING = 1
John Criswell7a73b802003-06-30 21:59:07 +000096
Misha Brukmane9676502003-07-02 21:20:04 +000097# This option tells the Makefiles to produce verbose output.
John Criswell7a73b802003-06-30 21:59:07 +000098# It essentially prints the commands that make is executing
John Criswell7a73b802003-06-30 21:59:07 +000099#VERBOSE = 1
John Criswell7a73b802003-06-30 21:59:07 +0000100
John Criswell7a73b802003-06-30 21:59:07 +0000101# Enable JIT for this platform
John Criswell7a73b802003-06-30 21:59:07 +0000102@JIT@
103
Brian Gaeke88aeace2004-01-21 19:39:07 +0000104# Shared library extension for this platform.
105SHLIBEXT = @SHLIBEXT@
106
John Criswelle6d468f2004-06-01 19:04:38 +0000107# Executable file extension for this platform.
108EXEEXT = @EXEEXT@
109
John Criswell7f336952003-09-06 14:44:17 +0000110###########################################################################
111# Directory Configuration
112# This section of the Makefile determines what is where. To be
113# specific, there are several locations that need to be defined:
114#
115# o LLVM_SRC_ROOT : The root directory of the LLVM source code.
116# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
117#
118# o BUILD_SRC_DIR : The directory containing the code to build.
119# o BUILD_SRC_ROOT : The root directory of the code to build.
120#
121# o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
122# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
123#
124###########################################################################
125
John Criswell7f336952003-09-06 14:44:17 +0000126# Set the object build directory. By default, it is the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000127ifndef BUILD_OBJ_DIR
128BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
129endif
130
John Criswell7f336952003-09-06 14:44:17 +0000131# Set the root of the object directory.
John Criswell7f336952003-09-06 14:44:17 +0000132ifndef BUILD_OBJ_ROOT
133BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
134endif
135
John Criswell7f336952003-09-06 14:44:17 +0000136# Set the source build directory. That is almost always the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000137ifndef BUILD_SRC_DIR
138BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
139endif
140
John Criswell7f336952003-09-06 14:44:17 +0000141# Set the source root directory.
John Criswell7f336952003-09-06 14:44:17 +0000142ifndef BUILD_SRC_ROOT
143BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
144endif
145
John Criswell7f336952003-09-06 14:44:17 +0000146# Set the LLVM object directory.
John Criswell7f336952003-09-06 14:44:17 +0000147ifndef LLVM_OBJ_ROOT
148ifdef LLVM_SRC_ROOT
149LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
150else
151LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
152endif
153endif
154
John Criswell7f336952003-09-06 14:44:17 +0000155# Set the LLVM source directory.
156# It is typically the root directory of what we're compiling now.
John Criswell7f336952003-09-06 14:44:17 +0000157ifndef LLVM_SRC_ROOT
158LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
159endif
160
Reid Spencer37130d22004-10-04 07:05:07 +0000161# Handle configured libraries
162HAVE_BZIP2 := @HAVE_BZIP2@
Reid Spencer94926f02004-10-04 17:49:19 +0000163HAVE_ZLIB := @HAVE_ZLIB@
Reid Spencer37130d22004-10-04 07:05:07 +0000164
Brian Gaeke5339ada2003-12-10 00:25:32 +0000165# Installation directories, as provided by the configure script.
Brian Gaeke5339ada2003-12-10 00:25:32 +0000166exec_prefix = @exec_prefix@
167prefix = @prefix@
168program_transform_name = @program_transform_name@
169bindir = @bindir@
170sbindir = @sbindir@
171libexecdir = @libexecdir@
172datadir = @datadir@
173sysconfdir = @sysconfdir@
174sharedstatedir = @sharedstatedir@
175localstatedir = @localstatedir@
176libdir = @libdir@
Brian Gaeke8abff792004-01-22 22:53:48 +0000177bytecode_libdir = $(LLVMGCCDIR)/bytecode-libs
Brian Gaeke5339ada2003-12-10 00:25:32 +0000178includedir = @includedir@
179infodir = @infodir@
180mandir = @mandir@
181INSTALL_PROGRAM = @INSTALL_PROGRAM@
182INSTALL_SCRIPT = @INSTALL_SCRIPT@
183INSTALL_DATA = @INSTALL_DATA@
Reid Spencer151f8ba2004-10-25 08:27:37 +0000184LLVM_TARBALL_NAME = @PACKAGE_NAME@-@PACKAGE_VERSION@
Brian Gaeke5339ada2003-12-10 00:25:32 +0000185