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.
		
		
		
		
		
			
		
			
				
					
					
						
							134 lines
						
					
					
						
							4.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							134 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. | |
|  | |
| #------------------------------------------------------------------------------ | |
| # Define rules for making the TBB shared library. | |
| #------------------------------------------------------------------------------ | |
|  | |
| tbb_root ?= "$(TBBROOT)" | |
| BUILDING_PHASE=1 | |
| include $(tbb_root)/build/common.inc | |
| DEBUG_SUFFIX=$(findstring _debug,_$(cfg)) | |
| 
 | |
| #------------------------------------------------------------ | |
| # Define static pattern rules dealing with .cpp source files | |
| #------------------------------------------------------------ | |
| $(warning CONFIG: cfg=$(cfg) arch=$(arch) compiler=$(compiler) os=$(tbb_os) runtime=$(runtime)) | |
| 
 | |
| default_tbb: $(TBB.DLL) | |
| .PHONY: default_tbb tbbvars clean | |
| .PRECIOUS: %.$(OBJ) | |
| 
 | |
| VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/old $(tbb_root)/src/rml/client | |
| 
 | |
| CPLUS_FLAGS += $(PIC_KEY) $(DEFINE_KEY)__TBB_BUILD=1 | |
| 
 | |
| # A template to switch off strict-ansi for certain compilation units | |
| # ifeq (1,$(TBB_NOSTRICT)) | |
| # KNOWN_NOSTRICT = <object-file-name> | |
| # endif | |
|  | |
| # suppress warnings for build of itt_notify by GCC3 | |
| ifneq (,$(findstring gcc_cc3., $(compiler)_$(runtime))) | |
| KNOWN_WARNINGS += itt_notify.$(OBJ) | |
| endif | |
| 
 | |
| # Object files (that were compiled from C++ code) that gmake up TBB | |
| TBB_CPLUS.OBJ = concurrent_hash_map.$(OBJ) \ | |
| 		concurrent_queue.$(OBJ) \ | |
| 		concurrent_vector.$(OBJ) \ | |
| 		dynamic_link.$(OBJ) \ | |
| 		itt_notify.$(OBJ) \ | |
| 		cache_aligned_allocator.$(OBJ) \ | |
| 		pipeline.$(OBJ) \ | |
| 		queuing_mutex.$(OBJ) \ | |
| 		queuing_rw_mutex.$(OBJ) \ | |
| 		reader_writer_lock.$(OBJ) \ | |
| 		spin_rw_mutex.$(OBJ) \ | |
| 		spin_mutex.$(OBJ) \ | |
| 		critical_section.$(OBJ) \ | |
| 		task.$(OBJ) \ | |
| 		tbb_misc.$(OBJ) \ | |
| 		tbb_misc_ex.$(OBJ) \ | |
| 		mutex.$(OBJ) \ | |
| 		recursive_mutex.$(OBJ) \ | |
| 		condition_variable.$(OBJ) \ | |
| 		tbb_thread.$(OBJ) \ | |
| 		concurrent_monitor.$(OBJ) \ | |
| 		semaphore.$(OBJ) \ | |
| 		private_server.$(OBJ) \ | |
| 		rml_tbb.$(OBJ) \ | |
| 		task_group_context.$(OBJ) \ | |
| 		governor.$(OBJ) \ | |
| 		market.$(OBJ) \ | |
| 		arena.$(OBJ) \ | |
| 		scheduler.$(OBJ) \ | |
| 		observer_proxy.$(OBJ) \ | |
| 		tbb_statistics.$(OBJ) \ | |
| 		tbb_main.$(OBJ) | |
| 
 | |
| # OLD/Legacy object files for backward binary compatibility | |
| ifeq (,$(findstring $(DEFINE_KEY)TBB_NO_LEGACY,$(CPLUS_FLAGS))) | |
| TBB_CPLUS_OLD.OBJ = \ | |
| 		concurrent_vector_v2.$(OBJ) \ | |
| 		concurrent_queue_v2.$(OBJ) \ | |
| 		spin_rw_mutex_v2.$(OBJ) \ | |
| 		task_v2.$(OBJ) | |
| endif | |
| 
 | |
| # Object files that gmake up TBB (TBB_ASM.OBJ is platform-specific) | |
| TBB.OBJ = $(TBB_CPLUS.OBJ) $(TBB_CPLUS_OLD.OBJ) $(TBB_ASM.OBJ) | |
| 
 | |
| # Suppress superfluous warnings for TBB compilation | |
| WARNING_KEY += $(WARNING_SUPPRESS) | |
| 
 | |
| include $(tbb_root)/build/common_rules.inc | |
| 
 | |
| ifneq (,$(TBB.DEF)) | |
| tbb.def: $(TBB.DEF) $(TBB.LST) | |
| 	$(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@ | |
| 
 | |
| LIB_LINK_FLAGS += $(EXPORT_KEY)tbb.def | |
| $(TBB.DLL): tbb.def | |
| endif | |
| 
 | |
| tbbvars.sh: | |
| 	$(MAKE_TBBVARS) | |
| 
 | |
| $(TBB.DLL): BUILDING_LIBRARY = $(TBB.DLL) | |
| $(TBB.DLL): $(TBB.OBJ) $(TBB.RES) tbbvars.sh $(TBB_NO_VERSION.DLL) | |
| 	$(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(TBB.DLL) $(TBB.OBJ) $(TBB.RES) $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS) | |
| 
 | |
| ifneq (,$(TBB_NO_VERSION.DLL)) | |
| $(TBB_NO_VERSION.DLL): | |
| 	echo "INPUT ($(TBB.DLL))" > $(TBB_NO_VERSION.DLL) | |
| endif | |
| 
 | |
| #clean: | |
| #	$(RM) *.$(OBJ) *.$(DLL) *.res *.map *.ilk *.pdb *.exp *.manifest *.tmp *.d core core.*[0-9][0-9] *.ver | |
|  | |
| # Include automatically generated dependences | |
| -include *.d
 |