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)
 |