1##===- runtime/libprofile/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
10LEVEL = ../..
11include $(LEVEL)/Makefile.config
12
13ifneq ($(strip $(LLVMCC)),)
14BYTECODE_LIBRARY = 1
15endif
16LIBRARYNAME = profile_rt
17LINK_LIBS_IN_SHARED = 1
18SHARED_LIBRARY = 1
19EXTRA_DIST = libprofile.exports
20EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/libprofile.exports
21
22# Build and install this archive.                                                                                                                  
23BUILD_ARCHIVE = 1
24override NO_INSTALL_ARCHIVES =
25
26include $(LEVEL)/Makefile.common
27
28ifeq ($(HOST_OS),Darwin)
29    # Special hack to allow libprofile_rt to have an offset version number.
30    PROFILE_RT_LIBRARY_VERSION := $(LLVM_SUBMIT_VERSION)
31
32    # Set dylib internal version number to llvmCore submission number.
33    ifdef LLVM_SUBMIT_VERSION
34        LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \
35                        -Wl,$(PROFILE_RT_LIBRARY_VERSION).$(LLVM_SUBMIT_SUBVERSION) \
36                        -Wl,-compatibility_version -Wl,1
37    endif
38    # Extra options to override libtool defaults.
39    LLVMLibsOptions    := $(LLVMLibsOptions)  \
40                         -Wl,-dead_strip \
41                         -Wl,-seg1addr -Wl,0xE0000000 
42
43    # Mac OS X 10.4 and earlier tools do not allow a second -install_name on
44    # command line.
45    DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/')
46    ifneq ($(DARWIN_VERS),8)
47       LLVMLibsOptions    := $(LLVMLibsOptions) \
48                            -Wl,-install_name \
49                            -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)"
50    endif
51
52    # If we're doing an Apple-style build, add the LTO object path.
53    ifeq ($(RC_BUILDIT),YES)
54       TempFile           := $(shell mkdir -p ${OBJROOT}/dSYMs ; mktemp ${OBJROOT}/dSYMs/profile_rt-lto.XXXXXX)
55       LLVMLibsOptions    := $(LLVMLibsOptions) \
56                             -Wl,-object_path_lto -Wl,$(TempFile)
57    endif
58endif
59