1 2rule SetupObjectsDir 3{ 4 local relPath = [ FDirName $(SUBDIR_TOKENS[2-]) ] ; 5 COMMON_PLATFORM_LOCATE_TARGET = 6 [ FDirName $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) $(relPath) ] ; 7 8 local var ; 9 for var in COMMON_ARCH COMMON_DEBUG DEBUG_$(HAIKU_DEBUG_LEVELS) { 10 HOST_$(var)_LOCATE_TARGET 11 = [ FDirName $(HOST_$(var)_OBJECT_DIR) $(relPath) ] ; 12 TARGET_$(var)_LOCATE_TARGET 13 = [ FDirName $(TARGET_$(var)_OBJECT_DIR) $(relPath) ] ; 14 } 15 16 LOCATE_TARGET = $(COMMON_PLATFORM_LOCATE_TARGET) ; 17 LOCATE_SOURCE = $(LOCATE_TARGET) ; 18 SEARCH_SOURCE = $(SUBDIR) $(LOCATE_SOURCE) 19 $(HOST_COMMON_DEBUG_LOCATE_TARGET) # Also add the standard output 20 $(TARGET_COMMON_DEBUG_LOCATE_TARGET) # dirs for generated sources. 21 ; 22} 23 24rule SubIncludeGPL 25{ 26 # SubInclude rule that can be used to conditionally include GPL licensed 27 # add-ons 28 if $(INCLUDE_GPL_ADDONS) = 1 { 29 SubInclude $(1) ; 30 } 31} 32 33rule MakeLocateCommonPlatform 34{ 35 MakeLocate $(1) : $(COMMON_PLATFORM_LOCATE_TARGET) ; 36} 37 38rule MakeLocatePlatform 39{ 40 local files = $(1) ; 41 local file ; 42 for file in $(files) { 43 if [ on $(file) return $(PLATFORM) ] = host { 44 MakeLocate $(file) : $(HOST_COMMON_ARCH_LOCATE_TARGET) ; 45 } else { 46 MakeLocate $(file) : $(TARGET_COMMON_ARCH_LOCATE_TARGET) ; 47 } 48 } 49} 50 51rule MakeLocateArch 52{ 53 local files = $(1) ; 54 local file ; 55 for file in $(files) { 56 if [ on $(file) return $(PLATFORM) ] = host { 57 MakeLocate $(file) : $(HOST_COMMON_DEBUG_LOCATE_TARGET) ; 58 } else { 59 MakeLocate $(file) : $(TARGET_COMMON_DEBUG_LOCATE_TARGET) ; 60 } 61 } 62} 63 64rule MakeLocateDebug 65{ 66 local files = $(1) ; 67 local file ; 68 for file in $(files) { 69 on $(file) { 70 if $(PLATFORM) = host { 71 MakeLocate $(file) : $(HOST_DEBUG_$(DEBUG)_LOCATE_TARGET) ; 72 } else { 73 MakeLocate $(file) : $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) ; 74 } 75 } 76 } 77} 78 79