blob: a1983ab8622cd8e9c15d390d9a6250bd9c0268ef [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
Reid Spencere1200212004-11-29 04:53:50 +000015# Define LLVM speific info and directories
16PACKAGE_NAME := @PACKAGE_NAME@
17PACKAGE_VERSION := @PACKAGE_VERSION@
18LLVM_PREFIX := @LLVM_PREFIX@
19LLVM_BINDIR := @LLVM_BINDIR@
20LLVM_LIBDIR := @LLVM_LIBDIR@
21LLVM_DATADIR := @LLVM_DATADIR@
22LLVM_DOCSDIR := @LLVM_DOCSDIR@
23LLVM_ETCDIR := @LLVM_ETCDIR@
24LLVM_INCLUDEDIR := @LLVM_INCLUDEDIR@
25LLVM_INFODIR := @LLVM_INFODIR@
26LLVM_MANDIR := @LLVM_MANDIR@
27LLVM_CONFIGTIME := @LLVM_CONFIGTIME@
28LLVM_TARBALL_NAME := @PACKAGE_NAME@-@PACKAGE_VERSION@
29
Reid Spencerbbf7a8a2004-12-31 22:54:28 +000030# Determine if we're on a unix type operating system
31LLVM_ON_UNIX:=@LLVM_ON_UNIX@
32LLVM_ON_WIN32:=@LLVM_ON_WIN32@
33
John Criswell7a73b802003-06-30 21:59:07 +000034# Target operating system for which LLVM will be compiled.
John Criswell7a73b802003-06-30 21:59:07 +000035OS=@OS@
36
John Criswell76595452003-07-01 22:07:39 +000037# Target hardware architecture
John Criswell76595452003-07-01 22:07:39 +000038ARCH=@ARCH@
39
Reid Spencer18224032004-11-07 19:12:53 +000040# Target triple (cpu-vendor-os) for which we should generate code
41TARGET_TRIPLE=@target@
42
John Criswell0021c312004-02-13 21:57:29 +000043# Endian-ness of the target
44ENDIAN=@ENDIAN@
45
John Criswell7a73b802003-06-30 21:59:07 +000046# Path to the C++ compiler to use. This is an optional setting, which defaults
47# to whatever your gmake defaults to.
John Criswell7a73b802003-06-30 21:59:07 +000048CXX = @CXX@
49
Misha Brukmanb5a2e402004-06-17 15:39:58 +000050# Path to the CC binary, which use used by testcases for native builds.
John Criswell7a73b802003-06-30 21:59:07 +000051CC := @CC@
52
Brian Gaekef1dd2002004-01-16 21:31:34 +000053# Linker flags.
John Criswellb812e762003-07-01 15:02:59 +000054LDFLAGS+=@LDFLAGS@
John Criswell49bf8622003-06-30 22:33:53 +000055
John Criswell7a73b802003-06-30 21:59:07 +000056# Libraries needed by tools
John Criswell7a73b802003-06-30 21:59:07 +000057TOOLLINKOPTS=@LIBS@
58
Brian Gaekef1dd2002004-01-16 21:31:34 +000059# Path to the library archiver program.
John Criswell7a73b802003-06-30 21:59:07 +000060AR_PATH = @AR@
61
Reid Spencer151f8ba2004-10-25 08:27:37 +000062# The pathnames of the programs we require to build
Reid Spencere1200212004-11-29 04:53:50 +000063BISON := @BISON@
Reid Spencer8a2d4712004-12-16 17:48:14 +000064CMP := @CMP@
65CP := @CP@
Reid Spencere1200212004-11-29 04:53:50 +000066DATE := @DATE@
67FIND := @FIND@
68FLEX := @LEX@
69GREP := @GREP@
70INSTALL := @INSTALL@
71INSTALL_SH := $(BUILD_SRC_ROOT)/autoconf/install-sh
72INSTALL_PROGRAM = @INSTALL_PROGRAM@
73INSTALL_SCRIPT = @INSTALL_SCRIPT@
74INSTALL_DATA = @INSTALL_DATA@
75MKDIR := @abs_top_srcdir@/autoconf/mkinstalldirs
76MV := @MV@
77PAX := @PAX@
78RANLIB := @RANLIB@
79RM := @RM@
80SED := @SED@
81TAR := @TAR@
82YACC := @YACC@
83
84# Paths to miscellaneous programs we hope are present but might not be
85BZIP2 := @BZIP2@
86DOT := @DOT@
87DOXYGEN := @DOXYGEN@
88ETAGS := @ETAGS@
89ETAGSFLAGS := @ETAGSFLAGS@
90GROFF := @GROFF@
91GZIP := @GZIP@
92POD2HTML := @POD2HTML@
93POD2MAN := @POD2MAN@
Reid Spencere1200212004-11-29 04:53:50 +000094RUNTEST := @RUNTEST@
Reid Spencer0fcb9412004-11-30 08:11:54 +000095TCLSH := @TCLSH@
Reid Spencere1200212004-11-29 04:53:50 +000096ZIP := @ZIP@
John Criswell7a73b802003-06-30 21:59:07 +000097
Reid Spencer151f8ba2004-10-25 08:27:37 +000098# Paths to miscellaneous programs we assume are present
Reid Spencere1200212004-11-29 04:53:50 +000099RPWD := pwd
100ECHO := echo
Reid Spencer79080352004-12-22 05:57:09 +0000101
102# Path to location for LLVM C/C++ front-end. You can modify this if you
103# want to override the value set by configure.
104LLVMGCCDIR := @LLVMGCCDIR@
105
John Criswell7a73b802003-06-30 21:59:07 +0000106# Determine the target for which LLVM should generate code.
John Criswell7a73b802003-06-30 21:59:07 +0000107LLVMGCCARCH := @target@/3.4-llvm
108
Brian Gaekef1dd2002004-01-16 21:31:34 +0000109# Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries:
Reid Spencer79080352004-12-22 05:57:09 +0000110LLVMGCC := @LLVMGCC@
111LLVMGXX := @LLVMGXX@
112LLVMCC1 := @LLVMCC1@
113LLVMCC1PLUS := @LLVMCC1PLUS@
Brian Gaekef1dd2002004-01-16 21:31:34 +0000114
John Criswell7a73b802003-06-30 21:59:07 +0000115# Path to directory where object files should be stored during a build.
116# Set OBJ_ROOT to "." if you do not want to use a separate place for
117# object files.
John Criswell7f336952003-09-06 14:44:17 +0000118OBJ_ROOT := .
John Criswell7a73b802003-06-30 21:59:07 +0000119
John Criswell7a73b802003-06-30 21:59:07 +0000120# These are options that can either be enabled here, or can be enabled on the
Brian Gaekef1dd2002004-01-16 21:31:34 +0000121# make command line (ie, make ENABLE_PROFILING=1):
John Criswell7a73b802003-06-30 21:59:07 +0000122
123# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
124# turned on, and Debug builds are turned off.
John Criswell7a73b802003-06-30 21:59:07 +0000125#ENABLE_OPTIMIZED = 1
126@ENABLE_OPTIMIZED@
127
128# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
129# information to allow gprof to be used to get execution frequencies.
John Criswell7a73b802003-06-30 21:59:07 +0000130#ENABLE_PROFILING = 1
John Criswell7a73b802003-06-30 21:59:07 +0000131
Reid Spencere1200212004-11-29 04:53:50 +0000132# When ENABLE_DOXYGEN is enabled, the doxygen documentation will be built
133ENABLE_DOXYGEN = @ENABLE_DOXYGEN@
134
Misha Brukmane9676502003-07-02 21:20:04 +0000135# This option tells the Makefiles to produce verbose output.
John Criswell7a73b802003-06-30 21:59:07 +0000136# It essentially prints the commands that make is executing
John Criswell7a73b802003-06-30 21:59:07 +0000137#VERBOSE = 1
John Criswell7a73b802003-06-30 21:59:07 +0000138
John Criswell7a73b802003-06-30 21:59:07 +0000139# Enable JIT for this platform
John Criswell7a73b802003-06-30 21:59:07 +0000140@JIT@
141
Brian Gaeke88aeace2004-01-21 19:39:07 +0000142# Shared library extension for this platform.
143SHLIBEXT = @SHLIBEXT@
144
John Criswelle6d468f2004-06-01 19:04:38 +0000145# Executable file extension for this platform.
146EXEEXT = @EXEEXT@
147
John Criswell7f336952003-09-06 14:44:17 +0000148###########################################################################
149# Directory Configuration
150# This section of the Makefile determines what is where. To be
151# specific, there are several locations that need to be defined:
152#
153# o LLVM_SRC_ROOT : The root directory of the LLVM source code.
154# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
155#
156# o BUILD_SRC_DIR : The directory containing the code to build.
157# o BUILD_SRC_ROOT : The root directory of the code to build.
158#
159# o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
160# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
161#
162###########################################################################
163
John Criswell7f336952003-09-06 14:44:17 +0000164# Set the object build directory. By default, it is the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000165ifndef BUILD_OBJ_DIR
166BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
167endif
168
John Criswell7f336952003-09-06 14:44:17 +0000169# Set the root of the object directory.
John Criswell7f336952003-09-06 14:44:17 +0000170ifndef BUILD_OBJ_ROOT
171BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
172endif
173
John Criswell7f336952003-09-06 14:44:17 +0000174# Set the source build directory. That is almost always the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000175ifndef BUILD_SRC_DIR
176BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
177endif
178
John Criswell7f336952003-09-06 14:44:17 +0000179# Set the source root directory.
John Criswell7f336952003-09-06 14:44:17 +0000180ifndef BUILD_SRC_ROOT
181BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
182endif
183
John Criswell7f336952003-09-06 14:44:17 +0000184# Set the LLVM object directory.
John Criswell7f336952003-09-06 14:44:17 +0000185ifndef LLVM_OBJ_ROOT
186ifdef LLVM_SRC_ROOT
187LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
188else
189LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
190endif
191endif
192
John Criswell7f336952003-09-06 14:44:17 +0000193# Set the LLVM source directory.
194# It is typically the root directory of what we're compiling now.
John Criswell7f336952003-09-06 14:44:17 +0000195ifndef LLVM_SRC_ROOT
196LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
197endif
198
Brian Gaeke5339ada2003-12-10 00:25:32 +0000199# Installation directories, as provided by the configure script.
Reid Spencere1200212004-11-29 04:53:50 +0000200abs_top_srcdir = @abs_top_srcdir@
201abs_top_builddir = @abs_top_builddir@
Brian Gaeke5339ada2003-12-10 00:25:32 +0000202exec_prefix = @exec_prefix@
203prefix = @prefix@
204program_transform_name = @program_transform_name@
205bindir = @bindir@
206sbindir = @sbindir@
207libexecdir = @libexecdir@
208datadir = @datadir@
209sysconfdir = @sysconfdir@
210sharedstatedir = @sharedstatedir@
211localstatedir = @localstatedir@
212libdir = @libdir@
213includedir = @includedir@
214infodir = @infodir@
215mandir = @mandir@