blob: 89c4c348a80b2263769789cbca42f3e243b3905c [file] [log] [blame]
##===- 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
TOOLALIAS = clang++
# 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 \
instrumentation ipo irreader linker selectiondag
USEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \
clangSerialization.a clangCodeGen.a clangParse.a clangSema.a
ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1)
USEDLIBS += clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a \
clangStaticAnalyzerCore.a
endif
ifeq ($(ENABLE_CLANG_ARCMT),1)
USEDLIBS += clangARCMigrate.a
endif
ifeq ($(ENABLE_CLANG_REWRITER),1)
USEDLIBS += clangRewriteFrontend.a clangRewriteCore.a
endif
USEDLIBS += clangAnalysis.a clangEdit.a clangAST.a clangBasic.a clangLex.a
#
# Link in the SAFECode passes
#
USEDLIBS += abc.a addchecks.a sc-support.a baggyboundscheck.a debuginstr.a \
softbound.a formatstrings.a convert.a cstdlib.a optchecks.a oob.a \
cmspasses.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