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.
		
		
		
		
		
			
		
			
				
					
					
						
							117 lines
						
					
					
						
							4.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							117 lines
						
					
					
						
							4.5 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. | |
|  | |
| # default target | |
| default_tbbproxy: tbbproxy tbbproxy_test | |
| 
 | |
| tbb_root ?= $(TBBROOT) | |
| BUILDING_PHASE=1 | |
| include $(tbb_root)/build/common.inc | |
| DEBUG_SUFFIX=$(findstring _debug,_$(cfg)) | |
| 
 | |
| PROXY_ROOT ?= $(tbb_root)/src/tbbproxy | |
| PROXY_SOURCE_ROOT ?= $(PROXY_ROOT) | |
| 
 | |
| VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/test | |
| VPATH += $(PROXY_ROOT) $(PROXY_SOURCE_ROOT) | |
| 
 | |
| CPLUS_FLAGS += $(DEFINE_KEY)__TBB_DLL_NAME=$(TBB.DLL) | |
| CPLUS_FLAGS += $(DEFINE_KEY)__TBB_LST=$(TBB.LST) | |
| CPLUS_FLAGS += $(foreach dir,$(VPATH),$(INCLUDE_KEY)$(dir)) | |
| CPLUS_FLAGS += $(PIC_KEY) | |
| 
 | |
| include $(tbb_root)/build/common_rules.inc | |
| 
 | |
| #------------------------------------------------------ | |
| # Define rules for making the TBB Proxy static library. | |
| #------------------------------------------------------ | |
|  | |
| # Object files that make up TBB Proxy | |
| PROXY_CPLUS.OBJ = tbbproxy.$(OBJ) | |
| PROXY_ASM.OBJ   = tbbproxy-asm.$(OBJ) | |
| PROXY.OBJ := $(PROXY_CPLUS.OBJ) $(PROXY_ASM.OBJ) | |
| 
 | |
| # Not using intrinsics prevents undesired dependence from ICL libraries (e.g. libirc). | |
| # Not using default libs prevents link issues caused by different CRT versions in tbbproxy and in an app. | |
| $(PROXY.OBJ): CPLUS_FLAGS += $(DEFINE_KEY)ARCH_$(arch) $(DEFINE_KEY)OS_$(tbb_os) $(NOINTRINSIC_KEY) $(NODEFAULTLIB_KEY) | |
| 
 | |
| $(PROXY_CPLUS.OBJ): CPLUS_FLAGS+=$(if $(filter windows.%cl,$(tbb_os).$(compiler)),/Fdtbbproxy$(DEBUG_SUFFIX).pdb) | |
| $(PROXY_CPLUS.OBJ): %.$(OBJ): %.cpp | |
| 	$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(INCLUDES) $< | |
| 
 | |
| $(PROXY.LIB): $(PROXY.OBJ) | |
| 	$(AR) $(AR_FLAGS) $(AR_OUTPUT_KEY)$@ $^ | |
| 
 | |
| .PRECIOUS : %.$(ASMEXT) | |
| tbbproxy-asm.$(ASMEXT) : tbbproxy-$(tbb_os).$(ASMEXT) $(TBB.LST) $(TBB-OBJECTS.LST) | |
| 	$(CPLUS) $(PREPROC_ONLY) $< $(INCLUDES) $(CPLUS_FLAGS) > $@ | |
| 
 | |
| .PHONY: tbbproxy | |
| ifeq (windows,$(tbb_os)) | |
| tbbproxy: $(PROXY.LIB) | |
| else | |
| tbbproxy: | |
| endif | |
| 
 | |
| #------------------------------------------------------ | |
| # End of rules for making the TBB Proxy static library | |
| #------------------------------------------------------ | |
|  | |
| #------------------------------------------------------ | |
| # Define rules for making the TBB Proxy unit tests | |
| #------------------------------------------------------ | |
|  | |
| add_debug=$(basename $(1))_debug$(suffix $(1)) | |
| cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1)) | |
| 
 | |
| PROXY_LIB        = $(call cross_suffix,$(PROXY.LIB)) | |
| PROXY_TESTS_SRCS = test_runtime_loader.cpp | |
| PROXY_TESTS_OBJS = $(PROXY_TESTS_SRCS:.cpp=.$(OBJ)) | |
| PROXY_TESTS_EXES = $(PROXY_TESTS_OBJS:.$(OBJ)=.$(TEST_EXT)) | |
| 
 | |
| # Run rules. | |
| .PHONY: tbbproxy_test | |
| ifeq (windows,$(tbb_os)) | |
| tbbproxy_test: $(call cross_suffix,$(PROXY.LIB)) $(TEST_PREREQUISITE) $(PROXY_TESTS_EXES) | |
| 	$(run_cmd) ./test_runtime_loader.$(TEST_EXT) $(args) | |
| else | |
| tbbproxy_test: | |
| endif | |
| 
 | |
| # Link rules. | |
| $(PROXY_TESTS_EXES): %.$(TEST_EXT): %.$(OBJ) $(PROXY_LIB) | |
| 	$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(PROXY_LIB) $(LIBS) $(LIBDL) $(LINK_FLAGS) | |
| 
 | |
| # Compilation rules. | |
| $(PROXY_TESTS_OBJS): %.$(OBJ): %.cpp | |
| 	$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $(OUTPUT_KEY)$@ $< | |
| 
 | |
| #------------------------------------------------------ | |
| # End of rules for making the TBB Proxy unit tests | |
| #------------------------------------------------------ | |
|  | |
| # Include automatically generated dependences | |
| -include *.d
 |