1f51f20fa34654da75d15a9e2a1a0cd2fc0d8603dDaniel Dunbar##===- tools/libclang/Makefile -----------------------------*- Makefile -*-===## 2d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek# 3d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek# The LLVM Compiler Infrastructure 4d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek# 5d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek# This file is distributed under the University of Illinois Open Source 6d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek# License. See LICENSE.TXT for details. 7d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek# 8d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek##===----------------------------------------------------------------------===## 9d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 10afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel DunbarCLANG_LEVEL := ../.. 11f51f20fa34654da75d15a9e2a1a0cd2fc0d8603dDaniel DunbarLIBRARYNAME = clang 12d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 13f51f20fa34654da75d15a9e2a1a0cd2fc0d8603dDaniel DunbarEXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/libclang.exports 14e42e9872f82d8e969593b3143cf9e0fdc294e711Dan Gohman 15d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted KremenekLINK_LIBS_IN_SHARED = 1 16d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted KremenekSHARED_LIBRARY = 1 17d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 18fa1d30ddb1bbb16d8c268f79890ac39101915b5cChad Rosierinclude $(CLANG_LEVEL)/../../Makefile.config 19176edba5311f6eff0cad2631449885ddf4fbc9eaStephen HinesLINK_COMPONENTS := AsmParser BitReader Core MC MCParser Option Support 20651f13cea278ec967336033dd032faef0e9fc2ecStephen HinesUSEDLIBS = clangIndex.a clangARCMigrate.a \ 21651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangRewriteFrontend.a \ 22651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangFormat.a \ 23176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines clangTooling.a clangToolingCore.a \ 24651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangFrontend.a clangDriver.a \ 25305c613af6cfc40e519c75d9d2c84c6fa9a841c0Ted Kremenek clangSerialization.a \ 266a0ff179799c0dcbbd76b311923162e3be343f4bNAKAMURA Takumi clangParse.a clangSema.a \ 27651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \ 28176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines clangRewrite.a \ 296a0ff179799c0dcbbd76b311923162e3be343f4bNAKAMURA Takumi clangAnalysis.a clangEdit.a \ 30651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangASTMatchers.a \ 316a0ff179799c0dcbbd76b311923162e3be343f4bNAKAMURA Takumi clangAST.a clangLex.a clangBasic.a \ 32d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 33afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel Dunbarinclude $(CLANG_LEVEL)/Makefile 34d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 350740a25e9be2dd98f44a73f58cade13b1f068c6eSylvestre Ledru# Add soname to the library. 36fcd0aa1ae9068f6762661b7e954e7c558eafe613Sylvestre Ledruifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) 37fa3d81ca3cfe064bbbcae9be93a215bc8f5ba906Sylvestre Ledru LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) 380740a25e9be2dd98f44a73f58cade13b1f068c6eSylvestre Ledruendif 390740a25e9be2dd98f44a73f58cade13b1f068c6eSylvestre Ledru 40176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesifeq ($(ENABLE_CLANG_ARCMT),1) 41176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines CXX.Flags += -DCLANG_ENABLE_ARCMT 42176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesendif 43176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 44d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek##===----------------------------------------------------------------------===## 45d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek# FIXME: This is copied from the 'lto' makefile. Should we share this? 46d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek##===----------------------------------------------------------------------===## 47d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 48d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenekifeq ($(HOST_OS),Darwin) 4957b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar LLVMLibsOptions += -Wl,-compatibility_version,1 5057b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar 5157b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar # Set dylib internal version number to submission number. 52d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek ifdef LLVM_SUBMIT_VERSION 5357b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar LLVMLibsOptions += -Wl,-current_version \ 5457b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar -Wl,$(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION) 55d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek endif 5657b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar 57731a26202db4251ce9f98e64bed8ee257c46eb61Bill Wendling # If we're doing an Apple-style build, add the LTO object path. 58778749aa7c2ed73ffeb60065dc015ed62127c8e1Bill Wendling ifeq ($(RC_XBS),YES) 59d34eca2a5b54d36c196b4f663f397fc6ea583b9bBill Wendling TempFile := $(shell mkdir -p ${OBJROOT}/dSYMs ; mktemp ${OBJROOT}/dSYMs/clang-lto.XXXXXX) 601880039e2b9faece69d64bab8b57dbeaf09cf643Bill Wendling LLVMLibsOptions += -Wl,-object_path_lto -Wl,$(TempFile) 61731a26202db4251ce9f98e64bed8ee257c46eb61Bill Wendling endif 62d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenekendif 63