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 19a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga NainarLINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter core \ 20a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar instrumentation ipo mc mcparser objcarcopts option support \ 21a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar object 22651f13cea278ec967336033dd032faef0e9fc2ecStephen HinesUSEDLIBS = clangIndex.a clangARCMigrate.a \ 23651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangRewriteFrontend.a \ 24651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangFormat.a \ 25176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines clangTooling.a clangToolingCore.a \ 26a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar clangFrontend.a clangCodeGen.a clangDriver.a \ 27305c613af6cfc40e519c75d9d2c84c6fa9a841c0Ted Kremenek clangSerialization.a \ 286a0ff179799c0dcbbd76b311923162e3be343f4bNAKAMURA Takumi clangParse.a clangSema.a \ 29651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \ 30176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines clangRewrite.a \ 316a0ff179799c0dcbbd76b311923162e3be343f4bNAKAMURA Takumi clangAnalysis.a clangEdit.a \ 32651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines clangASTMatchers.a \ 33a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar clangAST.a clangLex.a clangBasic.a 34d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 35afed099bd2e759efd4bb63fdc525d3445f94cc13Daniel Dunbarinclude $(CLANG_LEVEL)/Makefile 36d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 370740a25e9be2dd98f44a73f58cade13b1f068c6eSylvestre Ledru# Add soname to the library. 38fcd0aa1ae9068f6762661b7e954e7c558eafe613Sylvestre Ledruifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD)) 39fa3d81ca3cfe064bbbcae9be93a215bc8f5ba906Sylvestre Ledru LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) 400740a25e9be2dd98f44a73f58cade13b1f068c6eSylvestre Ledruendif 410740a25e9be2dd98f44a73f58cade13b1f068c6eSylvestre Ledru 42176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesifeq ($(ENABLE_CLANG_ARCMT),1) 43176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines CXX.Flags += -DCLANG_ENABLE_ARCMT 44176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesendif 45176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 46d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek##===----------------------------------------------------------------------===## 47d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek# FIXME: This is copied from the 'lto' makefile. Should we share this? 48d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek##===----------------------------------------------------------------------===## 49d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek 50d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenekifeq ($(HOST_OS),Darwin) 5157b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar LLVMLibsOptions += -Wl,-compatibility_version,1 5257b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar 5357b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar # Set dylib internal version number to submission number. 54d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek ifdef LLVM_SUBMIT_VERSION 5557b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar LLVMLibsOptions += -Wl,-current_version \ 5657b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar -Wl,$(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION) 57d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek endif 5857b5b4aee9f8e0bc20e142250a3109ed2e057b45Daniel Dunbar 59731a26202db4251ce9f98e64bed8ee257c46eb61Bill Wendling # If we're doing an Apple-style build, add the LTO object path. 60778749aa7c2ed73ffeb60065dc015ed62127c8e1Bill Wendling ifeq ($(RC_XBS),YES) 61d34eca2a5b54d36c196b4f663f397fc6ea583b9bBill Wendling TempFile := $(shell mkdir -p ${OBJROOT}/dSYMs ; mktemp ${OBJROOT}/dSYMs/clang-lto.XXXXXX) 621880039e2b9faece69d64bab8b57dbeaf09cf643Bill Wendling LLVMLibsOptions += -Wl,-object_path_lto -Wl,$(TempFile) 63731a26202db4251ce9f98e64bed8ee257c46eb61Bill Wendling endif 64d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenekendif 65