Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 893 lines (787 sloc) 24.232 kb
ca5629c Viral B. Shah Define FFLAGS in Make.inc and use that in external/Makefile
ViralBShah authored
1 # -*- mode: makefile-gmake -*-
2
97eddeb Jameson Nash fix #4215
vtjnash authored
3 ## Note:
4 ## It is generally preferable to change these options, for
5 ## your local machine, in a file named `Make.user` in this directory
6
7 # OPENBLAS build options
a652df6 Elliot Saba Setting OPENBLAS_TARGET_ARCH should disable OPENBLAS_DYNAMIC_ARCH by def...
staticfloat authored
8 OPENBLAS_TARGET_ARCH=
2fc6d3c Tony Kelman Allow OPENBLAS_SYMBOLSUFFIX to be overridden in Make.user
tkelman authored
9 OPENBLAS_SYMBOLSUFFIX=
a652df6 Elliot Saba Setting OPENBLAS_TARGET_ARCH should disable OPENBLAS_DYNAMIC_ARCH by def...
staticfloat authored
10
11 # If OPENBLAS_TARGET_ARCH is set, we default to disabling OPENBLAS_DYNAMIC_ARCH
12 ifneq ($(OPENBLAS_TARGET_ARCH),)
13 OPENBLAS_DYNAMIC_ARCH=0
14 else
97eddeb Jameson Nash fix #4215
vtjnash authored
15 OPENBLAS_DYNAMIC_ARCH=1
a652df6 Elliot Saba Setting OPENBLAS_TARGET_ARCH should disable OPENBLAS_DYNAMIC_ARCH by def...
staticfloat authored
16 endif
97eddeb Jameson Nash fix #4215
vtjnash authored
17 OPENBLAS_USE_THREAD=1
18
19 # Use libraries available on the system instead of building them
20 USE_SYSTEM_LLVM=0
21 USE_SYSTEM_LIBUNWIND=0
22 USE_SYSTEM_PCRE=0
23 USE_SYSTEM_LIBM=0
24 USE_SYSTEM_OPENLIBM=0
25 UNTRUSTED_SYSTEM_LIBM=0
80b3592 Viral B. Shah Use openspecfun.
ViralBShah authored
26 USE_SYSTEM_OPENSPECFUN=0
d79010b Milan Bouchet-Valat Allow using system dSFMT
nalimilan authored
27 USE_SYSTEM_DSFMT=0
97eddeb Jameson Nash fix #4215
vtjnash authored
28 USE_SYSTEM_BLAS=0
29 USE_SYSTEM_LAPACK=0
30 USE_SYSTEM_FFTW=0
31 USE_SYSTEM_GMP=0
32 USE_SYSTEM_MPFR=0
33 USE_SYSTEM_ARPACK=0
34 USE_SYSTEM_SUITESPARSE=0
35 USE_SYSTEM_RMATH=0
36 USE_SYSTEM_LIBUV=0
71f6d99 Steven G. Johnson as discussed by @nalimilan in #7917, make it easier to link -lutf8proc i...
stevengj authored
37 USE_SYSTEM_UTF8PROC=0
ca15142 Steven G. Johnson utf8proc -> libmojibake (closes #7656, fixes #7582)
stevengj authored
38 USE_SYSTEM_MOJIBAKE=0
6cbac8a Alessandro Andrioni Add libgit2 to the default build
andrioni authored
39 USE_SYSTEM_LIBGIT2=0
97eddeb Jameson Nash fix #4215
vtjnash authored
40
f19751c Viral B. Shah Provide a build option USE_LLVM_SHLIB to help #2494
ViralBShah authored
41 # Link to the LLVM shared library
42 USE_LLVM_SHLIB = 0
43
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
44 ## Settings for various Intel tools
45 # Set to 1 to use MKL
f2d9546 Viral B. Shah Rename USE_MKL -> USE_INTEL_MKL and add deprecation
ViralBShah authored
46 USE_INTEL_MKL ?= 0
47 # Set to 1 to use MKL FFT
48 USE_INTEL_MKL_FFT ?= 0
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
49 # Set to 1 to use Intel LIBM
f2d9546 Viral B. Shah Rename USE_MKL -> USE_INTEL_MKL and add deprecation
ViralBShah authored
50 USE_INTEL_LIBM ?= 0
3879e86 Arch D. Robison Make VTune Amplifier support conditional on USE_INTEL_JITEVENTS.
ArchRobison authored
51 # Set to 1 to enable profiling with Intel VTune Amplifier
f2d9546 Viral B. Shah Rename USE_MKL -> USE_INTEL_MKL and add deprecation
ViralBShah authored
52 USE_INTEL_JITEVENTS ?= 0
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
53 # Set to 1 to use Intel C, C++, and FORTRAN compilers
f2d9546 Viral B. Shah Rename USE_MKL -> USE_INTEL_MKL and add deprecation
ViralBShah authored
54 USEICC ?= 0
55 USEIFC ?= 0
56
57 ifeq ($(USE_MKL), 1)
58 $(warning "The julia make variable USE_MKL has been renamed to USE_INTEL_MKL")
59 USE_INTEL_MKL = 1
60 endif
3879e86 Arch D. Robison Make VTune Amplifier support conditional on USE_INTEL_JITEVENTS.
ArchRobison authored
61
f19751c Viral B. Shah Provide a build option USE_LLVM_SHLIB to help #2494
ViralBShah authored
62 # libc++ is standard on OS X 10.9, but not for earlier releases
02f9835 Keno Fischer Make Julia work on 10.9
Keno authored
63 USE_LIBCPP = 0
64
d3d6291 Jameson Nash fix stack-smashing protector usage across platforms by introducing a HAV...
vtjnash authored
65 # assume we don't have LIBSSP support in our compiler, will enable later if likely true
66 HAVE_SSP = 0
67
a6bee0a Jameson Nash ignore ARCH varianle in env. fix #7433
vtjnash authored
68 # Prevent picking up $ARCH from the environment variables
69 ARCH=
70
b2f6c65 Jameson Nash fix #4120, close #4139
vtjnash authored
71 # we include twice to pickup user definitions better
3ba19ae Jameson Nash major cleanup of deps/Makefile targets
vtjnash authored
72 ifeq (exists, $(shell [ -e $(JULIAHOME)/Make.user ] && echo exists ))
b64a1c8 Patrick O'Leary Vagrant: update Vagrantfile, fix make testall
pao authored
73 include $(JULIAHOME)/Make.user
3ba19ae Jameson Nash major cleanup of deps/Makefile targets
vtjnash authored
74 endif
75
b2f6c65 Jameson Nash fix #4120, close #4139
vtjnash authored
76 # disable automatic Makefile rules
3ba19ae Jameson Nash major cleanup of deps/Makefile targets
vtjnash authored
77 .SUFFIXES:
ecc6a2f Jameson Nash add a cross-compile target, for building WINNT on LINUX (libuv still req...
vtjnash authored
78
81b51e7 Erik Schnetter Correct typo in comment
eschnett authored
79 # find out if git repository is available
f7c19cb Ivar Nesje Take git info out of BUILD_INFO, prepare for tarball export
ivarne authored
80 ifeq ($(shell [ -e $(JULIAHOME)/.git ] && echo true || echo "Warning: git information unavailable; versioning information limited" >&2), true)
81 NO_GIT = 0
82 else
83 NO_GIT = 1
84 endif
85
acff892 Stefan Karpinski Some cleanup in install/
StefanKarpinski authored
86 JULIA_VERSION = $(shell cat $(JULIAHOME)/VERSION)
f7c19cb Ivar Nesje Take git info out of BUILD_INFO, prepare for tarball export
ivarne authored
87 ifneq ($(NO_GIT), 1)
acff892 Stefan Karpinski Some cleanup in install/
StefanKarpinski authored
88 JULIA_COMMIT = $(shell git rev-parse --short=10 HEAD)
f7c19cb Ivar Nesje Take git info out of BUILD_INFO, prepare for tarball export
ivarne authored
89 else
ba91b74 Tony Kelman Missing parentheses on JULIA_VERSION
tkelman authored
90 JULIA_COMMIT = $(JULIA_VERSION)
f7c19cb Ivar Nesje Take git info out of BUILD_INFO, prepare for tarball export
ivarne authored
91 endif
acff892 Stefan Karpinski Some cleanup in install/
StefanKarpinski authored
92
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
93 # Directories where said libraries get installed to
3f4d2fc Tony Kelman move default setting of prefix to Make.inc,
tkelman authored
94 prefix ?= $(abspath julia-$(JULIA_COMMIT))
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
95 bindir = $(prefix)/bin
96 libdir = $(prefix)/lib
97 private_libdir = $(libdir)/julia
98 libexecdir = $(prefix)/libexec
99 datarootdir = $(prefix)/share
1c913b2 Milan Bouchet-Valat Add docdir, mandir and man1dir environment variables for make install
nalimilan authored
100 docdir = $(datarootdir)/doc/julia
101 mandir = $(datarootdir)/man
102 man1dir = $(mandir)/man1
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
103 includedir = $(prefix)/include
104 sysconfdir = $(prefix)/etc
105
106 # Directories where things get built into
107 build_prefix = $(JULIAHOME)/usr
108 build_bindir = $(build_prefix)/bin
109 build_libdir = $(build_prefix)/lib
110 build_private_libdir = $(build_prefix)/lib/julia
111 build_libexecdir = $(build_prefix)/libexec
112 build_datarootdir = $(build_prefix)/share
1c913b2 Milan Bouchet-Valat Add docdir, mandir and man1dir environment variables for make install
nalimilan authored
113 build_docdir = $(build_datarootdir)/doc/julia
114 build_mandir = $(build_datarootdir)/man
115 build_man1dir = $(build_mandir)/man1
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
116 build_includedir = $(build_prefix)/include
117 build_sysconfdir = $(build_prefix)/etc
118
50deb6e Elliot Saba Introduce $(build_shlibdir)
staticfloat authored
119
3f4d2fc Tony Kelman move default setting of prefix to Make.inc,
tkelman authored
120 # Calculate relative paths to libdir, private_libdir, datarootdir, and sysconfdir
121 build_libdir_rel = $(shell $(JULIAHOME)/contrib/relative_path.sh $(build_bindir) $(build_libdir))
122 libdir_rel = $(shell $(JULIAHOME)/contrib/relative_path.sh $(bindir) $(libdir))
123 build_private_libdir_rel = $(shell $(JULIAHOME)/contrib/relative_path.sh $(build_bindir) $(build_private_libdir))
124 private_libdir_rel = $(shell $(JULIAHOME)/contrib/relative_path.sh $(bindir) $(private_libdir))
125 datarootdir_rel = $(shell $(JULIAHOME)/contrib/relative_path.sh $(bindir) $(datarootdir))
1c913b2 Milan Bouchet-Valat Add docdir, mandir and man1dir environment variables for make install
nalimilan authored
126 docdir_rel = $(shell $(JULIAHOME)/contrib/relative_path.sh $(bindir) $(docdir))
3f4d2fc Tony Kelman move default setting of prefix to Make.inc,
tkelman authored
127 sysconfdir_rel = $(shell $(JULIAHOME)/contrib/relative_path.sh $(bindir) $(sysconfdir))
128
f61fedb Tony Kelman use contrib/install.sh to install gmp
tkelman authored
129 INSTALL_F = $(JULIAHOME)/contrib/install.sh 644
130 INSTALL_M = $(JULIAHOME)/contrib/install.sh 755
131
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
132 # This used for debian packaging, to conform to library layout guidelines
133 ifeq ($(MULTIARCH_INSTALL), 1)
134 MULTIARCH = $(shell gcc -print-multiarch)
94fbe7f Elliot Saba Multiarch recursive makefile variable fix
staticfloat authored
135 private_libdir = $(prefix)/lib/$(MULTIARCH)/julia
136 libdir = $(prefix)/lib/$(MULTIARCH)/
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
137 endif
138
139
b2f6c65 Jameson Nash fix #4120, close #4139
vtjnash authored
140 # LLVM Options
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
141 LLVMROOT = $(build_prefix)
b2f6c65 Jameson Nash fix #4120, close #4139
vtjnash authored
142 LLVM_ASSERTIONS = 0
143 LLVM_DEBUG = 0
144 # set to 1 to get clang and compiler-rt
145 BUILD_LLVM_CLANG = 0
146 # set to 1 to get lldb (often does not work, no chance with llvm3.2 and earlier)
3920288 Shaun Walbridge fix minor typo.
scw authored
147 # see http://lldb.llvm.org/build.html for dependencies
b2f6c65 Jameson Nash fix #4120, close #4139
vtjnash authored
148 BUILD_LLDB = 0
149
541641e Viral B. Shah Restore the Make.inc to what it was at in a2582d08e1402bcede8c5e023cb26d...
ViralBShah authored
150 # Cross-compile
151 #XC_HOST = i686-w64-mingw32
152 #XC_HOST = x86_64-w64-mingw32
153
fed8568 Tony Kelman fixes for Windows cross-compile
tkelman authored
154 # Path to cmake (override in Make.user if needed)
7f685a2 Tony Kelman hook up the check-libgit2 target
tkelman authored
155 CMAKE ?= cmake
fed8568 Tony Kelman fixes for Windows cross-compile
tkelman authored
156
541641e Viral B. Shah Restore the Make.inc to what it was at in a2582d08e1402bcede8c5e023cb26d...
ViralBShah authored
157 # Figure out OS and architecture
158 BUILD_OS := $(shell uname)
159
123de5a Tony Kelman set XC_HOST to `uname -m`-w64-mingw32 by default for cygwin builds
tkelman authored
160 ifneq (,$(findstring CYGWIN,$(BUILD_OS)))
161 XC_HOST ?= $(shell uname -m)-w64-mingw32
162 endif
163
541641e Viral B. Shah Restore the Make.inc to what it was at in a2582d08e1402bcede8c5e023cb26d...
ViralBShah authored
164 ifeq ($(XC_HOST),)
165 CROSS_COMPILE=
166 HOSTCC = $(CC)
167 else
168 HOSTCC = gcc
169 override OPENBLAS_DYNAMIC_ARCH = 1
170 override CROSS_COMPILE=$(XC_HOST)-
171 ifneq (,$(findstring mingw,$(XC_HOST)))
172 override OS := WINNT
173 ifneq (,$(findstring CYGWIN,$(BUILD_OS)))
174 export STD_LIB_PATH := $(shell $(CROSS_COMPILE)gcc -print-search-dirs | grep programs | sed -e "s/^programs: =//" -e "s!/lib/!/bin/!g")
175 export STD_LIB_PATH := $(STD_LIB_PATH):$(shell $(CROSS_COMPILE)gcc -print-search-dirs | grep libraries | sed -e "s/^libraries: =//" -e "s!/lib/!/bin/!g")
176 else
177 export STD_LIB_PATH := $(shell $(CROSS_COMPILE)gcc -print-search-dirs | grep programs | sed "s/^programs: =//" | xargs -d":" winepath -w | tr '\n' ';')
178 export STD_LIB_PATH := $(STD_LIB_PATH);$(shell $(CROSS_COMPILE)gcc -print-search-dirs | grep libraries | sed "s/^libraries: =//" | xargs -d":" winepath -w | tr '\n' ';')
179 endif
180 else
181 $(error "unknown XC_HOST variable set")
182 endif
183 endif
184
3f31993 Viral B. Shah Replace WGET and WGET_DASH_O with JLDOWNLOAD.
ViralBShah authored
185 JLDOWNLOAD = $(JULIAHOME)/deps/jldownload
183dffb Elliot Saba Implement hash-checking on downloaded dependencies
staticfloat authored
186 JLCHECKSUM = $(JULIAHOME)/deps/jlchecksum
a727bef Viral B. Shah Download data for shootout tests as necessary.
ViralBShah authored
187
7d8666c Viral B. Shah Introduce USE_LIB64 in Make.inc and use_lib64 in build_h.jl.
ViralBShah authored
188 # Figure out OS and architecture
bd8c04b Jameson Nash do ARCH autodetection based upon compiler instead of host (fix #3153)
vtjnash authored
189 OS := $(BUILD_OS)
7d8666c Viral B. Shah Introduce USE_LIB64 in Make.inc and use_lib64 in build_h.jl.
ViralBShah authored
190
15b0357 Jameson Nash fix #3153
vtjnash authored
191 ifneq (,$(findstring MINGW,$(OS)))
bd8c04b Jameson Nash do ARCH autodetection based upon compiler instead of host (fix #3153)
vtjnash authored
192 override OS := WINNT
12349d6 Keno Fischer Add libuv submodule + make support (libuv&windows)
Keno authored
193 endif
15b0357 Jameson Nash fix #3153
vtjnash authored
194 ifneq (,$(findstring MINGW,$(BUILD_OS)))
bd8c04b Jameson Nash do ARCH autodetection based upon compiler instead of host (fix #3153)
vtjnash authored
195 override BUILD_OS := WINNT
7328ca8 Jameson Nash WINDOWS: fix normalization of BUILD_OS variable
vtjnash authored
196 endif
4c90520 Jameson Nash detect msys2 as WINNT
vtjnash authored
197 ifneq (,$(findstring MSYS,$(OS)))
198 override OS := WINNT
199 endif
200 ifneq (,$(findstring MSYS,$(BUILD_OS)))
201 override BUILD_OS := WINNT
202 endif
12349d6 Keno Fischer Add libuv submodule + make support (libuv&windows)
Keno authored
203
204 ifeq ($(OS), WINNT)
b64a1c8 Patrick O'Leary Vagrant: update Vagrantfile, fix make testall
pao authored
205 fPIC =
be5ba80 Jameson Nash package windows distribution as a self-extracting 7z file, since this re...
vtjnash authored
206 ifeq ($(BUILD_OS), WINNT)
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
207 PATH := $(PATH):$(build_libdir):$(build_private_libdir):/c/Program Files/7-zip
be5ba80 Jameson Nash package windows distribution as a self-extracting 7z file, since this re...
vtjnash authored
208 endif
da64e44 Jameson Nash add VERSION and COMMIT to install (to remove git error in sys.ji), add ....
vtjnash authored
209 EXE = .exe
12349d6 Keno Fischer Add libuv submodule + make support (libuv&windows)
Keno authored
210 else
211 fPIC = -fPIC
da64e44 Jameson Nash add VERSION and COMMIT to install (to remove git error in sys.ji), add ....
vtjnash authored
212 EXE =
12349d6 Keno Fischer Add libuv submodule + make support (libuv&windows)
Keno authored
213 endif
214
660400c Viral B. Shah Trying to get libunwind working on OS X.
ViralBShah authored
215 JULIAGC = MARKSWEEP
216 USE_COPY_STACKS = 1
217
218 # Compiler specific stuff
219
06b5846 Tony Kelman Steps towards MSVC compatibility
tkelman authored
220 ifeq ($(USEMSVC), 1)
221 USEGCC = 0
222 USECLANG = 0
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
223 USEICC = 0
224 else
225 ifeq ($(USECLANG), 1)
226 USEGCC = 0
227 USEICC = 0
06b5846 Tony Kelman Steps towards MSVC compatibility
tkelman authored
228 else
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
229 ifeq ($(USEICC), 1)
230 USEGCC = 0
231 USECLANG = 0
232 else # default to gcc
233 USEGCC = 1
234 USECLANG = 0
235 USEICC = 0
236 endif
237 endif
238 endif
239
240 ifeq ($(USEIFC), 1)
6300cbe Tony Kelman only send base compiler name to cmake
tkelman authored
241 FC_BASE = ifort
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
242 else
6300cbe Tony Kelman only send base compiler name to cmake
tkelman authored
243 FC_BASE = $(CROSS_COMPILE)gfortran
06b5846 Tony Kelman Steps towards MSVC compatibility
tkelman authored
244 endif
6300cbe Tony Kelman only send base compiler name to cmake
tkelman authored
245 FC = $(FC_BASE)
38352a3 Viral B. Shah Use SHIPFLAGS and DEBUGFLAGS from Make.inc everywhere.
ViralBShah authored
246
6cd421c Jake Bolewski remove remaining trailing whitespace
jakebolewski authored
247 STDLIBCPP_FLAG =
e0c4203 Keno Fischer Fix spelling & introduce flag to avoid unnessecary command line flag (si...
Keno authored
248
dbfc3b6 Viral B. Shah Use clang as the default compiler on Mac.
ViralBShah authored
249 ifeq ($(OS), Darwin)
92ad1b6 Viral B. Shah Fixes to build LLVM 3.3 on OS X 10.10
ViralBShah authored
250 DARWINVER := $(shell uname -r | cut -b 1-2)
251 DARWINVER_GTE13 := $(shell expr `uname -r | cut -b 1-2` \>= 13)
252 OSXVER := $(shell sw_vers -productVersion | cut -b 1-4)
d3117e2 Viral B. Shah Force NEHALEM target when building on OS X Snow Leopard (Fix #4069)
ViralBShah authored
253 ifeq ($(DARWINVER), 10) # Snow Leopard specific configuration
87ab4fb Viral B. Shah Use GCC by default on OS X 10.6.
ViralBShah authored
254 USEGCC = 1
255 USECLANG = 0
d3117e2 Viral B. Shah Force NEHALEM target when building on OS X Snow Leopard (Fix #4069)
ViralBShah authored
256 OPENBLAS_TARGET_ARCH=NEHALEM
925bb5d Viral B. Shah Disable DYNAMIC_ARCH for openblas on snow leopard (#4069)
ViralBShah authored
257 OPENBLAS_DYNAMIC_ARCH=0
97eddeb Jameson Nash fix #4215
vtjnash authored
258 USE_SYSTEM_LIBUNWIND=1
87ab4fb Viral B. Shah Use GCC by default on OS X 10.6.
ViralBShah authored
259 else
92ad1b6 Viral B. Shah Fixes to build LLVM 3.3 on OS X 10.10
ViralBShah authored
260 ifeq ($(DARWINVER_GTE13),1)
02f9835 Keno Fischer Make Julia work on 10.9
Keno authored
261 USE_LIBCPP = 1
e0c4203 Keno Fischer Fix spelling & introduce flag to avoid unnessecary command line flag (si...
Keno authored
262 STDLIBCPP_FLAG = -stdlib=libstdc++
6cd421c Jake Bolewski remove remaining trailing whitespace
jakebolewski authored
263 else
02f9835 Keno Fischer Make Julia work on 10.9
Keno authored
264 USE_LIBCPP = 0
265 endif
dbfc3b6 Viral B. Shah Use clang as the default compiler on Mac.
ViralBShah authored
266 USEGCC = 0
267 USECLANG = 1
268 endif
87ab4fb Viral B. Shah Use GCC by default on OS X 10.6.
ViralBShah authored
269 endif
84882a5 Mike Nolta improve FreeBSD build
nolta authored
270
38352a3 Viral B. Shah Use SHIPFLAGS and DEBUGFLAGS from Make.inc everywhere.
ViralBShah authored
271 ifeq ($(USEGCC),1)
02f9835 Keno Fischer Make Julia work on 10.9
Keno authored
272 ifeq ($(USE_LIBCPP),1)
273 $(error USE_LIBCPP only supported with clang. Try setting USE_LIBCPP=0)
274 endif
cfa0662 Keno Fischer Add option to build LLVM/Julia with ASAN
Keno authored
275 ifeq ($(SANITIZE),1)
276 $(error Address Sanitizer only supported with clang. Try setting SANITIZE=0)
277 endif
6300cbe Tony Kelman only send base compiler name to cmake
tkelman authored
278 CC_BASE = $(CROSS_COMPILE)gcc
279 CXX_BASE = $(CROSS_COMPILE)g++
280 CC = $(CC_BASE)
281 CXX = $(CXX_BASE)
571cb29 Keno Fischer Move -D_FILE_OFFSET_BITS back to CFLAGS
Keno authored
282 JCFLAGS = -std=gnu99 -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64
283 JCPPFLAGS =
12349d6 Keno Fischer Add libuv submodule + make support (libuv&windows)
Keno authored
284 JCXXFLAGS = -pipe $(fPIC) -fno-rtti
b8de421 Isaiah Makefile: DEBUG -> JL_DEBUG_BUILD to avoid LLVM conflict
ihnorton authored
285 DEBUGFLAGS = -O0 -ggdb3 -DJL_DEBUG_BUILD -fstack-protector-all
b26ff92 Keno Fischer Improve symbol lookup for backtraces when debug info not present
Keno authored
286 SHIPFLAGS = -O3 -ggdb3 -falign-functions
38352a3 Viral B. Shah Use SHIPFLAGS and DEBUGFLAGS from Make.inc everywhere.
ViralBShah authored
287 endif
288
289 ifeq ($(USECLANG),1)
6300cbe Tony Kelman only send base compiler name to cmake
tkelman authored
290 CC_BASE = $(CROSS_COMPILE)clang
291 CXX_BASE = $(CROSS_COMPILE)clang++
292 CC = $(CC_BASE)
293 CXX = $(CXX_BASE)
571cb29 Keno Fischer Move -D_FILE_OFFSET_BITS back to CFLAGS
Keno authored
294 JCFLAGS = -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64
295 JCPPFLAGS =
12349d6 Keno Fischer Add libuv submodule + make support (libuv&windows)
Keno authored
296 JCXXFLAGS = -pipe $(fPIC) -fno-rtti
b8de421 Isaiah Makefile: DEBUG -> JL_DEBUG_BUILD to avoid LLVM conflict
ihnorton authored
297 DEBUGFLAGS = -O0 -g -DJL_DEBUG_BUILD -fstack-protector-all
b26ff92 Keno Fischer Improve symbol lookup for backtraces when debug info not present
Keno authored
298 SHIPFLAGS = -O3 -g
bc67251 Mike Nolta set macosx-version-min=10.5 for darwin clang builds
nolta authored
299 ifeq ($(OS), Darwin)
02f9835 Keno Fischer Make Julia work on 10.9
Keno authored
300 ifeq ($(USE_LIBCPP), 1)
301 CC += -stdlib=libc++ -mmacosx-version-min=10.7
302 CXX += -stdlib=libc++ -mmacosx-version-min=10.7
303 FC += -mmacosx-version-min=10.7
304 else
e0c4203 Keno Fischer Fix spelling & introduce flag to avoid unnessecary command line flag (si...
Keno authored
305 CC += $(STDLIBCPP_FLAG) -mmacosx-version-min=10.6
306 CXX += $(STDLIBCPP_FLAG) -mmacosx-version-min=10.6
02f9835 Keno Fischer Make Julia work on 10.9
Keno authored
307 endif
c90c0af Keno Fischer Fix #5459
Keno authored
308 JCPPFLAGS += -D_LARGEFILE_SOURCE -D_DARWIN_USE_64_BIT_INODE=1
bc67251 Mike Nolta set macosx-version-min=10.5 for darwin clang builds
nolta authored
309 endif
38352a3 Viral B. Shah Use SHIPFLAGS and DEBUGFLAGS from Make.inc everywhere.
ViralBShah authored
310 endif
d209cfa Viral B. Shah Integrate Make.inc.OS into one Make.inc
ViralBShah authored
311
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
312 ifeq ($(USEICC),1)
313 ifeq ($(USE_LIBCPP),1)
314 $(error USE_LIBCPP only supported with clang. Try setting USE_LIBCPP=0)
315 endif
316 ifeq ($(SANITIZE),1)
317 $(error Address Sanitizer only supported with clang. Try setting SANITIZE=0)
318 endif
6300cbe Tony Kelman only send base compiler name to cmake
tkelman authored
319 CC_BASE = icc
320 CXX_BASE = icpc
321 CC = $(CC_BASE)
322 CXX = $(CXX_BASE)
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
323 JCFLAGS = -std=gnu99 -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -fp-model precise -fp-model except -no-ftz
324 JCPPFLAGS =
325 JCXXFLAGS = -pipe $(fPIC) -fno-rtti
4e533dd Mike Nolta don't use '-ggdb3' for intel debug builds
nolta authored
326 DEBUGFLAGS = -O0 -g -DJL_DEBUG_BUILD -fstack-protector-all
b26ff92 Keno Fischer Improve symbol lookup for backtraces when debug info not present
Keno authored
327 SHIPFLAGS = -O3 -g -falign-functions
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
328 endif
329
ed643c6 Tim Besard Add a Makefile setting for buildign with ccache.
maleadt authored
330 ifeq ($(USECCACHE), 1)
91aeb9d Tim Besard Fix building with USECCACHE=1.
maleadt authored
331 # expand CC and CXX at declaration time because we will redefine them
332 CC_ARG := $(CC) # Expand CC and CXX here already because we want
333 CXX_ARG := $(CXX) # the original definition and not the ccache version.
334 CC_FULL := ccache $(CC) # Expand CC and CXX here already to avoid recursive
335 CXX_FULL := ccache $(CXX) # referencing.
336 CC = $(CC_FULL) # Add an extra indirection to make CC/CXX non-simple
337 CXX = $(CXX_FULL) # vars (because of how -m$(BINARY) is added later on).
338 CC_BASE = ccache
339 CXX_BASE = ccache
ed643c6 Tim Besard Add a Makefile setting for buildign with ccache.
maleadt authored
340 ifeq ($(USECLANG),1)
341 # ccache and Clang don't do well together
342 # http://petereisentraut.blogspot.be/2011/05/ccache-and-clang.html
343 CC += -Qunused-arguments -fcolor-diagnostics
344 CXX += -Qunused-arguments -fcolor-diagnostics
345 # http://petereisentraut.blogspot.be/2011/09/ccache-and-clang-part-2.html
346 export CCACHE_CPP2 := yes
347 endif
348 endif
349
1f163f4 Keno Fischer LLVM 3.5 build fixes
Keno authored
350 ifeq ($(LLVM_VER),svn)
351 JCXXFLAGS += -std=c++11
352 endif
353
ecc6a2f Jameson Nash add a cross-compile target, for building WINNT on LINUX (libuv still req...
vtjnash authored
354 JFFLAGS = -O2 $(fPIC)
bb14b40 Viral B. Shah Set MKL_INTERFACE_LAYER to ILP64 if USE_BLAS64=1 (#3928, #5146)
ViralBShah authored
355 JF2CFLAGS = -ff2c -fno-second-underscore
06b5846 Tony Kelman Steps towards MSVC compatibility
tkelman authored
356 ifneq ($(USEMSVC),1)
ecc6a2f Jameson Nash add a cross-compile target, for building WINNT on LINUX (libuv still req...
vtjnash authored
357 CPP = $(CC) -E
358 AR := $(CROSS_COMPILE)ar
359 AS := $(CROSS_COMPILE)as
360 LD := $(CROSS_COMPILE)ld
d3d6291 Jameson Nash fix stack-smashing protector usage across platforms by introducing a HAV...
vtjnash authored
361 else #USEMSVC
d56088a Tony Kelman Minor MSVC changes
tkelman authored
362 CPP = $(CC) -EP
06b5846 Tony Kelman Steps towards MSVC compatibility
tkelman authored
363 AR := lib
364 ifeq ($(ARCH),x86_64)
365 AS := ml64
366 else
367 AS := ml
d3d6291 Jameson Nash fix stack-smashing protector usage across platforms by introducing a HAV...
vtjnash authored
368 endif #ARCH
06b5846 Tony Kelman Steps towards MSVC compatibility
tkelman authored
369 LD := link
d3d6291 Jameson Nash fix stack-smashing protector usage across platforms by introducing a HAV...
vtjnash authored
370 endif #USEMSVC
ecc6a2f Jameson Nash add a cross-compile target, for building WINNT on LINUX (libuv still req...
vtjnash authored
371 RANLIB := $(CROSS_COMPILE)ranlib
372
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
373
374 # if not absolute, then relative to the directory of the julia executable
c90c0af Keno Fischer Fix #5459
Keno authored
375 JCPPFLAGS += "-DJL_SYSTEM_IMAGE_PATH=\"$(build_private_libdir_rel)/sys.ji\""
e92066d Jeff Bezanson make configurable image path relative
JeffBezanson authored
376
95191c8 Elliot Saba General cleanup of .dll installation
staticfloat authored
377 # On Windows, we want shared library files to end up in $(build_bindir), instead of $(build_libdir)
378 ifeq ($(OS),WINNT)
379 build_shlibdir = $(build_bindir)
380 else
381 build_shlibdir = $(build_libdir)
382 endif
383
541641e Viral B. Shah Restore the Make.inc to what it was at in a2582d08e1402bcede8c5e023cb26d...
ViralBShah authored
384 ifeq (exists, $(shell [ -e $(JULIAHOME)/Make.user ] && echo exists ))
385 include $(JULIAHOME)/Make.user
386 endif
387
cfa0662 Keno Fischer Add option to build LLVM/Julia with ASAN
Keno authored
388 ifeq ($(SANITIZE),1)
389 JCXXFLAGS += -fsanitize=address -mllvm -asan-stack=0
390 JCFLAGS += -fsanitize=address -mllvm -asan-stack=0
214c87f Keno Fischer Some small build system fixes
Keno authored
391 LDFLAGS += -fsanitize=address
cfa0662 Keno Fischer Add option to build LLVM/Julia with ASAN
Keno authored
392 endif
393
24a7bd4 Elliot Saba Silence (g)tar search warnings
staticfloat authored
394 TAR=`which gtar 2>/dev/null || which tar 2>/dev/null`
a978d5f Elliot Saba Tweak tar finding code again
staticfloat authored
395 TAR_TEST := $(shell $(TAR) --help 2>&1 | egrep 'bsdtar|strip-components')
58efb4d Aaron Bieber test for compatible tar, error if not found
qbit authored
396 ifeq (,$(findstring components,$(TAR_TEST)))
989e0eb Shaun Walbridge Fix search for bsdtar
scw authored
397 ifneq (bsdtar,$(findstring bsdtar,$(TAR_TEST)))
58efb4d Aaron Bieber test for compatible tar, error if not found
qbit authored
398 $(error "please install either GNU tar or bsdtar")
399 endif
989e0eb Shaun Walbridge Fix search for bsdtar
scw authored
400 endif
af45e30 Aaron Bieber move tar check to Make.inc and update tar commands
qbit authored
401
541641e Viral B. Shah Restore the Make.inc to what it was at in a2582d08e1402bcede8c5e023cb26d...
ViralBShah authored
402 # ===========================================================================
403
404 # Select the cpu architecture to target, or automatically detects the user's compiler
405 # ARCH is the first element of the triple, and gives the CPU class (e.g. x86_64)
406 # MARCH is the CPU type, and accepts anything that can be passed to the gcc -march flag
407 # it is set equal to ARCH (for cases where the two are the same, such as i686)
408 # it can be set to native to optimize all code for the user's machine (not just the JIT code)
409 # if MARCH is set newer than the native processor, be forewarned that the compile might fail
410 # JULIA_CPU_TARGET is the JIT-only complement to MARCH. Setting it explicitly is not generally necessary,
411 # since it is set equal to MARCH by default
412
413 BUILD_MACHINE := $(shell $(HOSTCC) -dumpmachine)
414 ifeq ($(ARCH),)
415 override ARCH := $(shell $(CC) -dumpmachine | sed "s/\([^-]*\).*$$/\1/")
416 ifeq ($(ARCH),mingw32)
417 $(error "the mingw32 compiler you are using fails the openblas testsuite. please see the README.windows document for a replacement")
ec1cdaf Tony Kelman check for and error early with cygwin or msys-target compilers
tkelman authored
418 else ifeq (cygwin, $(shell $(CC) -dumpmachine | cut -d\- -f3))
419 $(error "cannot build julia with cygwin-target compilers. set XC_HOST to i686-w64-mingw32 or x86_64-w64-mingw32 for mingw cross-compile")
420 else ifeq (msys, $(shell $(CC) -dumpmachine | cut -d\- -f3))
421 $(error "cannot build julia with msys-target compilers. please see the README.windows document for instructions on setting up mingw-w64 compilers")
541641e Viral B. Shah Restore the Make.inc to what it was at in a2582d08e1402bcede8c5e023cb26d...
ViralBShah authored
422 endif
423 ifeq ($(BUILD_OS),Darwin)
424 ## Mac is a rather amazing 64-bit user-space on 32-bit kernel architecture, so to determine arch we detect
425 ## the capabilities of the hardware, rather than the compiler or kernel, and make a substitution
426 ifeq ($(ARCH),x86_64)
427 override ARCH = i686
428 else ifeq ($(ARCH),i386)
429 override ARCH = i686
430 endif
431 ifeq ($(ARCH),i686)
432 ifeq ($(shell sysctl -n hw.cpu64bit_capable),1)
433 override ARCH = x86_64
434 endif
435 BUILD_MACHINE := $(ARCH)$(shell echo $(BUILD_MACHINE) | sed "s/[^-]*\(.*\)$$/\1/")
436 endif
437 endif
438 else
439 XC_HOST := $(ARCH)$(shell echo $(BUILD_MACHINE) | sed "s/[^-]*\(.*\)$$/\1/")
440 MARCH = $(ARCH)
441 endif
442
443 ifneq ($(MARCH),)
444 CC += -march=$(MARCH)
445 CXX += -march=$(MARCH)
446 FC += -march=$(MARCH)
447 JULIA_CPU_TARGET ?= $(MARCH)
448 ifeq ($(OS),Darwin)
449 # on Darwin, the standalone `as` program doesn't know
450 # how to handle AVX instructions, but it does know how
451 # to dispatch to the clang assembler (if we ask it to)
452 ifeq ($(USECLANG),1)
453 CC += -integrated-as
454 CXX += -integrated-as
455 else
456 CC += -Wa,-q
457 CXX += -Wa,-q
458 endif
459 FC += -Wa,-q
460 AS += -q
461 endif
462 endif
463
93709b0 Isaiah Makefile changes to build on ARM
ihnorton authored
464 # Set some ARCH-specific flags
465 ifneq ($(USEICC),1)
466 ifneq ($(ARCH), arm)
6300cbe Tony Kelman only send base compiler name to cmake
tkelman authored
467 CC += -m$(BINARY)
468 CXX += -m$(BINARY)
469 FC += -m$(BINARY)
93709b0 Isaiah Makefile changes to build on ARM
ihnorton authored
470 endif
471 endif
472
670a6a1 Jameson Nash enable cross-building for different ARCH configurations
vtjnash authored
473 JULIA_CPU_TARGET ?= native
474 JCPPFLAGS += -DJULIA_TARGET_ARCH=$(JULIA_CPU_TARGET)
53ea785 Mike Nolta fix build when neither 'gcc' or 'clang' exist
nolta authored
475
84a4cd2 Elliot Saba Map amd64 -> x86_64 in Make.inc
staticfloat authored
476 # We map amd64 to x86_64 for compatibility with systems that identify 64-bit systems as such
477 ifeq ($(ARCH),amd64)
670a6a1 Jameson Nash enable cross-building for different ARCH configurations
vtjnash authored
478 override ARCH = x86_64
479 endif
480
481 ifeq ($(ARCH),i386)
482 BINARY=32
483 else ifeq ($(ARCH),i387)
484 BINARY=32
485 else ifeq ($(ARCH),i486)
486 BINARY=32
487 else ifeq ($(ARCH),i586)
488 BINARY=32
489 else ifeq ($(ARCH),i686)
490 BINARY=32
491 else ifeq ($(ARCH),x86_64)
492 BINARY=64
93709b0 Isaiah Makefile changes to build on ARM
ihnorton authored
493 else ifeq ($(ARCH),arm)
670a6a1 Jameson Nash enable cross-building for different ARCH configurations
vtjnash authored
494 else
495 $(error "unknown word-size for arch: $(ARCH)")
84a4cd2 Elliot Saba Map amd64 -> x86_64 in Make.inc
staticfloat authored
496 endif
497
53ea785 Mike Nolta fix build when neither 'gcc' or 'clang' exist
nolta authored
498 ifeq ($(USEGCC),1)
93709b0 Isaiah Makefile changes to build on ARM
ihnorton authored
499 ifeq ($(ARCH), arm)
500 else ifneq ($(ARCH), ppc64)
53ea785 Mike Nolta fix build when neither 'gcc' or 'clang' exist
nolta authored
501 SHIPFLAGS += -momit-leaf-frame-pointer
502 endif
503 endif
504
dfbf414 Jameson Nash partial windows compatibility
vtjnash authored
505 ifeq ($(OS),WINNT)
506 LIBUNWIND=
507 else
0caf832 Prepare to build on debian using debian dependencies.
Viral B. Shah authored
508 ifeq ($(USE_SYSTEM_LIBUNWIND), 1)
97eddeb Jameson Nash fix #4215
vtjnash authored
509 ifneq ($(OS),Darwin)
a232dc9 Viral B. Shah Use wget instead of curl everywhere.
ViralBShah authored
510 LIBUNWIND=-lunwind-generic -lunwind
97eddeb Jameson Nash fix #4215
vtjnash authored
511 endif
0caf832 Prepare to build on debian using debian dependencies.
Viral B. Shah authored
512 else
72d2154 Keno Fischer Use modified version of Apple's libunwind
Keno authored
513 ifeq ($(OS),Darwin)
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
514 LIBUNWIND=$(build_libdir)/libosxunwind.a
c90c0af Keno Fischer Fix #5459
Keno authored
515 JCPPFLAGS+=-DLIBOSXUNWIND
72d2154 Keno Fischer Use modified version of Apple's libunwind
Keno authored
516 else
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
517 LIBUNWIND=$(build_libdir)/libunwind-generic.a $(build_libdir)/libunwind.a
0caf832 Prepare to build on debian using debian dependencies.
Viral B. Shah authored
518 endif
72d2154 Keno Fischer Use modified version of Apple's libunwind
Keno authored
519 endif
dfbf414 Jameson Nash partial windows compatibility
vtjnash authored
520 endif
0caf832 Prepare to build on debian using debian dependencies.
Viral B. Shah authored
521
522 ifeq ($(USE_SYSTEM_LLVM), 1)
f31f354 Jameson Nash WINDOWS: eliminate WINE_PATH hack from Makefile. fix #3420
vtjnash authored
523 LLVM_CONFIG ?= llvm-config$(EXE)
9ac166d Jameson Nash try to make travis happy with static_compile
vtjnash authored
524 LLVM_LLC ?= llc$(EXE)
9d49959 Jeff Bezanson fix #7197, backport a fix to SimplifyDemandedUseBits in LLVM
JeffBezanson authored
525 JCPPFLAGS+=-DSYSTEM_LLVM
dbe934a Tony Kelman set LLVM_VER from LLVM_CONFIG when using system LLVM
tkelman authored
526 LLVM_VER = $(shell $(LLVM_CONFIG) --version)
0caf832 Prepare to build on debian using debian dependencies.
Viral B. Shah authored
527 else
ac13282 Baurzhan Muftakhidinov Ease building with custom includedir.
crayxt authored
528 LLVM_CONFIG=$(build_bindir)/llvm-config$(EXE)
529 LLVM_LLC=$(build_bindir)/llc$(EXE)
0caf832 Prepare to build on debian using debian dependencies.
Viral B. Shah authored
530 endif
531
2849191 Viral B. Shah Add ability to USE_SYSTEM_PCRE
ViralBShah authored
532 ifeq ($(USE_SYSTEM_PCRE), 1)
533 PCRE_CONFIG = pcre-config
534 else
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
535 PCRE_CONFIG = $(build_bindir)/pcre-config
2849191 Viral B. Shah Add ability to USE_SYSTEM_PCRE
ViralBShah authored
536 endif
537
40eb593 Viral B. Shah Add ability to use system BLAS, but build your own LAPACK. (#3365)
ViralBShah authored
538 # Use 64-bit libraries by default on 64-bit architectures
a6bee0a Jameson Nash ignore ARCH varianle in env. fix #7433
vtjnash authored
539 ifeq ($(BINARY), 64)
032b4ea ZHUO QL give a chance to set USE_BLAS64 in Make.usr
KDr2 authored
540 USE_BLAS64 ?= 1
40eb593 Viral B. Shah Add ability to use system BLAS, but build your own LAPACK. (#3365)
ViralBShah authored
541 endif
542
d3d30e8 Viral B. Shah Start work on using shared libraries as discussed in issue #353
ViralBShah authored
543 ifeq ($(USE_SYSTEM_BLAS), 1)
544 ifeq ($(OS), Darwin)
40eb593 Viral B. Shah Add ability to use system BLAS, but build your own LAPACK. (#3365)
ViralBShah authored
545 USE_BLAS64 = 0
546 USE_SYSTEM_LAPACK = 0
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
547 LIBBLAS = -L$(build_libdir) -lgfortblas
be844ed Jameson Nash fix #3365
vtjnash authored
548 LIBBLASNAME = libgfortblas
d3d30e8 Viral B. Shah Start work on using shared libraries as discussed in issue #353
ViralBShah authored
549 else
6ad14ea ZHUO QL remove USE_SYSTEM_OPENBLAS
KDr2 authored
550 LIBBLAS ?= -lblas
551 LIBBLASNAME ?= libblas
d3d30e8 Viral B. Shah Start work on using shared libraries as discussed in issue #353
ViralBShah authored
552 endif
553 else
0dcd3ef Tony Kelman Tweaks for cross compiling from Cygwin to MinGW
tkelman authored
554 LIBBLAS = -L$(build_shlibdir) -lopenblas
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
555 LIBBLASNAME = libopenblas
556 endif
d3d30e8 Viral B. Shah Start work on using shared libraries as discussed in issue #353
ViralBShah authored
557
40eb593 Viral B. Shah Add ability to use system BLAS, but build your own LAPACK. (#3365)
ViralBShah authored
558 # OpenBLAS builds LAPACK as part of its build.
559 # We only need to build LAPACK if we are not using OpenBLAS.
560 ifeq ($(USE_SYSTEM_BLAS), 0)
561 LIBLAPACK = $(LIBBLAS)
562 LIBLAPACKNAME = $(LIBBLASNAME)
563 else
d3d30e8 Viral B. Shah Start work on using shared libraries as discussed in issue #353
ViralBShah authored
564 ifeq ($(USE_SYSTEM_LAPACK), 1)
8b1f775 Uwe L. Korn Only set LIBLAPACK if not provided by the ENV
xhochy authored
565 LIBLAPACK ?= -llapack
566 LIBLAPACKNAME ?= liblapack
d3d30e8 Viral B. Shah Start work on using shared libraries as discussed in issue #353
ViralBShah authored
567 else
0dcd3ef Tony Kelman Tweaks for cross compiling from Cygwin to MinGW
tkelman authored
568 LIBLAPACK = -L$(build_shlibdir) -llapack $(LIBBLAS)
d182a62 Mike Nolta fix USE_SYSTEM_LAPACK=1 builds
nolta authored
569 LIBLAPACKNAME = liblapack
d3d30e8 Viral B. Shah Start work on using shared libraries as discussed in issue #353
ViralBShah authored
570 endif
571 endif
572
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
573 ifeq ($(OS), WINNT)
574 LIBFFTWNAME = libfftw3
575 LIBFFTWFNAME = libfftw3f
576 else
577 LIBFFTWNAME = libfftw3_threads
578 LIBFFTWFNAME = libfftw3f_threads
579 endif
580
ec7ccd0 Viral B. Shah USE_SYSTEM_LIBM capability.
ViralBShah authored
581 ifeq ($(USE_SYSTEM_LIBM), 1)
582 LIBM = -lm
583 LIBMNAME = libm
584 else
585 LIBM = -lopenlibm
586 LIBMNAME = libopenlibm
587 endif
588
2332076 Elliot Saba Add in USE_SYSTEM_LIBUV
staticfloat authored
589 ifeq ($(USE_SYSTEM_LIBUV), 1)
3fdb264 Elliot Saba Change to julia-specific libuv package naming
staticfloat authored
590 LIBUV = /usr/lib/libuv-julia.a
2332076 Elliot Saba Add in USE_SYSTEM_LIBUV
staticfloat authored
591 LIBUV_INC = /usr/include
592 else
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
593 LIBUV = $(build_libdir)/libuv.a
2332076 Elliot Saba Add in USE_SYSTEM_LIBUV
staticfloat authored
594 LIBUV_INC = $(JULIAHOME)/deps/libuv/include
595 endif
596
ca15142 Steven G. Johnson utf8proc -> libmojibake (closes #7656, fixes #7582)
stevengj authored
597 ifeq ($(USE_SYSTEM_MOJIBAKE), 1)
598 LIBMOJIBAKE = -lmojibake
b1585ac Steven G. Johnson added utf8proc to deps for #5434
stevengj authored
599 else
71f6d99 Steven G. Johnson as discussed by @nalimilan in #7917, make it easier to link -lutf8proc i...
stevengj authored
600 ifeq ($(USE_SYSTEM_UTF8PROC), 1)
601 LIBMOJIBAKE = -lutf8proc
602 else
603 LIBMOJIBAKE = $(build_libdir)/libmojibake.a
604 endif
b1585ac Steven G. Johnson added utf8proc to deps for #5434
stevengj authored
605 endif
606
0d2b254 Viral B. Shah Allow USE_SYSTEM_FFTW
ViralBShah authored
607 # OS specific stuff
608
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
609 # install_name_tool
610 ifeq ($(OS), Darwin)
611 # must end with a / and have no trailing spaces
612 INSTALL_NAME_ID_DIR = @rpath/
613 INSTALL_NAME_CMD = install_name_tool -id $(INSTALL_NAME_ID_DIR)
614 INSTALL_NAME_CHANGE_CMD = install_name_tool -change
b26ff92 Keno Fischer Improve symbol lookup for backtraces when debug info not present
Keno authored
615 ifeq ($(shell test `dsymutil -v | cut -d\- -f2 | cut -d. -f1` -gt 102 && echo yes), yes)
616 DSYMUTIL = dsymutil
617 else
d45eb78 Keno Fischer Fix #7828
Keno authored
618 DSYMUTIL = true -ignore
b26ff92 Keno Fischer Improve symbol lookup for backtraces when debug info not present
Keno authored
619 endif
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
620 else
621 INSTALL_NAME_ID_DIR =
b64a1c8 Patrick O'Leary Vagrant: update Vagrantfile, fix make testall
pao authored
622 INSTALL_NAME_CMD = true -ignore
623 INSTALL_NAME_CHANGE_CMD = true -ignore
b26ff92 Keno Fischer Improve symbol lookup for backtraces when debug info not present
Keno authored
624 DSYMUTIL = true -ignore
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
625 endif
b6dc95c Mike Nolta darwin build: all libraries now have relative id names
nolta authored
626
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
627 # shared library runtime paths
628 ifeq ($(OS), WINNT)
629 RPATH =
630 RPATH_ORIGIN =
631 else ifeq ($(OS), Darwin)
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
632 RPATH = -Wl,-rpath,'@executable_path/$(build_private_libdir_rel)' -Wl,-rpath,'@executable_path/$(build_libdir_rel)'
1a18e87 Elliot Saba Add RPATH_ORIGIN analogue to OSX as well
staticfloat authored
633 RPATH_ORIGIN = -Wl,-rpath,'@loader_path/'
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
634 else
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
635 RPATH = -Wl,-rpath,'$$ORIGIN/$(build_private_libdir_rel)' -Wl,-rpath,'$$ORIGIN/$(build_libdir_rel)' -Wl,-z,origin
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
636 RPATH_ORIGIN = -Wl,-rpath,'$$ORIGIN' -Wl,-z,origin
637 endif
2a7f5a0 Mike Nolta fix dlopen(cholmod,umfpack) crash on FreeBSD
nolta authored
638
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
639 # file extensions
8809afb Keno Fischer Various fixes to the buildsystem on Windows
Keno authored
640 ifeq ($(OS), WINNT)
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
641 SHLIB_EXT = dll
642 SHELL_EXT = bat
643 else ifeq ($(OS), Darwin)
644 SHLIB_EXT = dylib
645 SHELL_EXT = sh
646 else
647 SHLIB_EXT = so
648 SHELL_EXT = sh
649 endif
650
651 # --whole-archive
652 ifeq ($(OS), Darwin)
653 WHOLE_ARCHIVE = -Xlinker -all_load
654 NO_WHOLE_ARCHIVE =
6d1de78 Tony Kelman adjust linker invocation for msvc
tkelman authored
655 else ifneq ($(USEMSVC), 1)
5adaa4c Mike Nolta fix `make dist` on linux; make all installed libraries private
nolta authored
656 WHOLE_ARCHIVE = -Wl,--whole-archive
657 NO_WHOLE_ARCHIVE = -Wl,--no-whole-archive
8809afb Keno Fischer Various fixes to the buildsystem on Windows
Keno authored
658 endif
659
d209cfa Viral B. Shah Integrate Make.inc.OS into one Make.inc
ViralBShah authored
660 ifeq ($(OS), Linux)
214c87f Keno Fischer Some small build system fixes
Keno authored
661 OSLIBS += -ldl -lrt -lpthread -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap -Wl,--no-whole-archive $(LIBUNWIND)
34105d3 Jeff Waller Introduce a new variable in Make.inc that applies only to libjulia.so
waTeim authored
662 JLDFLAGS = -Wl,-Bdynamic
373333e Tony Kelman Check whether ld supports -Bsymbolic-functions flag
tkelman authored
663 ifeq (-Bsymbolic-functions, $(shell $(LD) --help | grep -o -e "-Bsymbolic-functions"))
34105d3 Jeff Waller Introduce a new variable in Make.inc that applies only to libjulia.so
waTeim authored
664 JLIBLDFLAGS = -Wl,-Bsymbolic-functions
665 else
666 JLIBLDFLAGS =
e00e534 Peer Stritzinger Changes needed to build on FreeBSD
peerst authored
667 endif
373333e Tony Kelman Check whether ld supports -Bsymbolic-functions flag
tkelman authored
668 else #Linux
669 JLIBLDFLAGS =
670 endif
e00e534 Peer Stritzinger Changes needed to build on FreeBSD
peerst authored
671
672 ifeq ($(OS), FreeBSD)
d73d7e8 Mike Nolta freebsd: fix 'JLD_FLAGS' typo in Make.inc
nolta authored
673 JLDFLAGS = -Wl,-Bdynamic
a10cd86 Mike Nolta fix FreeBSD linking bug
nolta authored
674 OSLIBS += -lkvm -lrt -Wl,--export-dynamic -Wl,--version-script=$(JULIAHOME)/src/julia.expmap $(NO_WHOLE_ARCHIVE) $(LIBUNWIND)
d209cfa Viral B. Shah Integrate Make.inc.OS into one Make.inc
ViralBShah authored
675 endif
676
677 ifeq ($(OS), Darwin)
b6dc95c Mike Nolta darwin build: all libraries now have relative id names
nolta authored
678 INSTALL_NAME_CMD = install_name_tool -id $(INSTALL_NAME_ID_DIR)
a161302 Viral B. Shah Fix dynamic library paths for FFTW on Darwin in #916.
ViralBShah authored
679 INSTALL_NAME_CHANGE_CMD = install_name_tool -change
d209cfa Viral B. Shah Integrate Make.inc.OS into one Make.inc
ViralBShah authored
680 SHLIB_EXT = dylib
72d2154 Keno Fischer Use modified version of Apple's libunwind
Keno authored
681 OSLIBS += -ldl -Wl,-w -framework CoreFoundation -framework CoreServices $(LIBUNWIND)
cf1a2ac Viral B. Shah Use -Wl,--whole-archive on linux
ViralBShah authored
682 WHOLE_ARCHIVE = -Xlinker -all_load
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
683 NO_WHOLE_ARCHIVE =
684 JLDFLAGS =
d3d6291 Jameson Nash fix stack-smashing protector usage across platforms by introducing a HAV...
vtjnash authored
685 HAVE_SSP = 1
12349d6 Keno Fischer Add libuv submodule + make support (libuv&windows)
Keno authored
686 endif
687
688 ifeq ($(OS), WINNT)
86818f1 Tony Kelman Updates for MSVC
tkelman authored
689 ifneq ($(USEMSVC), 1)
d3d6291 Jameson Nash fix stack-smashing protector usage across platforms by introducing a HAV...
vtjnash authored
690 HAVE_SSP = 1
5108451 Jameson Nash various minor build improvments
vtjnash authored
691 OSLIBS += -Wl,--export-all-symbols -Wl,--version-script=$(JULIAHOME)/src/julia.expmap \
5cff519 Jameson Nash unbreak win64 COPY_STACK
vtjnash authored
692 $(NO_WHOLE_ARCHIVE) -lpsapi -lkernel32 -lws2_32 -liphlpapi -lwinmm -ldbghelp
27856ef Jameson Nash fix win64 build flag issue
vtjnash authored
693 JLDFLAGS = -Wl,--stack,8388608
694 ifeq ($(ARCH),i686)
695 JLDFLAGS += -Wl,--large-address-aware
696 endif
d3d6291 Jameson Nash fix stack-smashing protector usage across platforms by introducing a HAV...
vtjnash authored
697 else #USEMSVC
3542361 Tony Kelman Work to get basic REPL to compile with MSVC
tkelman authored
698 OSLIBS += kernel32.lib ws2_32.lib psapi.lib advapi32.lib iphlpapi.lib shell32.lib winmm.lib
01130cd Tony Kelman explicit casts for MSVC
tkelman authored
699 JLDFLAGS = -stack:8388608
3542361 Tony Kelman Work to get basic REPL to compile with MSVC
tkelman authored
700 endif
1c006ca Jameson Nash update windows build instructions
vtjnash authored
701 JCPPFLAGS += -D_WIN32_WINNT=0x0502
b76cffc Jameson Nash fix #1768
vtjnash authored
702 UNTRUSTED_SYSTEM_LIBM = 1
703 endif
704
56de81f Arch D. Robison Use at least 64k for alternate stack if running under Intel VTune Amplif...
ArchRobison authored
705 # Intel VTune Amplifier
706 ifeq ($(USE_INTEL_JITEVENTS), 1)
707 JCPPFLAGS += -DJL_USE_INTEL_JITEVENTS
708 endif
709
1c4860d Viral B. Shah Provide USE_INTEL_LIBM build option and separate it from USE_MKL (#3901)...
ViralBShah authored
710 # Intel libraries
711
712 ifeq ($(USE_INTEL_LIBM), 1)
713 USE_SYSTEM_LIBM = 1
714 LIBM = -L$(MKLROOT)/../compiler/lib/intel64 -limf
715 LIBMNAME = libimf
716 endif
de42363 Mike Nolta use mkl for blas & lapack
nolta authored
717
f2d9546 Viral B. Shah Rename USE_MKL -> USE_INTEL_MKL and add deprecation
ViralBShah authored
718 ifeq ($(USE_INTEL_MKL), 1)
29b43b4 Viral B. Shah Update MKL instructions in the README.
ViralBShah authored
719 ifeq ($(USE_BLAS64), 1)
720 export MKL_INTERFACE_LAYER := ILP64
bb14b40 Viral B. Shah Set MKL_INTERFACE_LAYER to ILP64 if USE_BLAS64=1 (#3928, #5146)
ViralBShah authored
721 MKLLIB = $(MKLROOT)/lib/intel64
722 else
723 MKLLIB = $(MKLROOT)/lib/ia32
29b43b4 Viral B. Shah Update MKL instructions in the README.
ViralBShah authored
724 endif
de42363 Mike Nolta use mkl for blas & lapack
nolta authored
725 USE_SYSTEM_BLAS=1
726 USE_SYSTEM_LAPACK=1
c4dff93 Mike Nolta add _jl_libblasname to buildinfo.jl
nolta authored
727 LIBBLASNAME = libmkl_rt
d182a62 Mike Nolta fix USE_SYSTEM_LAPACK=1 builds
nolta authored
728 LIBLAPACKNAME = libmkl_rt
a464712 Viral B. Shah Some more updates for libimf usage
ViralBShah authored
729 MKL_LDFLAGS = -L$(MKLLIB) -lmkl_rt
fde183d Mike Nolta add MKLLIB to rpath (closes #1028)
nolta authored
730 ifneq ($(strip $(MKLLIB)),)
731 ifeq ($(OS), Linux)
e8a94c0 Mike Nolta fix #3606 (broken mkl build)
nolta authored
732 RPATH_MKL = -Wl,-rpath,$(MKLLIB)
733 RPATH += $(RPATH_MKL)
f54e3df Mike Nolta support mkl ilp64 blas (closes #3611)
nolta authored
734 MKL_LDFLAGS += $(RPATH_MKL)
fde183d Mike Nolta add MKLLIB to rpath (closes #1028)
nolta authored
735 endif
736 endif
f54e3df Mike Nolta support mkl ilp64 blas (closes #3611)
nolta authored
737 LIBBLAS = $(MKL_LDFLAGS)
738 LIBLAPACK = $(MKL_LDFLAGS)
f2d9546 Viral B. Shah Rename USE_MKL -> USE_INTEL_MKL and add deprecation
ViralBShah authored
739 endif
740
741 ifeq ($(USE_INTEL_MKL_FFT), 1)
742 USE_SYSTEM_FFTW = 1
d6b7175 Viral B. Shah Support for icc and ifort.
ViralBShah authored
743 LIBFFTWNAME = libmkl_rt
744 LIBFFTWFNAME = libmkl_rt
de42363 Mike Nolta use mkl for blas & lapack
nolta authored
745 endif
746
d3d6291 Jameson Nash fix stack-smashing protector usage across platforms by introducing a HAV...
vtjnash authored
747 ifeq ($(HAVE_SSP),1)
748 JCPPFLAGS += -DHAVE_SSP=1
749 ifeq ($(USEGCC),1)
750 OSLIBS += -lssp
751 endif
752 endif
753
40eb593 Viral B. Shah Add ability to use system BLAS, but build your own LAPACK. (#3365)
ViralBShah authored
754 # ATLAS
755
756 # ATLAS must have been previously built with "make -C deps compile-atlas" (without -jN),
757 # or installed to usr/lib/libatlas from some another source (built as
758 # a shared library, for your platform, single threaded)
759 USE_ATLAS = 0
30ba746 Milan Bouchet-Valat Revamp Makefiles to better conform to common packaging guidelines
nalimilan authored
760 ATLAS_LIBDIR = $(build_libdir)
40eb593 Viral B. Shah Add ability to use system BLAS, but build your own LAPACK. (#3365)
ViralBShah authored
761 #or ATLAS_LIBDIR = /path/to/system/atlas/lib
762
759e147 Jameson Nash ATLAS build configuration and flags
vtjnash authored
763 ifeq ($(USE_ATLAS), 1)
40eb593 Viral B. Shah Add ability to use system BLAS, but build your own LAPACK. (#3365)
ViralBShah authored
764 USE_BLAS64 = 0
c82223b Mike Nolta add atlas blas/lapack support
nolta authored
765 USE_SYSTEM_BLAS = 1
766 USE_SYSTEM_LAPACK = 1
767 LIBBLAS = -L$(ATLAS_LIBDIR) -lsatlas
768 LIBLAPACK = $(LIBBLAS)
759e147 Jameson Nash ATLAS build configuration and flags
vtjnash authored
769 LIBBLASNAME = libsatlas
c82223b Mike Nolta add atlas blas/lapack support
nolta authored
770 LIBLAPACKNAME = $(LIBBLASNAME)
759e147 Jameson Nash ATLAS build configuration and flags
vtjnash authored
771 endif
c82223b Mike Nolta add atlas blas/lapack support
nolta authored
772
2fc6d3c Tony Kelman Allow OPENBLAS_SYMBOLSUFFIX to be overridden in Make.user
tkelman authored
773 # Renaming OpenBLAS symbols, see #4923 and #8734
774 ifeq ($(USE_SYSTEM_BLAS), 0)
775 ifeq ($(USE_BLAS64), 1)
776 OPENBLAS_SYMBOLSUFFIX = 64_
777 endif
778 endif
779
f38b485 Keno Fischer WIP: Add ability to build a custom libcxx
Keno authored
780 # Custom libcxx
781 ifeq ($(BUILD_CUSTOM_LIBCXX),1)
782 LDFLAGS += -L$(build_libdir) -lc++abi
297f8ac Keno Fischer WIP
Keno authored
783 CXXLDFLAGS += -L$(build_libdir) -lc++abi -stdlib=libc++ -lc++
f38b485 Keno Fischer WIP: Add ability to build a custom libcxx
Keno authored
784 CPPFLAGS += -I$(build_includedir)/c++/v1
297f8ac Keno Fischer WIP
Keno authored
785 ifeq ($(USEICC),1)
786 CXXFLAGS += -cxxlib-nostd -static-intel
787 CLDFLAGS += -static-intel
788 LDFLAGS += -cxxlib-nostd -static-intel
789 endif
f38b485 Keno Fischer WIP: Add ability to build a custom libcxx
Keno authored
790 endif
791
6ac5993 Keno Fischer Move new Make macros to Make.inc
Keno authored
792 # Make tricks
793
794 define dir_target
795 $$(subst $$(abspath $(JULIAHOME))/,,$$(abspath $(1))): $$(abspath $(1))
b64a1c8 Patrick O'Leary Vagrant: update Vagrantfile, fix make testall
pao authored
796 $$(abspath $(1)):
6ac5993 Keno Fischer Move new Make macros to Make.inc
Keno authored
797 @mkdir -p $$@
798 endef
799
ecc6a2f Jameson Nash add a cross-compile target, for building WINNT on LINUX (libuv still req...
vtjnash authored
800 ifeq ($(BUILD_OS), WINNT)
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
801 define mingw_to_dos
802 $(subst /,\\,$(subst $(shell $(2) pwd),$(shell $(2) cmd //C cd),$(abspath $(1))))
803 endef
1cf9747 Patrick O'Leary Add Vagrant configuration & modify build system
pao authored
804 endif
805
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
806 define symlink_target
807 CLEAN_TARGETS += clean-$(2)/$(1)
b64a1c8 Patrick O'Leary Vagrant: update Vagrantfile, fix make testall
pao authored
808 clean-$$(abspath $(2)/$(1)):
1cf9747 Patrick O'Leary Add Vagrant configuration & modify build system
pao authored
809 ifeq ($(BUILD_OS), WINNT)
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
810 @-cmd //C rmdir $$(call mingw_to_dos,$(2)/$(1),cd $(2) &&)
811 else
812 @-rm $$(abspath $(2)/$(1))
1cf9747 Patrick O'Leary Add Vagrant configuration & modify build system
pao authored
813 endif
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
814 $$(subst $$(abspath $(JULIAHOME))/,,$$(abspath $(2)/$(1))): $$(abspath $(2)/$(1))
815 $$(abspath $(2)/$(1)): | $$(abspath $(2))
1cf9747 Patrick O'Leary Add Vagrant configuration & modify build system
pao authored
816 ifeq ($(BUILD_OS), WINNT)
817 @cmd //C mklink //J $$(call mingw_to_dos,$(2)/$(1),cd $(2) &&) $$(call mingw_to_dos,$(1),)
6d415e1 Tony Kelman Use NTFS junctions to share/julia/base etc instead of Cygwin symlinks
tkelman authored
818 else ifneq (,$(findstring CYGWIN,$(BUILD_OS)))
819 @cmd /C mklink /J $$(call cygpath_w,$(2)/$(1)) $$(call cygpath_w,$(1))
1cf9747 Patrick O'Leary Add Vagrant configuration & modify build system
pao authored
820 else ifdef JULIA_VAGRANT_BUILD
821 @cp -R $$(abspath $(1)) $$@
822 else
823 @ln -sf $$(abspath $(1)) $$@
824 endif
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
825 endef
1cf9747 Patrick O'Leary Add Vagrant configuration & modify build system
pao authored
826
b6354ed Tony Kelman use winepath and spawn with stringreplace
tkelman authored
827 ifeq ($(BUILD_OS), WINNT) # MSYS
1cf9747 Patrick O'Leary Add Vagrant configuration & modify build system
pao authored
828 spawn = $(1)
b6354ed Tony Kelman use winepath and spawn with stringreplace
tkelman authored
829 cygpath_w = $(1)
830 else ifneq (,$(findstring CYGWIN,$(BUILD_OS))) # Cygwin
0dcd3ef Tony Kelman Tweaks for cross compiling from Cygwin to MinGW
tkelman authored
831 spawn = $(1)
b6354ed Tony Kelman use winepath and spawn with stringreplace
tkelman authored
832 cygpath_w = `cygpath -w $(1)`
1cf9747 Patrick O'Leary Add Vagrant configuration & modify build system
pao authored
833 else
b6354ed Tony Kelman use winepath and spawn with stringreplace
tkelman authored
834 ifeq ($(OS), WINNT) # unix-to-Windows cross-compile
f31f354 Jameson Nash WINDOWS: eliminate WINE_PATH hack from Makefile. fix #3420
vtjnash authored
835 spawn = wine $(1)
b6354ed Tony Kelman use winepath and spawn with stringreplace
tkelman authored
836 cygpath_w = `winepath -w $(1)`
837 else # not Windows
6f5f62a Jameson Nash more correct and reliable wine PATH implementation
vtjnash authored
838 spawn = $(1)
0dcd3ef Tony Kelman Tweaks for cross compiling from Cygwin to MinGW
tkelman authored
839 cygpath_w = $(1)
840 endif
b6354ed Tony Kelman use winepath and spawn with stringreplace
tkelman authored
841 endif
0dcd3ef Tony Kelman Tweaks for cross compiling from Cygwin to MinGW
tkelman authored
842
6f5f62a Jameson Nash more correct and reliable wine PATH implementation
vtjnash authored
843 exec = $(shell $(call spawn,$(1)))
e576dce Jameson Nash add a wine_pathsearch Makefile function that improves generality of wind...
vtjnash authored
844
0dcd3ef Tony Kelman Tweaks for cross compiling from Cygwin to MinGW
tkelman authored
845 ifneq (,$(findstring CYGWIN,$(BUILD_OS)))
846 wine_pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(2)))))
847 else
e576dce Jameson Nash add a wine_pathsearch Makefile function that improves generality of wind...
vtjnash authored
848 wine_pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(shell printf %s\n '$(2)' | xargs -d";" winepath -u | tr '\n' ' '))))
0dcd3ef Tony Kelman Tweaks for cross compiling from Cygwin to MinGW
tkelman authored
849 endif
6f5f62a Jameson Nash more correct and reliable wine PATH implementation
vtjnash authored
850 pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(2)))))
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
851
d2c1c20 Mike Nolta rename julia-basic -> julia (closes #6188)
nolta authored
852 JULIA_EXECUTABLE_debug = $(build_bindir)/julia-debug$(EXE)
853 JULIA_EXECUTABLE_release = $(build_bindir)/julia$(EXE)
b64a1c8 Patrick O'Leary Vagrant: update Vagrantfile, fix make testall
pao authored
854 JULIA_EXECUTABLE = $(JULIA_EXECUTABLE_release)
3ace3d8 Keno Fischer Various minor fixes from the Windows branch
Keno authored
855
7fe1e90 Viral B. Shah colors for make and quiet compile lines in release target.
ViralBShah authored
856 # Colors for make
a931666 Elliot Saba Change PRINT_* to Makefile functions, fixing #4165
staticfloat authored
857 ifndef VERBOSE
858 VERBOSE = 0
50b0e31 Jameson Nash respect environment variable USE_QUIET during make. fix #1393
vtjnash authored
859 endif
7d2a8d8 Viral B. Shah Move QUIET_MAKE from Makefile to Make.inc.
ViralBShah authored
860
a931666 Elliot Saba Change PRINT_* to Makefile functions, fixing #4165
staticfloat authored
861 ifeq ($(VERBOSE), 0)
86b1a39 Viral B. Shah Try to reintroduce USE_QUIET - seems to work better this time around.
ViralBShah authored
862
7d2a8d8 Viral B. Shah Move QUIET_MAKE from Makefile to Make.inc.
ViralBShah authored
863 QUIET_MAKE = -s
864
7fe1e90 Viral B. Shah colors for make and quiet compile lines in release target.
ViralBShah authored
865 CCCOLOR="\033[34m"
866 LINKCOLOR="\033[34;1m"
818375e Stefan Karpinski Make our build output absurdly slick.
StefanKarpinski authored
867 PERLCOLOR="\033[35m"
868 FLISPCOLOR="\033[32m"
869 JULIACOLOR="\033[32;1m"
870
7fe1e90 Viral B. Shah colors for make and quiet compile lines in release target.
ViralBShah authored
871 SRCCOLOR="\033[33m"
872 BINCOLOR="\033[37;1m"
818375e Stefan Karpinski Make our build output absurdly slick.
StefanKarpinski authored
873 JULCOLOR="\033[34;1m"
7fe1e90 Viral B. Shah colors for make and quiet compile lines in release target.
ViralBShah authored
874 ENDCOLOR="\033[0m"
875
5175ea9 Jameson Nash protect commit for "protect Makefile VERBOSE macros..." from unwanted ' ...
vtjnash authored
876 GOAL=$(subst ','\'',$(subst $(abspath $(JULIAHOME))/,,$(abspath $@)))
818375e Stefan Karpinski Make our build output absurdly slick.
StefanKarpinski authored
877
5175ea9 Jameson Nash protect commit for "protect Makefile VERBOSE macros..." from unwanted ' ...
vtjnash authored
878 PRINT_CC = printf ' %b %b\n' $(CCCOLOR)CC$(ENDCOLOR) $(SRCCOLOR)$(GOAL)$(ENDCOLOR); $(1)
879 PRINT_LINK = printf ' %b %b\n' $(LINKCOLOR)LINK$(ENDCOLOR) $(BINCOLOR)$(GOAL)$(ENDCOLOR); $(1)
880 PRINT_PERL = printf ' %b %b\n' $(PERLCOLOR)PERL$(ENDCOLOR) $(BINCOLOR)$(GOAL)$(ENDCOLOR); $(1)
881 PRINT_FLISP = printf ' %b %b\n' $(FLISPCOLOR)FLISP$(ENDCOLOR) $(BINCOLOR)$(GOAL)$(ENDCOLOR); $(1)
882 PRINT_JULIA = printf ' %b %b\n' $(JULIACOLOR)JULIA$(ENDCOLOR) $(BINCOLOR)$(GOAL)$(ENDCOLOR); $(1)
86b1a39 Viral B. Shah Try to reintroduce USE_QUIET - seems to work better this time around.
ViralBShah authored
883
884 else
7d2a8d8 Viral B. Shah Move QUIET_MAKE from Makefile to Make.inc.
ViralBShah authored
885 QUIET_MAKE =
5175ea9 Jameson Nash protect commit for "protect Makefile VERBOSE macros..." from unwanted ' ...
vtjnash authored
886 PRINT_CC = echo '$(subst ','\'',$(1))'; $(1)
887 PRINT_LINK = echo '$(subst ','\'',$(1))'; $(1)
888 PRINT_PERL = echo '$(subst ','\'',$(1))'; $(1)
889 PRINT_FLISP = echo '$(subst ','\'',$(1))'; $(1)
890 PRINT_JULIA = echo '$(subst ','\'',$(1))'; $(1)
86b1a39 Viral B. Shah Try to reintroduce USE_QUIET - seems to work better this time around.
ViralBShah authored
891
892 endif
Something went wrong with that request. Please try again.