Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 275 lines (227 sloc) 8.512 kb
6d5ab866 » Misha Brukman
2004-04-24 Standardize header comments of top-level Makefiles.
1 #===-- Makefile.config - Local configuration for LLVM ------*- Makefile -*--===#
2 #
3 # The LLVM Compiler Infrastructure
4 #
57360d1f » Chris Lattner
2007-12-29 remove attributions from the rest of the llvm makefiles.
5 # This file is distributed under the University of Illinois Open Source
6 # License. See LICENSE.TXT for details.
6d5ab866 » Misha Brukman
2004-04-24 Standardize header comments of top-level Makefiles.
7 #
8 #===------------------------------------------------------------------------===#
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
9 #
10 # This file is included by Makefile.common. It defines paths and other
11 # values specific to a particular installation of LLVM.
f1dd2004 » Brian Gaeke
2004-01-16 Remove some whitespace and fix up some comments.
12 #
6d5ab866 » Misha Brukman
2004-04-24 Standardize header comments of top-level Makefiles.
13 #===------------------------------------------------------------------------===#
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
14
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
15 # Define LLVM specific info and directories based on the autoconf variables
16 LLVMPackageName := @PACKAGE_NAME@
17 LLVMVersion := @PACKAGE_VERSION@
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
18 LLVM_CONFIGTIME := @LLVM_CONFIGTIME@
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
19
20 ###########################################################################
21 # Directory Configuration
22 # This section of the Makefile determines what is where. To be
23 # specific, there are several locations that need to be defined:
24 #
25 # o LLVM_SRC_ROOT : The root directory of the LLVM source code.
26 # o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
27 #
28 # o PROJ_SRC_DIR : The directory containing the code to build.
29 # o PROJ_SRC_ROOT : The root directory of the code to build.
30 #
31 # o PROJ_OBJ_DIR : The directory in which compiled code will be placed.
32 # o PROJ_OBJ_ROOT : The root directory in which compiled code is placed.
33 #
34 ###########################################################################
35
aea7fe4a » Reid Spencer
2006-07-28 For PR848:
36 PWD := @BINPWD@
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
37 # Set the project name to LLVM if its not defined
38 ifndef PROJECT_NAME
1b22fde3 » Reid Spencer
2006-08-07 Make the name of the project consistent with that specified in the
39 PROJECT_NAME := $(LLVMPackageName)
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
40 endif
41
aea7fe4a » Reid Spencer
2006-07-28 For PR848:
42 PROJ_OBJ_DIR := $(shell $(PWD))
43 PROJ_OBJ_ROOT := $(shell cd $(PROJ_OBJ_DIR)/$(LEVEL); $(PWD))
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
44
1b22fde3 » Reid Spencer
2006-08-07 Make the name of the project consistent with that specified in the
45 ifeq ($(PROJECT_NAME),llvm)
aea7fe4a » Reid Spencer
2006-07-28 For PR848:
46 LLVM_SRC_ROOT := $(shell cd @abs_top_srcdir@; $(PWD))
47 LLVM_OBJ_ROOT := $(shell cd @abs_top_builddir@; $(PWD))
48 PROJ_SRC_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(PWD))
49 PROJ_SRC_DIR := $(shell cd $(LLVM_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR)); $(PWD))
32b16911 » Reid Spencer
2007-01-17 For PR739:
50 prefix := @prefix@
51 PROJ_prefix := $(prefix)
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
52 PROJ_VERSION := $(LLVMVersion)
53 else
54 ifndef PROJ_SRC_ROOT
55 $(error Projects must define PROJ_SRC_ROOT)
56 endif
57 ifndef PROJ_OBJ_ROOT
58 $(error Projects must define PROJ_OBJ_ROOT)
59 endif
60 ifndef PROJ_INSTALL_ROOT
61 $(error Projects must define PROJ_INSTALL_ROOT)
62 endif
63 ifndef LLVM_SRC_ROOT
64 $(error Projects must define LLVM_SRC_ROOT)
65 endif
66 ifndef LLVM_OBJ_ROOT
67 $(error Projects must define LLVM_OBJ_ROOT)
68 endif
aea7fe4a » Reid Spencer
2006-07-28 For PR848:
69 PROJ_SRC_DIR := $(shell cd $(PROJ_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR)); $(PWD))
32b16911 » Reid Spencer
2007-01-17 For PR739:
70 prefix := $(PROJ_INSTALL_ROOT)
71 PROJ_prefix := $(prefix)
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
72 ifndef PROJ_VERSION
73 PROJ_VERSION := 1.0
74 endif
75 endif
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
76
8475ec06 » Reid Spencer
2007-03-29 For PR789:
77 LLVMMAKE := $(LLVM_SRC_ROOT)/make
78
32b16911 » Reid Spencer
2007-01-17 For PR739:
79 PROJ_bindir := $(DESTDIR)$(PROJ_prefix)/bin
80 PROJ_libdir := $(DESTDIR)$(PROJ_prefix)/lib
81 PROJ_datadir := $(DESTDIR)$(PROJ_prefix)/share
82 PROJ_docsdir := $(DESTDIR)$(PROJ_prefix)/docs/llvm
83 PROJ_etcdir := $(DESTDIR)$(PROJ_prefix)/etc/llvm
84 PROJ_includedir := $(DESTDIR)$(PROJ_prefix)/include
85 PROJ_infodir := $(DESTDIR)$(PROJ_prefix)/info
3c94f6ae » isanbard
2007-07-03 Change the place where man pages are installed to ${prefix}/share/man…
86 PROJ_mandir := $(DESTDIR)$(PROJ_prefix)/share/man
32b16911 » Reid Spencer
2007-01-17 For PR739:
87
bbf7a8af » Reid Spencer
2004-12-31 For PR351:
88 # Determine if we're on a unix type operating system
89 LLVM_ON_UNIX:=@LLVM_ON_UNIX@
90 LLVM_ON_WIN32:=@LLVM_ON_WIN32@
91
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
92 # Target operating system for which LLVM will be compiled.
93 OS=@OS@
94
7659545c » John Criswell
2003-07-01 Added the ARCH variable so that some of the Makefiles can perform act…
95 # Target hardware architecture
96 ARCH=@ARCH@
97
e2cfe5d2 » Reid Spencer
2006-07-26 For PR814:
98 # Indicates, whether we're cross-compiling LLVM or not
99 LLVM_CROSS_COMPILING=@LLVM_CROSS_COMPILING@
100
101 # Executable file extension for build platform (mainly for
102 # tablegen call if we're cross-compiling).
103 BUILD_EXEEXT=@BUILD_EXEEXT@
104
18224032 » Reid Spencer
2004-11-07 Add TARGET_TRIPLE
105 # Target triple (cpu-vendor-os) for which we should generate code
106 TARGET_TRIPLE=@target@
107
cf9be26e » Evan Cheng
2006-06-20 Added --with-extra-options=opts to specify additional options to buil…
108 # Extra options to compile LLVM with
109 EXTRA_OPTIONS=@EXTRA_OPTIONS@
110
0021c31b » John Criswell
2004-02-13 Added check for target machine endian-ness and put the result into
111 # Endian-ness of the target
112 ENDIAN=@ENDIAN@
113
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
114 # Path to the C++ compiler to use. This is an optional setting, which defaults
115 # to whatever your gmake defaults to.
116 CXX = @CXX@
117
b5a2e40d » Misha Brukman
2004-06-17 Since the Great LLVM Tool Renaming(tm), we no longer have collisions …
118 # Path to the CC binary, which use used by testcases for native builds.
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
119 CC := @CC@
120
f1dd2004 » Brian Gaeke
2004-01-16 Remove some whitespace and fix up some comments.
121 # Linker flags.
b812e76b » John Criswell
2003-07-01 The Makefile now adds autoconf information to the compiler and linker…
122 LDFLAGS+=@LDFLAGS@
49bf8627 » John Criswell
2003-06-30 Removed the LIBS environment variable as it interferes with the tests…
123
f1dd2004 » Brian Gaeke
2004-01-16 Remove some whitespace and fix up some comments.
124 # Path to the library archiver program.
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
125 AR_PATH = @AR@
126
1bc68643 » Reid Spencer
2006-07-27 Changes to support cross-compiling LLVM. The GenLibDeps.pl script nee…
127 # Path to the nm program
128 NM_PATH = @NM@
129
151f8ba3 » Reid Spencer
2004-10-25 New Makefile Features:
130 # The pathnames of the programs we require to build
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
131 BISON := @BISON@
8a2d4718 » Reid Spencer
2004-12-16 Add CMP and CP configuration variables for the unix cmp and cp programs.
132 CMP := @CMP@
133 CP := @CP@
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
134 DATE := @DATE@
135 FIND := @FIND@
136 FLEX := @LEX@
137 GREP := @GREP@
138 INSTALL := @INSTALL@
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
139 MKDIR := $(LLVM_SRC_ROOT)/autoconf/mkinstalldirs
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
140 MV := @MV@
141 RANLIB := @RANLIB@
142 RM := @RM@
143 SED := @SED@
144 TAR := @TAR@
145 YACC := @YACC@
146
147 # Paths to miscellaneous programs we hope are present but might not be
b195d9d3 » Reid Spencer
2006-03-23 Update to llvm-config tool, by Erik Kidd:
148 PERL := @PERL@
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
149 BZIP2 := @BZIP2@
150 DOT := @DOT@
151 DOXYGEN := @DOXYGEN@
152 GROFF := @GROFF@
153 GZIP := @GZIP@
0908d49c » Gordon Henriksen
2007-09-18 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42090 911773…
154 OCAMLC := @OCAMLC@
155 OCAMLOPT := @OCAMLOPT@
a8c3660c » Gordon Henriksen
2007-09-20 Incorporating review feedback for GC verifier patch.
156 OCAMLDEP := @OCAMLDEP@
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
157 POD2HTML := @POD2HTML@
158 POD2MAN := @POD2MAN@
159 RUNTEST := @RUNTEST@
0fcb9410 » Reid Spencer
2004-11-30 Add a check for the tclsh program needed by dejagnu. This can have weird
160 TCLSH := @TCLSH@
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
161 ZIP := @ZIP@
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
162
1000b733 » Reid Spencer
2006-12-01 For PR1019:
163 HAVE_PERL := @HAVE_PERL@
164 HAVE_PTHREAD := @HAVE_PTHREAD@
b195d9d3 » Reid Spencer
2006-03-23 Update to llvm-config tool, by Erik Kidd:
165
5a870448 » Reid Spencer
2005-04-22 Two changes:
166 LIBS := @LIBS@
167
6530e9d8 » Gordon Henriksen
2007-10-02 Add explicit --enable-bindings option to configure.
168 # Targets that we should build
169 TARGETS_TO_BUILD=@TARGETS_TO_BUILD@
170
7908035f » Reid Spencer
2004-12-22 For PR432:
171 # Path to location for LLVM C/C++ front-end. You can modify this if you
172 # want to override the value set by configure.
173 LLVMGCCDIR := @LLVMGCCDIR@
174
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
175 # Determine the target for which LLVM should generate code.
a6cb9a1c » Reid Spencer
2006-11-05 Get LLVMGCCARCH right regardless of the llvm-gcc version being used.
176 ifeq (@LLVMGCC_MAJVERS@,3)
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
177 LLVMGCCARCH := @target@/3.4-llvm
a6cb9a1c » Reid Spencer
2006-11-05 Get LLVMGCCARCH right regardless of the llvm-gcc version being used.
178 else
179 LLVMGCCARCH := @target@/@LLVMGCC_VERSION@
180 endif
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
181
282d8c16 » Reid Spencer
2006-12-21 Add a new variable, LLVMGCCLIBEXEC to get the libexec directory where…
182 # Determine the path where the library executables are
183 LLVMGCCLIBEXEC := @LLVMGCCLIBEXEC@
184
f1dd2004 » Brian Gaeke
2004-01-16 Remove some whitespace and fix up some comments.
185 # Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries:
7908035f » Reid Spencer
2004-12-22 For PR432:
186 LLVMGCC := @LLVMGCC@
187 LLVMGXX := @LLVMGXX@
188 LLVMCC1 := @LLVMCC1@
189 LLVMCC1PLUS := @LLVMCC1PLUS@
7917d3af » Reid Spencer
2006-04-06 For support of new GCC v4, obtain the full and major versions of the
190 LLVMGCC_VERSION := @LLVMGCC_VERSION@
191 LLVMGCC_MAJVERS := @LLVMGCC_MAJVERS@
1addff97 » Reid Spencer
2007-04-21 Add support for determining which languages the llvm-gcc front end
192 LLVMGCC_LANGS := @LLVMGCC_LANGS@
f1dd2004 » Brian Gaeke
2004-01-16 Remove some whitespace and fix up some comments.
193
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
194 # Path to directory where object files should be stored during a build.
195 # Set OBJ_ROOT to "." if you do not want to use a separate place for
196 # object files.
7f33695e » John Criswell
2003-09-06 Checkin of autoconf-style object root.
197 OBJ_ROOT := .
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
198
199 # These are options that can either be enabled here, or can be enabled on the
f1dd2004 » Brian Gaeke
2004-01-16 Remove some whitespace and fix up some comments.
200 # make command line (ie, make ENABLE_PROFILING=1):
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
201
c4329cf5 » Reid Spencer
2006-04-07 For PR723:
202 # When ENABLE_OPTIMIZED is enabled, LLVM code is optimized and output is put
203 # into the "Release" directories. Otherwise, LLVM code is not optimized and
204 # output is put in the "Debug" directories.
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
205 #ENABLE_OPTIMIZED = 1
206 @ENABLE_OPTIMIZED@
207
1a5a5519 » Reid Spencer
2006-04-09 Fix a comment.
208 # When DISABLE_ASSERTIONS is enabled, builds of all of the LLVM code will
209 # exclude assertion checks, otherwise they are included.
c28ccd86 » Reid Spencer
2006-04-09 Change the assertions defaults:
210 #DISABLE_ASSERTIONS = 1
211 @DISABLE_ASSERTIONS@
c4329cf5 » Reid Spencer
2006-04-07 For PR723:
212
a696d24a » greened
2007-06-28 Add support for building with _GLIBCXX_DEBUG. New configure option
213 # When ENABLE_EXPENSIVE_CHECKS is enabled, builds of all of the LLVM
214 # code will include expensive checks, otherwise they are excluded.
215 #ENABLE_EXPENSIVE_CHECKS = 0
216 @ENABLE_EXPENSIVE_CHECKS@
217
8b2e1419 » Reid Spencer
2006-11-17 Undo removal of the runtime libraries. While this may have been a bit
218 # When DEBUG_RUNTIME is enabled, the runtime libraries will retain debug
219 # symbols.
220 #DEBUG_RUNTIME = 1
221 @DEBUG_RUNTIME@
222
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
223 # When ENABLE_PROFILING is enabled, the llvm source base is built with profile
224 # information to allow gprof to be used to get execution frequencies.
225 #ENABLE_PROFILING = 1
226
e1200219 » Reid Spencer
2004-11-29 * Get additional configured values into the makefiles
227 # When ENABLE_DOXYGEN is enabled, the doxygen documentation will be built
228 ENABLE_DOXYGEN = @ENABLE_DOXYGEN@
229
b756c79d » Reid Spencer
2006-06-01 Support correct build:
230 # Do we want to enable threads?
231 ENABLE_THREADS := @ENABLE_THREADS@
232
89b0d995 » Reid Spencer
2006-12-16 Allow an --enable-pic option to turn on -fPIC compiler option when bu…
233 # Do we want to build with position independent code?
234 ENABLE_PIC := @ENABLE_PIC@
235
e9676508 » Misha Brukman
2003-07-02 The word `open' was really intended to be `option'.
236 # This option tells the Makefiles to produce verbose output.
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
237 # It essentially prints the commands that make is executing
238 #VERBOSE = 1
239
240 # Enable JIT for this platform
b195d9d3 » Reid Spencer
2006-03-23 Update to llvm-config tool, by Erik Kidd:
241 TARGET_HAS_JIT = @TARGET_HAS_JIT@
7a73b80b » John Criswell
2003-06-30 Merged in autoconf branch. This provides configuration via the autoconf
242
e2cfe5d2 » Reid Spencer
2006-07-26 For PR814:
243 # Shared library extension for host platform.
88aeace3 » Brian Gaeke
2004-01-21 Get SHLIBEXT variable from configure script.
244 SHLIBEXT = @SHLIBEXT@
245
e2cfe5d2 » Reid Spencer
2006-07-26 For PR814:
246 # Executable file extension for host platform.
e6d468f6 » John Criswell
2004-06-01 Added the EXEEXT variable so that Makefiles can figure out what exten…
247 EXEEXT = @EXEEXT@
248
b2cb4861 » Reid Spencer
2005-01-16 Several changes:
249 # Things we just assume are "there"
250 ECHO := echo
a773bd54 » Reid Spencer
2006-08-04 Update the auto* tools: autoconf 2.60, libtool 1.5.22, automake 1.9.6.
251
252 # Get the options for causing archives to link all their content instead of
253 # just missing symbols, and the inverse of that. This is used for certain LLVM
254 # tools that permit loadable modules. It ensures that the LLVM symbols will be
255 # available to those loadable modules.
256 LINKALL := @LINKALL@
257 NOLINKALL := @NOLINKALL@
b2ed0526 » Reid Spencer
2006-11-03 Add a check to see if HUGE_VAL is sane or not.
258
259 # Get the value of HUGE_VAL_SANITY which will be either "yes" or "no" depending
260 # on the check.
261 HUGE_VAL_SANITY = @HUGE_VAL_SANITY@
6530e9d8 » Gordon Henriksen
2007-10-02 Add explicit --enable-bindings option to configure.
262
263 # Bindings that we should build
1d4e0782 » Gordon Henriksen
2007-10-02 Providing --with-ocaml-libdir for ./configure. The default is the
264 BINDINGS_TO_BUILD := @BINDINGS_TO_BUILD@
265 ALL_BINDINGS := @ALL_BINDINGS@
266 OCAML_LIBDIR := @OCAML_LIBDIR@
6530e9d8 » Gordon Henriksen
2007-10-02 Add explicit --enable-bindings option to configure.
267
163974de » Chris Lattner
2008-01-15 improve compatibility with mingw, patch by Alain Frisch
268 # When compiling under Mingw/Cygwin, executables such as tblgen
269 # expect Windows paths, whereas the build system uses Unix paths.
270 # The function SYSPATH transforms Unix paths into Windows paths.
271 ifneq (,$(findstring -mno-cygwin, $(CXX)))
272 SYSPATH = $(shell echo $(1) | cygpath -m -f -)
273 else
274 SYSPATH = $(1)
275 endif
Something went wrong with that request. Please try again.