5ed090ea0e0e12f560dc45fa88edc266b7d77f5d
[oota-llvm.git] / tools / Makefile
1 ##===- tools/Makefile --------------------------------------*- Makefile -*-===##
2 #
3 #                     The LLVM Compiler Infrastructure
4 #
5 # This file is distributed under the University of Illinois Open Source
6 # License. See LICENSE.TXT for details.
7 #
8 ##===----------------------------------------------------------------------===##
9
10 LEVEL := ..
11
12 # Build clang if present.
13 OPTIONAL_PARALLEL_DIRS := clang
14
15 # 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
17 # in parallel builds.  Please retain this ordering.
18 DIRS := llvm-config
19 PARALLEL_DIRS := opt llvm-as llvm-dis \
20                  llc llvm-ranlib llvm-ar llvm-nm \
21                  llvm-ld llvm-prof llvm-link \
22                  lli gccas gccld llvm-extract llvm-db \
23                  bugpoint llvm-bcanalyzer llvm-stub llvmc \
24                  llvm-mc
25
26 # Let users override the set of tools to build from the command line.
27 ifdef ONLY_TOOLS
28   OPTIONAL_PARALLEL_DIRS :=
29   PARALLEL_DIRS := $(ONLY_TOOLS)
30 endif
31
32 include $(LEVEL)/Makefile.config
33
34 ifeq ($(ENABLE_PIC),1)
35   DIRS += lto
36   ifdef BINUTILS_INCDIR
37     DIRS += gold
38   endif
39 endif
40
41 # No support for lto / gold on windows targets
42 ifeq ($(OS), $(filter $(OS), Cygwin MingW))
43   DIRS := $(filter-out lto gold, $(DIRS))
44 endif
45
46 include $(LEVEL)/Makefile.common