13ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar##===- tools/driver/Makefile -------------------------------*- Makefile -*-===##
22108577809989bd5c591128b48aac6715b3f61b6Daniel Dunbar#
33ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar#                     The LLVM Compiler Infrastructure
43ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar#
53ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# This file is distributed under the University of Illinois Open Source
63ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# License. See LICENSE.TXT for details.
72108577809989bd5c591128b48aac6715b3f61b6Daniel Dunbar#
83ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar##===----------------------------------------------------------------------===##
9afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel DunbarCLANG_LEVEL := ../..
103ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar
117ec3dafdda96abcd1ff0841deef4eadfeb8f1208Daniel DunbarTOOLNAME = clang
12f4961da8e3ecfde170a71ec1eeba69583d7ce039Daniel DunbarTOOLALIAS = clang++
133ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar
14b08fab82a68f6c1588ecd12ae2c6399cc5ea662dDaniel Dunbar# We don't currently expect production Clang builds to be interested in
15b08fab82a68f6c1588ecd12ae2c6399cc5ea662dDaniel Dunbar# plugins. This is important for startup performance.
16b08fab82a68f6c1588ecd12ae2c6399cc5ea662dDaniel Dunbarifdef CLANG_IS_PRODUCTION
17b08fab82a68f6c1588ecd12ae2c6399cc5ea662dDaniel DunbarTOOL_NO_EXPORTS := 1
18b08fab82a68f6c1588ecd12ae2c6399cc5ea662dDaniel Dunbarendif
19b08fab82a68f6c1588ecd12ae2c6399cc5ea662dDaniel Dunbar
206dbcaf3849709e271ffad5974150a6adbbfbb064Daniel Dunbarifdef CLANG_ORDER_FILE
216dbcaf3849709e271ffad5974150a6adbbfbb064Daniel DunbarTOOL_ORDER_FILE := $(CLANG_ORDER_FILE)
226dbcaf3849709e271ffad5974150a6adbbfbb064Daniel Dunbarendif
236dbcaf3849709e271ffad5974150a6adbbfbb064Daniel Dunbar
247bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbar# Include tool version information on OS X.
257bad56cd0c9c1ae816c47a217461dbce986620c5Daniel DunbarTOOL_INFO_PLIST := Info.plist
267bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbar
272108577809989bd5c591128b48aac6715b3f61b6Daniel Dunbar# Include this here so we can get the configuration of the targets that have
282108577809989bd5c591128b48aac6715b3f61b6Daniel Dunbar# been configured for construction. We have to do this early so we can set up
292108577809989bd5c591128b48aac6715b3f61b6Daniel Dunbar# LINK_COMPONENTS before including Makefile.rules
30afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel Dunbarinclude $(CLANG_LEVEL)/../../Makefile.config
312108577809989bd5c591128b48aac6715b3f61b6Daniel Dunbar
324cbbd94d0abeec2d7e7438d098527aa340d82389Daniel DunbarLINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \
33e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky                   instrumentation ipo selectiondag
341b7255de78c99ef2b8a06bb5261a3c776ac1db36Peter CollingbourneUSEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \
351b7255de78c99ef2b8a06bb5261a3c776ac1db36Peter Collingbourne           clangSerialization.a clangCodeGen.a clangParse.a clangSema.a \
36e817771c57d0eacbe069a314ba619c43d0ac70abArgyrios Kyrtzidis           clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a \
37e817771c57d0eacbe069a314ba619c43d0ac70abArgyrios Kyrtzidis           clangStaticAnalyzerCore.a \
388f0e8d22960d56f8390f4971e2c0f2f0a0884602John McCall           clangAnalysis.a clangIndex.a clangARCMigrate.a clangRewrite.a \
391b7255de78c99ef2b8a06bb5261a3c776ac1db36Peter Collingbourne           clangAST.a clangLex.a clangBasic.a
403ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar
41afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel Dunbarinclude $(CLANG_LEVEL)/Makefile
42f44c58563286bb448a72ed9c9af5f21718633230Daniel Dunbar
437bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbar# Set the tool version information values.
447bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarifeq ($(HOST_OS),Darwin)
457bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarifdef CLANG_VENDOR
467bad56cd0c9c1ae816c47a217461dbce986620c5Daniel DunbarTOOL_INFO_NAME := $(CLANG_VENDOR) clang
477bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarelse
487bad56cd0c9c1ae816c47a217461dbce986620c5Daniel DunbarTOOL_INFO_NAME := clang
497bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarendif
507bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbar
517bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarifdef CLANG_VENDOR_UTI
527bad56cd0c9c1ae816c47a217461dbce986620c5Daniel DunbarTOOL_INFO_UTI := $(CLANG_VENDOR_UTI)
537bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarelse
547bad56cd0c9c1ae816c47a217461dbce986620c5Daniel DunbarTOOL_INFO_UTI := org.llvm.clang
557bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarendif
567bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbar
577bad56cd0c9c1ae816c47a217461dbce986620c5Daniel DunbarTOOL_INFO_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
587bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbar	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
597bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarifdef LLVM_SUBMIT_VERSION
607bad56cd0c9c1ae816c47a217461dbce986620c5Daniel DunbarTOOL_INFO_BUILD_VERSION := $(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION)
617bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarelse
627bad56cd0c9c1ae816c47a217461dbce986620c5Daniel DunbarTOOL_INFO_BUILD_VERSION := 
637bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarendif
647bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbarendif
657bad56cd0c9c1ae816c47a217461dbce986620c5Daniel Dunbar
66f44c58563286bb448a72ed9c9af5f21718633230Daniel Dunbar# Translate make variable to define when building a "production" clang.
67f44c58563286bb448a72ed9c9af5f21718633230Daniel Dunbarifdef CLANG_IS_PRODUCTION
68f44c58563286bb448a72ed9c9af5f21718633230Daniel DunbarCPP.Defines += -DCLANG_IS_PRODUCTION
693963cef84a1f0670ae8664faa1a7b9c6f90771bdEli Friedmanendif
70