blob: 4bf59635482f754bbbc8758c5a78249ee3ace3cd [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
John Criswell0021c312004-02-13 21:57:29 +000021# Endian-ness of the target
22ENDIAN=@ENDIAN@
23
John Criswell7a73b802003-06-30 21:59:07 +000024# Path to the C++ compiler to use. This is an optional setting, which defaults
25# to whatever your gmake defaults to.
John Criswell7a73b802003-06-30 21:59:07 +000026CXX = @CXX@
27
Misha Brukmanb5a2e402004-06-17 15:39:58 +000028# Path to the CC binary, which use used by testcases for native builds.
John Criswell7a73b802003-06-30 21:59:07 +000029CC := @CC@
30
John Criswell9b872872004-08-02 22:24:39 +000031# Path to the Python interpreter
32PYTHON := @PYTHON@
33
Brian Gaekef1dd2002004-01-16 21:31:34 +000034# Linker flags.
John Criswellb812e762003-07-01 15:02:59 +000035LDFLAGS+=@LDFLAGS@
John Criswell49bf8622003-06-30 22:33:53 +000036
John Criswell7a73b802003-06-30 21:59:07 +000037# Libraries needed by tools
John Criswell7a73b802003-06-30 21:59:07 +000038TOOLLINKOPTS=@LIBS@
39
Brian Gaekef1dd2002004-01-16 21:31:34 +000040# Path to the library archiver program.
John Criswell7a73b802003-06-30 21:59:07 +000041AR_PATH = @AR@
42
John Criswell7a73b802003-06-30 21:59:07 +000043# The pathnames of the Flex and Bison programs, respectively.
John Criswellb8b80c42004-01-12 16:14:54 +000044YACC = @YACC@
45BISON = @BISON@
John Criswell7a73b802003-06-30 21:59:07 +000046FLEX = @LEX@
47
John Criswell7a73b802003-06-30 21:59:07 +000048# Paths to miscellaneous programs.
Brian Gaeke26be9c52004-01-13 06:43:16 +000049RPWD = pwd
50SED = sed
51RM = rm
52ECHO = echo
John Criswell0057e322003-07-22 19:17:35 +000053MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
Brian Gaeke26be9c52004-01-13 06:43:16 +000054DATE = date
55MV = mv
John Criswell7a73b802003-06-30 21:59:07 +000056INSTALL = @INSTALL@
57DOT = @DOT@
58ETAGS = @ETAGS@
Brian Gaekee0cec5d2004-01-22 21:55:01 +000059ETAGSFLAGS = @ETAGSFLAGS@
John Criswell7a73b802003-06-30 21:59:07 +000060
John Criswell7a73b802003-06-30 21:59:07 +000061# Determine the target for which LLVM should generate code.
John Criswell7a73b802003-06-30 21:59:07 +000062LLVMGCCARCH := @target@/3.4-llvm
63
Brian Gaekef1dd2002004-01-16 21:31:34 +000064# Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries:
65LCC1 = @LLVMCC1@
66LCC1XX = @LLVMCC1PLUS@
67
John Criswell7a73b802003-06-30 21:59:07 +000068# Path to directory where object files should be stored during a build.
69# Set OBJ_ROOT to "." if you do not want to use a separate place for
70# object files.
John Criswell7f336952003-09-06 14:44:17 +000071OBJ_ROOT := .
John Criswell7a73b802003-06-30 21:59:07 +000072
Brian Gaekeb798b1e2004-03-10 17:37:50 +000073# Path to location for LLVM C/C++ front-end. You can modify this if you
74# want to override the value set by configure.
John Criswell7a73b802003-06-30 21:59:07 +000075LLVMGCCDIR := @LLVMGCCDIR@
76
John Criswell7a73b802003-06-30 21:59:07 +000077# These are options that can either be enabled here, or can be enabled on the
Brian Gaekef1dd2002004-01-16 21:31:34 +000078# make command line (ie, make ENABLE_PROFILING=1):
John Criswell7a73b802003-06-30 21:59:07 +000079
80# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
81# turned on, and Debug builds are turned off.
John Criswell7a73b802003-06-30 21:59:07 +000082#ENABLE_OPTIMIZED = 1
83@ENABLE_OPTIMIZED@
84
85# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
86# information to allow gprof to be used to get execution frequencies.
John Criswell7a73b802003-06-30 21:59:07 +000087#ENABLE_PROFILING = 1
John Criswell7a73b802003-06-30 21:59:07 +000088
Misha Brukmane9676502003-07-02 21:20:04 +000089# This option tells the Makefiles to produce verbose output.
John Criswell7a73b802003-06-30 21:59:07 +000090# It essentially prints the commands that make is executing
John Criswell7a73b802003-06-30 21:59:07 +000091#VERBOSE = 1
John Criswell7a73b802003-06-30 21:59:07 +000092
John Criswell7a73b802003-06-30 21:59:07 +000093# Enable JIT for this platform
John Criswell7a73b802003-06-30 21:59:07 +000094@JIT@
95
Brian Gaeke88aeace2004-01-21 19:39:07 +000096# Shared library extension for this platform.
97SHLIBEXT = @SHLIBEXT@
98
John Criswelle6d468f2004-06-01 19:04:38 +000099# Executable file extension for this platform.
100EXEEXT = @EXEEXT@
101
John Criswell7f336952003-09-06 14:44:17 +0000102###########################################################################
103# Directory Configuration
104# This section of the Makefile determines what is where. To be
105# specific, there are several locations that need to be defined:
106#
107# o LLVM_SRC_ROOT : The root directory of the LLVM source code.
108# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
109#
110# o BUILD_SRC_DIR : The directory containing the code to build.
111# o BUILD_SRC_ROOT : The root directory of the code to build.
112#
113# o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
114# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
115#
116###########################################################################
117
John Criswell7f336952003-09-06 14:44:17 +0000118# Set the object build directory. By default, it is the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000119ifndef BUILD_OBJ_DIR
120BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
121endif
122
John Criswell7f336952003-09-06 14:44:17 +0000123# Set the root of the object directory.
John Criswell7f336952003-09-06 14:44:17 +0000124ifndef BUILD_OBJ_ROOT
125BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
126endif
127
John Criswell7f336952003-09-06 14:44:17 +0000128# Set the source build directory. That is almost always the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000129ifndef BUILD_SRC_DIR
130BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
131endif
132
John Criswell7f336952003-09-06 14:44:17 +0000133# Set the source root directory.
John Criswell7f336952003-09-06 14:44:17 +0000134ifndef BUILD_SRC_ROOT
135BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
136endif
137
John Criswell7f336952003-09-06 14:44:17 +0000138# Set the LLVM object directory.
John Criswell7f336952003-09-06 14:44:17 +0000139ifndef LLVM_OBJ_ROOT
140ifdef LLVM_SRC_ROOT
141LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
142else
143LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
144endif
145endif
146
John Criswell7f336952003-09-06 14:44:17 +0000147# Set the LLVM source directory.
148# It is typically the root directory of what we're compiling now.
John Criswell7f336952003-09-06 14:44:17 +0000149ifndef LLVM_SRC_ROOT
150LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
151endif
152
John Criswell613758d2003-09-11 18:03:50 +0000153# Set SourceDir for backwards compatbility.
John Criswell613758d2003-09-11 18:03:50 +0000154ifndef SourceDir
155SourceDir=$(BUILD_SRC_DIR)
156endif
157
Reid Spencer37130d22004-10-04 07:05:07 +0000158# Handle configured libraries
159HAVE_BZIP2 := @HAVE_BZIP2@
Reid Spencer94926f02004-10-04 17:49:19 +0000160HAVE_ZLIB := @HAVE_ZLIB@
Reid Spencer37130d22004-10-04 07:05:07 +0000161
Brian Gaeke5339ada2003-12-10 00:25:32 +0000162# Installation directories, as provided by the configure script.
Brian Gaeke5339ada2003-12-10 00:25:32 +0000163exec_prefix = @exec_prefix@
164prefix = @prefix@
165program_transform_name = @program_transform_name@
166bindir = @bindir@
167sbindir = @sbindir@
168libexecdir = @libexecdir@
169datadir = @datadir@
170sysconfdir = @sysconfdir@
171sharedstatedir = @sharedstatedir@
172localstatedir = @localstatedir@
173libdir = @libdir@
Brian Gaeke8abff792004-01-22 22:53:48 +0000174bytecode_libdir = $(LLVMGCCDIR)/bytecode-libs
Brian Gaeke5339ada2003-12-10 00:25:32 +0000175includedir = @includedir@
176infodir = @infodir@
177mandir = @mandir@
178INSTALL_PROGRAM = @INSTALL_PROGRAM@
179INSTALL_SCRIPT = @INSTALL_SCRIPT@
180INSTALL_DATA = @INSTALL_DATA@
181