diff options
Diffstat (limited to '')
-rw-r--r-- | solenv/gbuild/TargetLocations.mk | 447 |
1 files changed, 447 insertions, 0 deletions
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk new file mode 100644 index 000000000..801d188be --- /dev/null +++ b/solenv/gbuild/TargetLocations.mk @@ -0,0 +1,447 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +# outdir target pattern + +# these are hard-coded to URE for now since there are so few of them... +gb_CliLibrary_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliLibrary_EXT) +gb_CliNativeLibrary_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliNativeLibrary_EXT) +gb_CliUnoApi_get_target = $(INSTROOT)/$(if $(filter cli_uretypes,$(1)),$(LIBO_URE_LIB_FOLDER),$(LIBO_LIB_FOLDER))/$(1)$(gb_CliUnoApi_EXT) +gb_PackagePart_get_destinations = \ + $(INSTDIR) \ + $(WORKDIR)/unittest \ + +# kind of lame but with just 3 of these why bother with registration etc. +gb_UnoApi_get_target = $(INSTROOT)/$(if $(filter udkapi,$(1)),$(LIBO_URE_MISC_FOLDER)/types,$(LIBO_ETC_FOLDER)/types/$(1)).rdb + +# workdir target patterns + +gb_AutoInstall_get_target = $(WORKDIR)/AutoInstall/$(1) +gb_AllLangHelp_get_target = $(WORKDIR)/AllLangHelp/$(1) +gb_AllLangHelp_get_helpfiles_target = $(WORKDIR)/AllLangHelp/$(1).helpfiles +gb_AllLangPackage_get_target = $(WORKDIR)/AllLangPackage/$(1) +gb_AllLangMoTarget_get_target = $(WORKDIR)/AllLangMo/$(1) +gb_AsmObject_get_target = $(WORKDIR)/AsmObject/$(1).o +gb_AsmObject_get_dwo_target = $(WORKDIR)/AsmObject/$(1).dwo +gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o +gb_CObject_get_dwo_target = $(WORKDIR)/CObject/$(1).dwo +gb_GenCObject_get_target = $(WORKDIR)/GenCObject/$(1).o +gb_GenCObject_get_dwo_target = $(WORKDIR)/GenCObject/$(1).dwo +gb_CliAssembly_get_target = $(WORKDIR)/CliAssembly/$(1).done +gb_CliAssemblyTarget_get_target = $(WORKDIR)/CliAssemblyTarget/$(1).done +gb_CliAssemblyTarget_get_assembly_target = $(WORKDIR)/CliAssemblyTarget/$(1)$(gb_CliAssemblyTarget_POLICYEXT) +gb_CliConfigTarget_get_target = $(WORKDIR)/CliConfigTarget/$(1).config +gb_CliNativeLibrary_get_preparation_target = $(WORKDIR)/CliNativeLibraryTarget/$(1).prepare +gb_CompilerTest_get_target = $(WORKDIR)/CompilerTest/$(1) +gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component +gb_ComponentTarget_get_target_for_build = $(WORKDIR_FOR_BUILD)/ComponentTarget/$(1).component +gb_Configuration_get_preparation_target = $(WORKDIR)/Configuration/$(1).prepared +gb_CppunitTest_get_target = $(WORKDIR)/CppunitTest/$(1).test +gb_CustomPackage_get_target = $(WORKDIR)/CustomPackage/$(1).filelist +gb_CustomTarget_get_repo_target = $(WORKDIR)/CustomTarget/$(2)_$(1).done +gb_CustomTarget_get_target = $(WORKDIR)/CustomTarget/$(1).done +gb_CustomTarget_get_workdir = $(WORKDIR)/CustomTarget/$(1) +gb_DescriptionTranslateTarget_get_target = $(WORKDIR)/DescriptionTranslateTarget/$(1).xml +gb_Dictionary_get_target = $(WORKDIR)/Dictionary/$(1).done +gb_CxxObject_get_target = $(WORKDIR)/CxxObject/$(1).o +gb_CxxObject_get_dwo_target = $(WORKDIR)/CxxObject/$(1).dwo +gb_GenCxxObject_get_target = $(WORKDIR)/GenCxxObject/$(1).o +gb_GenCxxObject_get_dwo_target = $(WORKDIR)/GenCxxObject/$(1).dwo +gb_Executable_get_headers_target = $(WORKDIR)/Headers/Executable/$(1) +gb_Executable_get_runtime_target = $(WORKDIR_FOR_BUILD)/Executable/$(1).run +gb_Extension_get_target = $(WORKDIR)/Extension/$(1).oxt +gb_Extension_get_rootdir = $(WORKDIR)/Extension/$(1)/root +gb_Extension_get_workdir = $(WORKDIR)/Extension/$(1) +gb_ExtensionPackage_get_target = $(WORKDIR)/ExtensionPackage/$(1).filelist +gb_ExtensionPackage_get_preparation_target = $(WORKDIR)/ExtensionPackage/$(1).prepare +gb_ExtensionPackageSet_get_target = $(WORKDIR)/ExtensionPackage/$(1).set +gb_ExternalPackage_get_target = $(WORKDIR)/ExternalPackage/$(1) +gb_ExternalProject_get_statedir = $(WORKDIR)/ExternalProject/$(1) +gb_ExternalProject_get_preparation_target = $(WORKDIR)/ExternalProject/$(1).prepare +gb_ExternalProject_get_state_target = $(WORKDIR)/ExternalProject/$(1)/$(2) +gb_ExternalProject_get_target = $(WORKDIR)/ExternalProject/$(1).done +gb_ExternalProject_get_target_for_build = $(WORKDIR_FOR_BUILD)/ExternalProject/$(1).done +gb_Gallery_get_target = $(WORKDIR)/Gallery/$(1).done +gb_Gallery_get_workdir = $(WORKDIR)/Gallery/$(1) +gb_GeneratedPackage_get_target = $(WORKDIR)/GeneratedPackage/$(1).filelist +gb_GeneratedPackage_get_target_for_build = $(WORKDIR_FOR_BUILD)/GeneratedPackage/$(1).filelist +gb_HelpIndexTarget_get_target = $(WORKDIR)/HelpIndexTarget/$(1).done +gb_HelpJarTarget_get_target = $(WORKDIR)/HelpJarTarget/$(1).done +gb_HelpLinkTarget_get_preparation_target = $(WORKDIR)/HelpLinkTarget/$(1).prepare +gb_HelpLinkTarget_get_target = $(WORKDIR)/HelpLinkTarget/$(1).done +gb_HelpTarget_get_filelist = $(WORKDIR)/HelpTarget/$(1).filelist +gb_HelpTarget_get_linked_target = $(WORKDIR)/HelpTarget/$(1).translate +gb_HelpTarget_get_target = $(WORKDIR)/HelpTarget/$(1).zip +gb_HelpTarget_get_translation_target = $(call gb_HelpTarget_get_filelist,$(1)) +gb_HelpTarget_get_workdir = $(WORKDIR)/HelpTarget/$(1) +gb_HelpTranslatePartTarget_get_target = $(WORKDIR)/HelpTranslatePartTarget/$(1)/done +gb_HelpTranslatePartTarget_get_translated_target = $(WORKDIR)/HelpTranslatePartTarget/$(1)/$(2).xhp +gb_HelpTranslatePartTarget_get_workdir = $(WORKDIR)/HelpTranslatePartTarget/$(1) +gb_HelpTranslateTarget_get_target = $(WORKDIR)/HelpTranslateTarget/$(1).done +gb_HelpTreeTarget_get_target = $(WORKDIR)/HelpTreeTarget/$(1).tree +gb_InstallModule_get_filelist = $(call gb_InstallModuleTarget_get_filelist,$(1)) +gb_InstallModule_get_target = $(WORKDIR)/InstallModule/$(1).done +gb_InstallModuleTarget_get_external_target = $(WORKDIR)/InstallModuleTarget/$(1).external +gb_InstallModuleTarget_get_filelist = $(WORKDIR)/InstallModuleTarget/$(1).filelist +gb_InstallModuleTarget_get_target = $(WORKDIR)/InstallModuleTarget/$(1).filelist +gb_InstallScript_get_target = $(WORKDIR)/InstallScriptTarget/$(1)$(gb_InstallScript_EXT) +gb_InternalUnoApi_get_target = $(WORKDIR)/InternalUnoApi/$(1).done +gb_Jar_get_target = $(call gb_Jar_get_install_target,$(1)) +gb_Jar_get_classsetname = Jar/$(1) +gb_JavaClassSet_get_classdir = $(WORKDIR)/JavaClassSet/$(1) +gb_JavaClassSet_get_repo_target = $(WORKDIR)/JavaClassSet/$(2)/$(1).done +gb_JavaClassSet_get_target = $(WORKDIR)/JavaClassSet/$(1)/done +gb_JunitTest_get_classsetname = JunitTest/$(1) +gb_JunitTest_get_target = $(WORKDIR)/JunitTest/$(1)/done +gb_JunitTest_get_userdir = $(WORKDIR)/JunitTest/$(1)/user +gb_PythonTest_get_target = $(WORKDIR)/PythonTest/$(1)/done +gb_LinkTarget__get_workdir_linktargetname = $(firstword $(subst <>, ,$(1))) +gb_LinkTarget_get_headers_target = \ + $(WORKDIR)/Headers/$(call gb_LinkTarget__get_workdir_linktargetname,$(1)) +gb_LinkTarget_get_objects_list = \ + $(WORKDIR)/LinkTarget/$(call gb_LinkTarget__get_workdir_linktargetname,$(1)).objectlist +gb_LinkTarget_get_dep_target = \ + $(WORKDIR)/Dep/LinkTarget/$(call gb_LinkTarget__get_workdir_linktargetname,$(1)).d +gb_LinkTarget_get_clean_target = \ + $(WORKDIR)/Clean/LinkTarget/$(call gb_LinkTarget__get_workdir_linktargetname,$(1)) +gb_LinkTarget_get_target = $(lastword $(subst <>, ,$(1))) +gb_LinkTarget_get_pch_timestamp = $(WORKDIR)/PrecompiledHeader/$(call gb_PrecompiledHeader__get_debugdir,$(1))/Timestamps/$(1) +gb_LinkTarget_get_pch_reuse_timestamp = $(WORKDIR)/PrecompiledHeader/$(call gb_PrecompiledHeader__get_debugdir,$(1))/Timestamps/$(1)_reuse +gb_Module_get_nonl10n_target = $(WORKDIR)/Module/nonl10n/$(1) +gb_Module_get_l10n_target = $(WORKDIR)/Module/l10n/$(1) +gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1) +gb_Module_get_slowcheck_target = $(WORKDIR)/Module/slowcheck/$(1) +gb_Module_get_screenshot_target = $(WORKDIR)/Module/screenshot/$(1) +gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1) +gb_Module_get_stagingcheck_target = $(WORKDIR)/Module/stagingcheck/$(1) +gb_Module_get_perfcheck_target = $(WORKDIR)/Module/perfcheck/$(1) +gb_Module_get_uicheck_target = $(WORKDIR)/Module/uicheck/$(1) +gb_Module_get_target = $(WORKDIR)/Module/$(1) +gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o +gb_ObjCxxObject_get_dwo_target = $(WORKDIR)/ObjCxxObject/$(1).dwo +gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o +gb_ObjCObject_get_dwo_target = $(WORKDIR)/ObjCObject/$(1).dwo +gb_CxxClrObject_get_target = $(WORKDIR)/CxxClrObject/$(1).o +gb_CxxClrObject_get_dwo_target = $(WORKDIR)/CxxClrObject/$(1).dwo +gb_GenCxxClrObject_get_target = $(WORKDIR)/GenCxxClrObject/$(1).o +gb_GenCxxClrObject_get_dwo_target = $(WORKDIR)/GenCxxClrObject/$(1).dwo +gb_Pagein_get_target = $(WORKDIR)/Pagein/pagein-$(1) +gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1) +gb_Package_get_target = $(WORKDIR)/Package/$(1).filelist +gb_Package_get_target_for_build = $(WORKDIR_FOR_BUILD)/Package/$(1).filelist +gb_PackageSet_get_target = $(WORKDIR)/PackageSet/$(1).filelist +gb_PackageInfo_get_target = $(WORKDIR)/PackageInfo +gb_Postprocess_get_target = $(WORKDIR)/Postprocess/$(1) +gb_PrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/PrecompiledHeader/$(call gb_PrecompiledHeader__get_debugdir,$(2))/$(1).hxx$(gb_PrecompiledHeader_EXT).d +gb_PrecompiledHeader_get_dep_target_tmp = $(call gb_PrecompiledHeader_get_dep_target,$(1),$(2)).tmp +gb_PrecompiledHeader_get_for_reuse_target = $(WORKDIR)/PrecompiledHeader/$(call gb_PrecompiledHeader__get_debugdir,$(2))/$(1).hxx$(gb_PrecompiledHeader_EXT).reuse +gb_PrecompiledHeader_get_target = $(WORKDIR)/PrecompiledHeader/$(call gb_PrecompiledHeader__get_debugdir,$(2))/$(1).hxx$(gb_PrecompiledHeader_EXT) +gb_PropertiesTranslateTarget_get_target = $(WORKDIR)/PropertiesTranslateTarget/$(1).properties +gb_Pyuno_get_final_target = $(WORKDIR)/Pyuno/$(1).final +gb_Pyuno_get_target = $(WORKDIR)/Pyuno/$(1).done +gb_Rdb_get_target = $(WORKDIR)/Rdb/$(1).rdb +gb_Rdb_get_target_for_build = $(WORKDIR_FOR_BUILD)/Rdb/$(1).rdb +gb_ResTarget_get_target = $(WORKDIR)/ResTarget/$(1).res +gb_MoTarget_get_target = $(WORKDIR)/MoTarget/$(1).mo +gb_ScpMergeTarget_get_target = $(WORKDIR)/ScpMergeTarget/$(1).ulf +gb_ScpPreprocessTarget_get_target = $(WORKDIR)/ScpPreprocessTarget/$(1).pre +gb_ScpTarget_get_external_target = $(WORKDIR)/ScpTarget/$(1).external +gb_ScpTarget_get_target = $(WORKDIR)/ScpTarget/$(1).par +gb_ScpTemplateTarget_get_dir = $(abspath $(WORKDIR)/ScpTemplateTarget/$(dir $(1))) +gb_ScpTemplateTarget_get_target = $(abspath $(WORKDIR)/ScpTemplateTarget/$(dir $(1))$(subst pack,modules,$(subst module_,all,$(notdir $(1)))).inc) +gb_SdiTarget_get_target = $(WORKDIR)/SdiTarget/$(1) +gb_ThesaurusIndexTarget_get_target = $(WORKDIR)/ThesaurusIndexTarget/$(basename $(1)).idx +gb_UIConfig_get_imagelist_target = $(WORKDIR)/UIConfig/$(1).ilst +gb_UIConfig_get_a11yerrors_target = $(WORKDIR)/UIConfig/$(1).a11yerrors +gb_UIConfig_get_target = $(WORKDIR)/UIConfig/$(1).done +gb_UIImageListTarget_get_target = $(WORKDIR)/UIImageListTarget/$(1).ilst +gb_UIMenubarTarget_get_target = $(WORKDIR)/UIMenubarTarget/$(1).xml +gb_UITest_get_target = $(WORKDIR)/UITest/$(1)/done +gb_UnoApiTarget_get_target = $(WORKDIR)/UnoApiTarget/$(1).rdb +gb_UnoApiHeadersTarget_get_bootstrap_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),bootstrap) +gb_UnoApiHeadersTarget_get_comprehensive_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),comprehensive) +gb_UnoApiHeadersTarget_get_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),normal) +gb_UnoApiHeadersTarget_get_real_bootstrap_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/bootstrap +gb_UnoApiHeadersTarget_get_real_comprehensive_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/comprehensive +gb_UnoApiHeadersTarget_get_real_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/normal +gb_UnoApiHeadersTarget_get_real_bootstrap_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/bootstrap.done +gb_UnoApiHeadersTarget_get_real_comprehensive_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/comprehensive.done +gb_UnoApiHeadersTarget_get_real_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/normal.done +gb_UnoApiHeadersTarget_get_bootstrap_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),bootstrap).done +gb_UnoApiHeadersTarget_get_comprehensive_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),comprehensive).done +gb_UnoApiHeadersTarget_get_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),normal).done +gb_UnpackedTarball_get_dir = $(WORKDIR)/UnpackedTarball/$(1) +gb_UnpackedTarball_get_pristine_dir = $(WORKDIR)/UnpackedTarball/$(1).org +gb_UnpackedTarball_get_final_target = $(WORKDIR)/UnpackedTarball/$(1).update +# NOTE: the .done target is hardcoded in solenv/bin/concat-deps.c ! +gb_UnpackedTarball_get_target = $(WORKDIR)/UnpackedTarball/$(1).done +gb_UnpackedTarball_get_preparation_target = $(WORKDIR)/UnpackedTarball/$(1).prepare +gb_UnpackedTarget_get_target = $(WORKDIR)/UnpackedTarget/$(1) +gb_WinResTarget_get_target = $(WORKDIR)/WinResTarget/$(1)$(gb_WinResTarget_POSTFIX) +# workdir targets: $(1) is prefix/path +gb_Configuration_get_target = $(WORKDIR)/Configuration/$(1).done +gb_YaccTarget_get_grammar_target = $(WORKDIR)/YaccTarget/$(1).cxx +gb_YaccTarget_get_header_target = $(WORKDIR)/YaccTarget/$(1).hxx +gb_YaccTarget_get_target = $(WORKDIR)/YaccTarget/$(1).done + +gb_LexTarget_get_scanner_target = $(WORKDIR)/LexTarget/$(1).cxx +gb_LexTarget_get_target = $(WORKDIR)/LexTarget/$(1).done + +gb_XcdTarget_get_target = $(WORKDIR)/XcdTarget/$(1) +gb_XcsTarget_get_target = $(WORKDIR)/XcsTarget$(if $(1),/)$(1) +gb_XcuDataTarget_get_target = $(WORKDIR)/XcuDataTarget/$(1) +gb_XcuFilterFiltersTarget_get_target = $(WORKDIR)/XcuFilterFiltersTarget/$(1) +gb_XcuFilterInternalTarget_get_target = $(WORKDIR)/XcuFilterInternalTarget/$(1) +gb_XcuFilterOthersTarget_get_target = $(WORKDIR)/XcuFilterOthersTarget/$(1) +gb_XcuFilterTypesTarget_get_target = $(WORKDIR)/XcuFilterTypesTarget/$(1) +gb_XcuLangpackTarget_get_target = $(WORKDIR)/XcuLangpackTarget/$(1) +gb_XcuModuleTarget_get_target = $(WORKDIR)/XcuModuleTarget/$(1) +gb_XcuMergeTarget_get_target = $(WORKDIR)/XcuMergeTarget/$(1) +gb_XcuResTarget_get_target = $(WORKDIR)/XcuResTarget/$(1) +gb_Zip_get_target = $(WORKDIR)/Zip/$(1).zip + +define gb_Library_get_exports_target +$(WORKDIR)/LinkTarget/$(call gb_Library__get_workdir_linktargetname,$(1)).exports +endef + +define gb_Library_get_versionlink_target +$(call gb_Library_get_sdk_link_dir)/$(basename $(call gb_Library_get_filename,$(1))) +endef + +define gb_Library_get_headers_target +$(patsubst $(1):%,$(WORKDIR)/Headers/Library/%,$(filter $(1):%,$(gb_Library_FILENAMES))) +endef + +define gb_StaticLibrary_get_headers_target +$(WORKDIR)/Headers/StaticLibrary/$(call gb_StaticLibrary_get_filename,$(1)) +endef + +$(eval $(call gb_Helper_make_clean_targets,\ + AutoInstall \ + AllLangHelp \ + AllLangPackage \ + AllLangMoTarget \ + CliAssembly \ + CliAssemblyTarget \ + CliConfigTarget \ + CliLibrary \ + CliNativeLibrary \ + CliUnoApi \ + CompilerTest \ + ComponentTarget \ + CustomPackage \ + DescriptionTranslateTarget \ + Dictionary \ + Executable \ + ExternalPackage \ + Extension \ + ExtensionPackage \ + ExtensionPackageSet \ + Gallery \ + GeneratedPackage \ + HelpTarget \ + HelpIndexTarget \ + HelpJarTarget \ + HelpLinkTarget \ + HelpTranslatePartTarget \ + HelpTranslateTarget \ + HelpTreeTarget \ + InstallModule \ + InstallModuleTarget \ + InstallScript \ + InternalUnoApi \ + JavaClassSet \ + Jar \ + JunitTest \ + Library \ + Module \ + PackagePart \ + Package \ + PackageSet \ + Pagein \ + Postprocess \ + PrecompiledHeader \ + PropertiesTranslateTarget \ + Pyuno \ + PythonTest \ + Rdb \ + ResTarget \ + ScpMergeTarget \ + ScpPreprocessTarget \ + ScpTarget \ + ScpTemplateTarget \ + SdiTarget \ + StaticLibrary \ + ThesaurusIndexTarget \ + CppunitTest \ + CppunitTestFakeExecutable \ + CustomTarget \ + ExternalProject \ + UIConfig \ + UIImageListTarget \ + UIMenubarTarget \ + UITest \ + UnoApi \ + UnoApiHeadersTarget \ + UnoApiTarget \ + UnpackedTarball \ + UnpackedTarget \ + WinResTarget \ + YaccTarget \ + LexTarget \ + Zip \ + XcsTarget \ + XcuDataTarget \ + XcuModuleTarget \ + XcuLangpackTarget \ + XcuMergeTarget \ + XcuResTarget \ + Configuration \ +)) + +$(eval $(call gb_Helper_make_dep_targets,\ + CObject \ + CxxObject \ + ObjCObject \ + ObjCxxObject \ + CxxClrObject \ + AsmObject \ + GenCObject \ + GenCxxObject \ + GenCxxClrObject \ + SdiTarget \ +)) + +# other getters + +define gb_Library_get_layer +$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_LAYER))) +endef + +define gb_Executable_get_layer +$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_LAYER))) +endef + +define gb_Library_get_filename +$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_FILENAMES))) +endef + +define gb_Executable_get_filename +$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_FILENAMES))) +endef + +define gb_Executable_get_filename_for_build +$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_FILENAMES_FOR_BUILD))) +endef + +# Get dependencies needed for running the executable +# +# This is not strictly necessary, but it makes the use more similar to +# ExternalExecutable. +# +# gb_Executable_get_runtime_dependencies executable +define gb_Executable_get_runtime_dependencies +$(call gb_Executable_get_runtime_target,$(1)) +endef + +# Get complete command-line for running the executable +# +# This includes setting library path. +# +# gb_Executable_get_command executable +define gb_Executable_get_command +$(gb_Helper_set_ld_path) $(BUILDTOOLTRACE) $(2) $(call gb_Executable_get_target_for_build,$(1)) +endef + +define gb_Executable__get_workdir_linktargetname +Executable/$(call gb_Executable_get_filename,$(1)) +endef +define gb_Executable_get_target +$(call gb_Executable__get_dir_for_exe,$(1))/$(call gb_Executable_get_filename,$(1)) +endef +ifneq ($(CROSS_COMPILING),) +# Can we assume this is used only for executables registered for "NONE"? +define gb_Executable_get_target_for_build +$(call gb_Executable__get_dir_for_exe_for_build,$(1))/$(call gb_Executable_get_filename_for_build,$(1)) +endef +else +gb_Executable_get_target_for_build = $(gb_Executable_get_target) +endif # CROSS_COMPILING +define gb_Executable_get_linktarget +$(call gb_Executable__get_workdir_linktargetname,$(1))<>$(call gb_Executable_get_target,$(1)) +endef + +define gb_Library__get_workdir_linktargetname +Library/$(call gb_Library_get_filename,$(1)) +endef +define gb_Library_get_target +$(call gb_Library_get_instdir,$(1))/$(call gb_Library_get_runtime_filename,$(1)) +endef +# this returns a tuple of both the linktargetname, and the target file +define gb_Library_get_linktarget +$(call gb_Library__get_workdir_linktargetname,$(1))<>$(call gb_Library_get_target,$(1)) +endef + +define gb_StaticLibrary__get_workdir_linktargetname +StaticLibrary/$(call gb_StaticLibrary_get_filename,$(1)) +endef +define gb_StaticLibrary_get_target +$(WORKDIR)/LinkTarget/$(call gb_StaticLibrary__get_workdir_linktargetname,$(1)) +endef +# this returns a tuple of both the linktargetname, and the target file +define gb_StaticLibrary_get_linktarget +$(call gb_StaticLibrary__get_workdir_linktargetname,$(1))<>$(call gb_StaticLibrary_get_target,$(1)) +endef + +define gb_CppunitTest__get_workdir_linktargetname +CppunitTest/$(call gb_CppunitTest_get_filename,$(1)) +endef +define gb_CppunitTest__get_linktarget_target +$(WORKDIR)/LinkTarget/$(call gb_CppunitTest__get_workdir_linktargetname,$(1)) +endef +# this returns a tuple of both the linktargetname, and the target file +define gb_CppunitTest_get_linktarget +$(call gb_CppunitTest__get_workdir_linktargetname,$(1))<>$(call gb_CppunitTest__get_linktarget_target,$(1)) +endef + +define gb_CompilerTest__get_workdir_linktargetname +CompilerTest/$(1) +endef +define gb_CompilerTest__get_linktarget_target +$(WORKDIR)/LinkTarget/$(call gb_CompilerTest__get_workdir_linktargetname,$(1)) +endef +# this returns a tuple of both the linktargetname, and the target file +define gb_CompilerTest_get_linktarget +$(call gb_CompilerTest__get_workdir_linktargetname,$(1))<>$(call gb_CompilerTest__get_linktarget_target,$(1)) +endef + +# static members declared here because they are used globally + +gb_StaticLibrary_WORKDIR = $(WORKDIR)/LinkTarget/StaticLibrary +gb_Library_WORKDIR_FOR_BUILD = $(WORKDIR_FOR_BUILD)/LinkTarget/Library +gb_Executable_BINDIR = $(WORKDIR)/LinkTarget/Executable +gb_Executable_BINDIR_FOR_BUILD = $(WORKDIR_FOR_BUILD)/LinkTarget/Executable +gb_Library_DLLDIR = $(WORKDIR)/LinkTarget/Library +gb_CppunitTest_DLLDIR = $(WORKDIR)/LinkTarget/CppunitTest + +# static variables declared here because they are used globally + +gb_POLOCATION := $(SRCDIR)/translations/source + +# vim: set noet sw=4: |