Makefile revision dcd158af278ec19be6d608acb4e358d36903c86f
1436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov##===- tools/lto/Makefile ----------------------------------*- Makefile -*-===## 2436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 3436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# The LLVM Compiler Infrastructure 4436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 5436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# This file is distributed under the University of Illinois Open Source 6436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# License. See LICENSE.TXT for details. 7436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# 8436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov##===----------------------------------------------------------------------===## 9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovLEVEL = ../.. 11436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovLIBRARYNAME = LTO 12436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 13436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Include this here so we can get the configuration of the targets 14436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# that have been configured for construction. We have to do this 15436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# early so we can set up LINK_COMPONENTS before including Makefile.rules 16436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovinclude $(LEVEL)/Makefile.config 17436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 18436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovLINK_LIBS_IN_SHARED = 1 19436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovSHARED_LIBRARY = 1 20436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovDONT_BUILD_RELINKED = 1 21436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 22436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovLINK_COMPONENTS := $(TARGETS_TO_BUILD) ipo scalaropts linker bitreader bitwriter 23436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 24436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovinclude $(LEVEL)/Makefile.common 25436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 26436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovifeq ($(OS),Darwin) 27436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov # set dylib internal version number to llvmCore submission number 28436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov ifdef LLVM_SUBMIT_VERSION 29436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \ 30436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov -Wl,$(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION) \ 31436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov -Wl,-compatibility_version -Wl,1 32436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov endif 33436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov # extra options to override libtool defaults 34436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov LLVMLibsOptions := $(LLVMLibsOptions) \ 35436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov -no-undefined -avoid-version \ 36436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov -Wl,-exported_symbols_list -Wl,$(PROJ_SRC_DIR)/lto.exports \ 37436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov -Wl,-dead_strip \ 38436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov -Wl,-seg1addr -Wl,0xE0000000 39436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 40436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line 41436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') 42436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov ifneq ($(DARWIN_VERS),8) 43436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov LLVMLibsOptions := $(LLVMLibsOptions) \ 44436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov -Wl,-install_name \ 45436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" 46436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov endif 47436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovendif 48436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov