Home | History | Annotate | Download | only in driver
      1 ##===- tools/driver/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 CLANG_LEVEL := ../..
     10 
     11 TOOLNAME = clang
     12 TOOLALIAS = clang++
     13 
     14 # We don't currently expect production Clang builds to be interested in
     15 # plugins. This is important for startup performance.
     16 ifdef CLANG_IS_PRODUCTION
     17 TOOL_NO_EXPORTS := 1
     18 endif
     19 
     20 ifdef CLANG_ORDER_FILE
     21 TOOL_ORDER_FILE := $(CLANG_ORDER_FILE)
     22 endif
     23 
     24 # Include tool version information on OS X.
     25 TOOL_INFO_PLIST := Info.plist
     26 
     27 # Include this here so we can get the configuration of the targets that have
     28 # been configured for construction. We have to do this early so we can set up
     29 # LINK_COMPONENTS before including Makefile.rules
     30 include $(CLANG_LEVEL)/../../Makefile.config
     31 
     32 LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \
     33                    instrumentation ipo irreader linker selectiondag option
     34 USEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \
     35            clangSerialization.a clangCodeGen.a clangParse.a clangSema.a
     36 
     37 ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1)
     38 USEDLIBS += clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a \
     39             clangStaticAnalyzerCore.a
     40 endif
     41 
     42 ifeq ($(ENABLE_CLANG_ARCMT),1)
     43 USEDLIBS += clangARCMigrate.a
     44 endif
     45 
     46 ifeq ($(ENABLE_CLANG_REWRITER),1)
     47 USEDLIBS += clangRewriteFrontend.a clangRewriteCore.a
     48 endif
     49 
     50 USEDLIBS += clangAnalysis.a clangEdit.a clangAST.a clangBasic.a clangLex.a
     51 
     52 include $(CLANG_LEVEL)/Makefile
     53 
     54 # Set the tool version information values.
     55 ifeq ($(HOST_OS),Darwin)
     56 ifdef CLANG_VENDOR
     57 TOOL_INFO_NAME := $(CLANG_VENDOR) clang
     58 else
     59 TOOL_INFO_NAME := clang
     60 endif
     61 
     62 ifdef CLANG_VENDOR_UTI
     63 TOOL_INFO_UTI := $(CLANG_VENDOR_UTI)
     64 else
     65 TOOL_INFO_UTI := org.llvm.clang
     66 endif
     67 
     68 TOOL_INFO_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
     69 	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
     70 ifdef LLVM_SUBMIT_VERSION
     71 TOOL_INFO_BUILD_VERSION := $(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION)
     72 else
     73 TOOL_INFO_BUILD_VERSION := 
     74 endif
     75 endif
     76