blob: 0340c7f78bb983f4c1734ab7f2fd027f66b5f95b [file] [log] [blame]
Chris Lattner6d47bae2004-01-05 05:28:15 +00001##===- tools/Makefile --------------------------------------*- Makefile -*-===##
Mikhail Glushenkov113ec352008-11-25 21:38:12 +00002#
John Criswelle2fab732003-10-20 22:29:16 +00003# The LLVM Compiler Infrastructure
4#
Chris Lattner51167842007-12-29 20:07:17 +00005# This file is distributed under the University of Illinois Open Source
6# License. See LICENSE.TXT for details.
Mikhail Glushenkov113ec352008-11-25 21:38:12 +00007#
John Criswelle2fab732003-10-20 22:29:16 +00008##===----------------------------------------------------------------------===##
Chris Lattner6d47bae2004-01-05 05:28:15 +00009
Chris Lattner698e9ce2002-12-06 03:53:40 +000010LEVEL := ..
Mike Stump0a268912009-01-24 00:00:41 +000011
12# Build clang if present.
13OPTIONAL_PARALLEL_DIRS := clang
14
Mikhail Glushenkov113ec352008-11-25 21:38:12 +000015# NOTE: The tools are organized into five groups of four consisting of one
16# large and three small executables. This is done to minimize memory load
Reid Spencer36a987e2007-02-09 17:02:07 +000017# in parallel builds. Please retain this ordering.
Nick Lewyckydcd158a2009-02-26 07:56:49 +000018DIRS := llvm-config
19PARALLEL_DIRS := opt llvm-as llvm-dis \
Reid Spencer36a987e2007-02-09 17:02:07 +000020 llc llvm-ranlib llvm-ar llvm-nm \
Chris Lattner8c2ec512008-03-30 18:58:05 +000021 llvm-ld llvm-prof llvm-link \
Chris Lattnerdbf75e82009-10-05 02:29:51 +000022 lli llvm-extract \
Daniel Dunbar74deeb82009-06-29 21:12:26 +000023 bugpoint llvm-bcanalyzer llvm-stub \
Mikhail Glushenkov86a35102009-07-04 03:54:54 +000024 llvm-mc llvmc
Bill Wendling041b3f82007-12-08 23:58:46 +000025
Chris Lattner06942902009-04-25 22:08:52 +000026# Let users override the set of tools to build from the command line.
27ifdef ONLY_TOOLS
28 OPTIONAL_PARALLEL_DIRS :=
29 PARALLEL_DIRS := $(ONLY_TOOLS)
30endif
31
Chris Lattnercf8cb6d2006-09-08 18:33:49 +000032include $(LEVEL)/Makefile.config
Chris Lattner70c35372006-09-08 18:08:50 +000033
Nick Lewyckye9742d22009-03-03 07:45:09 +000034ifeq ($(ENABLE_PIC),1)
Mikhail Glushenkov86a35102009-07-04 03:54:54 +000035 DIRS += lto
Nick Lewyckydcd158a2009-02-26 07:56:49 +000036 ifdef BINUTILS_INCDIR
37 DIRS += gold
38 endif
Anton Korobeynikov294492b2006-09-08 18:00:43 +000039endif
Reid Spencerac285882006-05-30 21:20:55 +000040
Anton Korobeynikovad9d21a2009-03-11 19:49:42 +000041# No support for lto / gold on windows targets
Anton Korobeynikove55db742009-08-18 00:40:33 +000042ifeq ($(TARGET_OS), $(filter $(TARGET_OS), Cygwin MingW))
Anton Korobeynikov773f57e2009-03-11 21:05:21 +000043 DIRS := $(filter-out lto gold, $(DIRS))
Anton Korobeynikovad9d21a2009-03-11 19:49:42 +000044endif
45
Chris Lattnercf8cb6d2006-09-08 18:33:49 +000046include $(LEVEL)/Makefile.common