aboutsummaryrefslogtreecommitdiff
path: root/tools/driver/Makefile
blob: a98d715c2e21eadb25ec8c50297748768fb3d926 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
##===- tools/driver/Makefile -------------------------------*- Makefile -*-===##
#
#                     The LLVM Compiler Infrastructure
#
# This file is distributed under the University of Illinois Open Source
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
CLANG_LEVEL := ../..

TOOLNAME = clang
ifndef CLANG_IS_PRODUCTION
TOOLALIAS = clang++
else
  ifdef CLANGXX_IS_PRODUCTION
    TOOLALIAS = clang++
  endif
endif

# We don't currently expect production Clang builds to be interested in
# plugins. This is important for startup performance.
ifdef CLANG_IS_PRODUCTION
TOOL_NO_EXPORTS := 1
endif

ifdef CLANG_ORDER_FILE
TOOL_ORDER_FILE := $(CLANG_ORDER_FILE)
endif

# Include tool version information on OS X.
TOOL_INFO_PLIST := Info.plist

# Include this here so we can get the configuration of the targets that have
# been configured for construction. We have to do this early so we can set up
# LINK_COMPONENTS before including Makefile.rules
include $(CLANG_LEVEL)/../../Makefile.config

LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \
                   ipo selectiondag
USEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \
           clangSerialization.a clangCodeGen.a clangParse.a clangSema.a \
           clangGRCheckers.a clangGRCore.a clangAnalysis.a clangIndex.a clangRewrite.a \
           clangAST.a clangLex.a clangBasic.a

include $(CLANG_LEVEL)/Makefile

# Set the tool version information values.
ifeq ($(HOST_OS),Darwin)
ifdef CLANG_VENDOR
TOOL_INFO_NAME := $(CLANG_VENDOR) clang
else
TOOL_INFO_NAME := clang
endif

ifdef CLANG_VENDOR_UTI
TOOL_INFO_UTI := $(CLANG_VENDOR_UTI)
else
TOOL_INFO_UTI := org.llvm.clang
endif

TOOL_INFO_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
ifdef LLVM_SUBMIT_VERSION
TOOL_INFO_BUILD_VERSION := $(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION)
else
TOOL_INFO_BUILD_VERSION := 
endif
endif

# Translate make variable to define when building a "production" clang.
ifdef CLANG_IS_PRODUCTION
CPP.Defines += -DCLANG_IS_PRODUCTION
endif
ifdef CLANGXX_IS_PRODUCTION
CPP.Defines += -DCLANGXX_IS_PRODUCTION
endif