You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							141 lines
						
					
					
						
							4.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							141 lines
						
					
					
						
							4.7 KiB
						
					
					
				
								# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
							 | 
						|
								#
							 | 
						|
								# This file is part of Threading Building Blocks.
							 | 
						|
								#
							 | 
						|
								# Threading Building Blocks is free software; you can redistribute it
							 | 
						|
								# and/or modify it under the terms of the GNU General Public License
							 | 
						|
								# version 2 as published by the Free Software Foundation.
							 | 
						|
								#
							 | 
						|
								# Threading Building Blocks is distributed in the hope that it will be
							 | 
						|
								# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
							 | 
						|
								# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						|
								# GNU General Public License for more details.
							 | 
						|
								#
							 | 
						|
								# You should have received a copy of the GNU General Public License
							 | 
						|
								# along with Threading Building Blocks; if not, write to the Free Software
							 | 
						|
								# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
							 | 
						|
								#
							 | 
						|
								# As a special exception, you may use this file as part of a free software
							 | 
						|
								# library without restriction.  Specifically, if other files instantiate
							 | 
						|
								# templates or use macros or inline functions from this file, or you compile
							 | 
						|
								# this file and link it with other files to produce an executable, this
							 | 
						|
								# file does not by itself cause the resulting executable to be covered by
							 | 
						|
								# the GNU General Public License.  This exception does not however
							 | 
						|
								# invalidate any other reasons why the executable file might be covered by
							 | 
						|
								# the GNU General Public License.
							 | 
						|
								
							 | 
						|
								####### Detections and Commands ###############################################
							 | 
						|
								
							 | 
						|
								ifeq (icc,$(compiler))
							 | 
						|
								  export COMPILER_VERSION := ICC: $(shell icc -V </dev/null 2>&1 | grep 'Version')
							 | 
						|
								  ifneq (,$(findstring IA-32, $(COMPILER_VERSION)))
							 | 
						|
								    export arch:=ia32
							 | 
						|
								  endif
							 | 
						|
								  ifneq (,$(findstring Intel(R) 64, $(COMPILER_VERSION)))
							 | 
						|
								    export arch:=intel64
							 | 
						|
								  endif
							 | 
						|
								  ifneq (,$(findstring IA-64, $(COMPILER_VERSION)))
							 | 
						|
								    export arch:=ia64
							 | 
						|
								  endif
							 | 
						|
								  ifeq (,$(arch))
							 | 
						|
								    $(warning "Unknown Intel compiler")
							 | 
						|
								  endif
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								ifndef arch
							 | 
						|
								        uname_m:=$(shell uname -m)
							 | 
						|
								        ifeq ($(uname_m),i686)
							 | 
						|
								                export arch:=ia32
							 | 
						|
								        endif
							 | 
						|
								        ifeq ($(uname_m),ia64)
							 | 
						|
								                export arch:=ia64
							 | 
						|
								        endif
							 | 
						|
								        ifeq ($(uname_m),x86_64)
							 | 
						|
								                export arch:=intel64
							 | 
						|
								        endif
							 | 
						|
								        ifeq ($(uname_m),sparc64)
							 | 
						|
								                export arch:=sparc
							 | 
						|
								        endif
							 | 
						|
								        ifndef arch
							 | 
						|
								                export arch:=$(uname_m)
							 | 
						|
								        endif
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								ifndef runtime
							 | 
						|
								        gcc_version = $(shell gcc -dumpversion)
							 | 
						|
								        os_version:=$(shell uname -r)
							 | 
						|
								        os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
							 | 
						|
								        export os_glibc_version_full:=$(shell getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //')
							 | 
						|
								        os_glibc_version:=$(shell echo "$(os_glibc_version_full)" | sed -e '2,$$d' -e 's/-.*$$//')
							 | 
						|
								        export runtime:=cc$(gcc_version)_libc$(os_glibc_version)_kernel$(os_kernel_version)
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								native_compiler := gcc
							 | 
						|
								export compiler ?= gcc
							 | 
						|
								debugger ?= gdb
							 | 
						|
								
							 | 
						|
								CMD=sh -c
							 | 
						|
								CWD=$(shell pwd)
							 | 
						|
								CP=cp
							 | 
						|
								RM?=rm -f
							 | 
						|
								RD?=rmdir
							 | 
						|
								MD?=mkdir -p
							 | 
						|
								NUL= /dev/null
							 | 
						|
								SLASH=/
							 | 
						|
								MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
							 | 
						|
								MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
							 | 
						|
								
							 | 
						|
								ifdef LD_LIBRARY_PATH
							 | 
						|
								        export LD_LIBRARY_PATH := .:$(LD_LIBRARY_PATH)
							 | 
						|
								else
							 | 
						|
								        export LD_LIBRARY_PATH := .
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								####### Build settings ########################################################
							 | 
						|
								
							 | 
						|
								OBJ = o
							 | 
						|
								DLL = so
							 | 
						|
								LIBEXT = so
							 | 
						|
								SONAME_SUFFIX =$(shell grep TBB_COMPATIBLE_INTERFACE_VERSION $(tbb_root)/include/tbb/tbb_stddef.h | egrep -o [0-9.]+)
							 | 
						|
								
							 | 
						|
								ifeq ($(arch),ia64)
							 | 
						|
								        def_prefix = lin64ipf
							 | 
						|
								endif
							 | 
						|
								ifeq ($(arch),sparc)
							 | 
						|
								        def_prefix = lin64
							 | 
						|
								endif
							 | 
						|
								ifeq (,$(def_prefix))
							 | 
						|
								    ifeq (64,$(findstring 64,$(arch)))
							 | 
						|
								            def_prefix = lin64
							 | 
						|
								    else
							 | 
						|
								            def_prefix = lin32
							 | 
						|
								    endif
							 | 
						|
								endif
							 | 
						|
								TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst
							 | 
						|
								TBB.DEF = $(TBB.LST:.lst=.def)
							 | 
						|
								
							 | 
						|
								TBB.DLL = $(TBB_NO_VERSION.DLL).$(SONAME_SUFFIX)
							 | 
						|
								TBB.LIB = $(TBB.DLL)
							 | 
						|
								TBB_NO_VERSION.DLL=libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
							 | 
						|
								LINK_TBB.LIB = $(TBB_NO_VERSION.DLL)
							 | 
						|
								
							 | 
						|
								MALLOC_NO_VERSION.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
							 | 
						|
								MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def
							 | 
						|
								MALLOC.DLL = $(MALLOC_NO_VERSION.DLL).$(SONAME_SUFFIX)
							 | 
						|
								MALLOC.LIB = $(MALLOC_NO_VERSION.DLL)
							 | 
						|
								LINK_MALLOC.LIB = $(MALLOC_NO_VERSION.DLL)
							 | 
						|
								
							 | 
						|
								MALLOCPROXY_NO_VERSION.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL)
							 | 
						|
								MALLOCPROXY.DEF = $(MALLOC_ROOT)/$(def_prefix)-proxy-export.def
							 | 
						|
								MALLOCPROXY.DLL = $(MALLOCPROXY_NO_VERSION.DLL).$(SONAME_SUFFIX)
							 | 
						|
								MALLOCPROXY.LIB = $(MALLOCPROXY_NO_VERSION.DLL)
							 | 
						|
								LINK_MALLOCPROXY.LIB = $(MALLOCPROXY.LIB)
							 | 
						|
								
							 | 
						|
								RML_NO_VERSION.DLL = libirml$(DEBUG_SUFFIX).$(DLL)
							 | 
						|
								RML.DEF = $(RML_SERVER_ROOT)/lin-rml-export.def
							 | 
						|
								RML.DLL = $(RML_NO_VERSION.DLL).1
							 | 
						|
								RML.LIB = $(RML_NO_VERSION.DLL)
							 | 
						|
								
							 | 
						|
								TBB_NOSTRICT=1
							 | 
						|
								
							 | 
						|
								TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
							 |