Makefile revision a89cfd23c45708e87bfd3bb1d345a058a4d93a9b
13ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar##===- tools/lto/Makefile ----------------------------------*- Makefile -*-===## 23ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# 33ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# The LLVM Compiler Infrastructure 43ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# 53ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# This file is distributed under the University of Illinois Open Source 63ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# License. See LICENSE.TXT for details. 73ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# 83ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar##===----------------------------------------------------------------------===## 93ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 101eb4e64eed08837b85a375d6a953503daa844f07Daniel DunbarLEVEL = ../.. 111eb4e64eed08837b85a375d6a953503daa844f07Daniel DunbarLIBRARYNAME = LTO 123ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 133ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel DunbarEXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/lto.exports 143ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 153ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# Include this here so we can get the configuration of the targets 163ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar# that have been configured for construction. We have to do this 172c6f6f3c170502c5b810102cf85f05732a2aa9d0Daniel Dunbar# early so we can set up LINK_COMPONENTS before including Makefile.rules 182c6f6f3c170502c5b810102cf85f05732a2aa9d0Daniel Dunbarinclude $(LEVEL)/Makefile.config 192c6f6f3c170502c5b810102cf85f05732a2aa9d0Daniel Dunbar 20510d73200ec48496a2b10703385fe99b51e31fa5Daniel DunbarLINK_LIBS_IN_SHARED = 1 213ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel DunbarSHARED_LIBRARY = 1 22dd98e2cad165ca73c769e4f105a4e47c2216387aDaniel Dunbar 238f25c79e59d88df41c5a3cabba1c58035d384a6eDaniel DunbarLINK_COMPONENTS := $(TARGETS_TO_BUILD) ipo scalaropts linker bitreader \ 248f25c79e59d88df41c5a3cabba1c58035d384a6eDaniel Dunbar bitwriter mcdisassembler 254ad4b3ebbe5769143389dccfcfadb666a4ba5940Daniel Dunbar 26365c02f65be026f90e67a8e00e7b827cee60e228Daniel Dunbarinclude $(LEVEL)/Makefile.common 273ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 284ad4b3ebbe5769143389dccfcfadb666a4ba5940Daniel Dunbarifdef LLVM_VERSION_INFO 291b3bb6efc59a21f794b534078f9ae7e95393f510Daniel DunbarCXX.Flags += -DLLVM_VERSION_INFO='"$(LLVM_VERSION_INFO)"' 303ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbarendif 31510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar 32510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbarifeq ($(HOST_OS),Darwin) 33510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar # Special hack to allow libLTO to have an offset version number. 34510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar ifdef LLVM_LTO_VERSION_OFFSET 35510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar LTO_LIBRARY_VERSION := $(shell expr $(LLVM_SUBMIT_VERSION) + \ 36510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar $(LLVM_LTO_VERSION_OFFSET)) 37510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar else 38510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar LTO_LIBRARY_VERSION := $(LLVM_SUBMIT_VERSION) 39510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar endif 40510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar 41510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar # set dylib internal version number to llvmCore submission number 42510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar ifdef LLVM_SUBMIT_VERSION 43510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \ 44510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar -Wl,$(LTO_LIBRARY_VERSION).$(LLVM_SUBMIT_SUBVERSION) \ 45510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar -Wl,-compatibility_version -Wl,1 46510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar endif 47510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar # extra options to override libtool defaults 48510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar LLVMLibsOptions := $(LLVMLibsOptions) \ 49510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar -Wl,-dead_strip \ 50510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar -Wl,-seg1addr -Wl,0xE0000000 51510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar 52510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line 53510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') 54510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar ifneq ($(DARWIN_VERS),8) 55510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar LLVMLibsOptions := $(LLVMLibsOptions) \ 56510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar -Wl,-install_name \ 57510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" 58510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar endif 59510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbarendif 60510d73200ec48496a2b10703385fe99b51e31fa5Daniel Dunbar