Branch libreoffice-5-0-4
[LibreOffice.git] / solenv / gbuild / TargetLocations.mk
blob157999264a9120f967557fc3fa7bda44a26c1765
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 # This file incorporates work covered by the following license notice:
11 # Licensed to the Apache Software Foundation (ASF) under one or more
12 # contributor license agreements. See the NOTICE file distributed
13 # with this work for additional information regarding copyright
14 # ownership. The ASF licenses this file to you under the Apache
15 # License, Version 2.0 (the "License"); you may not use this file
16 # except in compliance with the License. You may obtain a copy of
17 # the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 # outdir target pattern
22 # thoese are hard-coded to URE for now since there are so few of them...
23 gb_CliLibrary_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliLibrary_EXT)
24 gb_CliNativeLibrary_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliNativeLibrary_EXT)
25 gb_CliUnoApi_get_target = $(INSTROOT)/$(if $(filter cli_uretypes,$(1)),$(LIBO_URE_LIB_FOLDER),$(LIBO_LIB_FOLDER))/$(1)$(gb_CliUnoApi_EXT)
26 gb_PackagePart_get_destinations = \
27 $(INSTDIR) \
28 $(WORKDIR)/unittest \
30 # kind of lame but with just 3 of these why bother with registration etc.
31 gb_UnoApi_get_target = $(INSTROOT)/$(if $(filter udkapi,$(1)),$(LIBO_URE_MISC_FOLDER)/types,$(LIBO_ETC_FOLDER)/types/$(1)).rdb
33 # workdir target patterns
35 gb_AutoInstall_get_target = $(WORKDIR)/AutoInstall/$(1)
36 gb_AllLangHelp_get_target = $(WORKDIR)/AllLangHelp/$(1)
37 gb_AllLangPackage_get_target = $(WORKDIR)/AllLangPackage/$(1)
38 gb_AllLangResTarget_get_target = $(WORKDIR)/AllLangRes/$(1)
39 gb_AsmObject_get_target = $(WORKDIR)/AsmObject/$(1).o
40 gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o
41 gb_GenCObject_get_target = $(WORKDIR)/GenCObject/$(1).o
42 gb_CliAssembly_get_target = $(WORKDIR)/CliAssembly/$(1).done
43 gb_CliAssemblyTarget_get_target = $(WORKDIR)/CliAssemblyTarget/$(1).done
44 gb_CliAssemblyTarget_get_assembly_target = $(WORKDIR)/CliAssemblyTarget/$(1)$(gb_CliAssemblyTarget_POLICYEXT)
45 gb_CliConfigTarget_get_target = $(WORKDIR)/CliConfigTarget/$(1).config
46 gb_CliNativeLibrary_get_preparation_target = $(WORKDIR)/CliNativeLibraryTarget/$(1).prepare
47 gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
48 gb_ComponentTarget_get_target_for_build = $(WORKDIR_FOR_BUILD)/ComponentTarget/$(1).component
49 gb_Configuration_get_preparation_target = $(WORKDIR)/Configuration/$(1).prepared
50 gb_CppunitTest_get_target = $(WORKDIR)/CppunitTest/$(1).test
51 gb_CustomPackage_get_target = $(WORKDIR)/CustomPackage/$(1).filelist
52 gb_CustomTarget_get_repo_target = $(WORKDIR)/CustomTarget/$(2)_$(1).done
53 gb_CustomTarget_get_target = $(WORKDIR)/CustomTarget/$(1).done
54 gb_CustomTarget_get_workdir = $(WORKDIR)/CustomTarget/$(1)
55 gb_DescriptionTranslateTarget_get_target = $(WORKDIR)/DescriptionTranslateTarget/$(1).xml
56 gb_Dictionary_get_target = $(WORKDIR)/Dictionary/$(1).done
57 gb_CxxObject_get_target = $(WORKDIR)/CxxObject/$(1).o
58 gb_GenCxxObject_get_target = $(WORKDIR)/GenCxxObject/$(1).o
59 gb_Executable_get_headers_target = $(WORKDIR)/Headers/Executable/$(1)
60 gb_Executable_get_runtime_target = $(WORKDIR_FOR_BUILD)/Executable/$(1).run
61 gb_Extension_get_target = $(WORKDIR)/Extension/$(1).oxt
62 gb_Extension_get_rootdir = $(WORKDIR)/Extension/$(1)/root
63 gb_Extension_get_workdir = $(WORKDIR)/Extension/$(1)
64 gb_ExtensionPackage_get_target = $(WORKDIR)/ExtensionPackage/$(1).filelist
65 gb_ExtensionPackage_get_preparation_target = $(WORKDIR)/ExtensionPackage/$(1).prepare
66 gb_ExtensionPackageSet_get_target = $(WORKDIR)/ExtensionPackage/$(1).set
67 gb_ExternalPackage_get_target = $(WORKDIR)/ExternalPackage/$(1)
68 gb_ExternalProject_get_statedir = $(WORKDIR)/ExternalProject/$(1)
69 gb_ExternalProject_get_preparation_target = $(WORKDIR)/ExternalProject/$(1).prepare
70 gb_ExternalProject_get_state_target = $(WORKDIR)/ExternalProject/$(1)/$(2)
71 gb_ExternalProject_get_target = $(WORKDIR)/ExternalProject/$(1).done
72 gb_ExternalProject_get_target_for_build = $(WORKDIR_FOR_BUILD)/ExternalProject/$(1).done
73 gb_Gallery_get_target = $(WORKDIR)/Gallery/$(1).done
74 gb_Gallery_get_workdir = $(WORKDIR)/Gallery/$(1)
75 gb_GeneratedPackage_get_target = $(WORKDIR)/GeneratedPackage/$(1).filelist
76 gb_GeneratedPackage_get_target_for_build = $(WORKDIR_FOR_BUILD)/GeneratedPackage/$(1).filelist
77 gb_HelpIndexTarget_get_target = $(WORKDIR)/HelpIndexTarget/$(1).done
78 gb_HelpJarTarget_get_target = $(WORKDIR)/HelpJarTarget/$(1).done
79 gb_HelpLinkTarget_get_preparation_target = $(WORKDIR)/HelpLinkTarget/$(1).prepare
80 gb_HelpLinkTarget_get_target = $(WORKDIR)/HelpLinkTarget/$(1).done
81 gb_HelpTarget_get_filelist = $(WORKDIR)/HelpTarget/$(1).filelist
82 gb_HelpTarget_get_linked_target = $(WORKDIR)/HelpTarget/$(1).translate
83 gb_HelpTarget_get_target = $(WORKDIR)/HelpTarget/$(1).zip
84 gb_HelpTarget_get_translation_target = $(call gb_HelpTarget_get_filelist,$(1))
85 gb_HelpTarget_get_workdir = $(WORKDIR)/HelpTarget/$(1)
86 gb_HelpTranslatePartTarget_get_target = $(WORKDIR)/HelpTranslatePartTarget/$(1)/done
87 gb_HelpTranslatePartTarget_get_translated_target = $(WORKDIR)/HelpTranslatePartTarget/$(1)/$(2).xhp
88 gb_HelpTranslatePartTarget_get_workdir = $(WORKDIR)/HelpTranslatePartTarget/$(1)
89 gb_HelpTranslateTarget_get_target = $(WORKDIR)/HelpTranslateTarget/$(1).done
90 gb_HelpTreeTarget_get_target = $(WORKDIR)/HelpTreeTarget/$(1).tree
91 gb_InstallModule_get_filelist = $(call gb_InstallModuleTarget_get_filelist,$(1))
92 gb_InstallModule_get_target = $(WORKDIR)/InstallModule/$(1).done
93 gb_InstallModuleTarget_get_external_target = $(WORKDIR)/InstallModuleTarget/$(1).external
94 gb_InstallModuleTarget_get_filelist = $(WORKDIR)/InstallModuleTarget/$(1).filelist
95 gb_InstallModuleTarget_get_target = $(WORKDIR)/InstallModuleTarget/$(1).filelist
96 gb_InstallScript_get_target = $(WORKDIR)/InstallScriptTarget/$(1)$(gb_InstallScript_EXT)
97 gb_InternalUnoApi_get_target = $(WORKDIR)/InternalUnoApi/$(1).done
98 gb_Jar_get_target = $(call gb_Jar_get_install_target,$(1))
99 gb_Jar_get_classsetname = Jar/$(1)
100 gb_JavaClassSet_get_classdir = $(WORKDIR)/JavaClassSet/$(1)
101 gb_JavaClassSet_get_repo_target = $(WORKDIR)/JavaClassSet/$(2)/$(1).done
102 gb_JavaClassSet_get_target = $(WORKDIR)/JavaClassSet/$(1)/done
103 gb_JunitTest_get_classsetname = JunitTest/$(1)
104 gb_JunitTest_get_target = $(WORKDIR)/JunitTest/$(1)/done
105 gb_JunitTest_get_userdir = $(WORKDIR)/JunitTest/$(1)/user
106 gb_PythonTest_get_target = $(WORKDIR)/PythonTest/$(1)/done
107 gb_LinkTarget__get_workdir_linktargetname = $(firstword $(subst <>, ,$(1)))
108 gb_LinkTarget_get_headers_target = \
109 $(WORKDIR)/Headers/$(call gb_LinkTarget__get_workdir_linktargetname,$(1))
110 gb_LinkTarget_get_objects_list = \
111 $(WORKDIR)/LinkTarget/$(call gb_LinkTarget__get_workdir_linktargetname,$(1)).objectlist
112 gb_LinkTarget_get_dep_target = \
113 $(WORKDIR)/Dep/LinkTarget/$(call gb_LinkTarget__get_workdir_linktargetname,$(1)).d
114 gb_LinkTarget_get_clean_target = \
115 $(WORKDIR)/Clean/LinkTarget/$(call gb_LinkTarget__get_workdir_linktargetname,$(1))
116 gb_LinkTarget_get_target = $(lastword $(subst <>, ,$(1)))
117 gb_Module_get_nonl10n_target = $(WORKDIR)/Module/nonl10n/$(1)
118 gb_Module_get_l10n_target = $(WORKDIR)/Module/l10n/$(1)
119 gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1)
120 gb_Module_get_slowcheck_target = $(WORKDIR)/Module/slowcheck/$(1)
121 gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1)
122 gb_Module_get_perfcheck_target = $(WORKDIR)/Module/perfcheck/$(1)
123 gb_Module_get_target = $(WORKDIR)/Module/$(1)
124 gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
125 gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o
126 gb_Pagein_get_target = $(WORKDIR)/Pagein/pagein-$(1)
127 gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
128 gb_Package_get_target = $(WORKDIR)/Package/$(1).filelist
129 gb_Package_get_target_for_build = $(WORKDIR_FOR_BUILD)/Package/$(1).filelist
130 gb_PackageSet_get_target = $(WORKDIR)/PackageSet/$(1).filelist
131 gb_PackageInfo_get_target = $(WORKDIR)/PackageInfo
132 gb_Postprocess_get_target = $(WORKDIR)/Postprocess/$(1)
133 gb_PrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.gch.d
134 gb_PrecompiledHeader_get_dep_target_tmp = $(call gb_PrecompiledHeader_get_dep_target,$(1)).tmp
135 gb_PrecompiledHeader_get_target = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.gch
136 gb_PrecompiledHeader_get_timestamp = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/Timestamps/$(1)
137 gb_PropertiesTranslateTarget_get_target = $(WORKDIR)/PropertiesTranslateTarget/$(1).properties
138 gb_Pyuno_get_final_target = $(WORKDIR)/Pyuno/$(1).final
139 gb_Pyuno_get_target = $(WORKDIR)/Pyuno/$(1).done
140 gb_Rdb_get_target = $(WORKDIR)/Rdb/$(1).rdb
141 gb_Rdb_get_target_for_build = $(WORKDIR_FOR_BUILD)/Rdb/$(1).rdb
142 gb_ResTarget_get_imagelist_target = $(WORKDIR)/ResTarget/$(1).ilst
143 gb_ResTarget_get_target = $(WORKDIR)/ResTarget/$(1).res
144 gb_ScpMergeTarget_get_target = $(WORKDIR)/ScpMergeTarget/$(1).ulf
145 gb_ScpPreprocessTarget_get_target = $(WORKDIR)/ScpPreprocessTarget/$(1).pre
146 gb_ScpTarget_get_external_target = $(WORKDIR)/ScpTarget/$(1).external
147 gb_ScpTarget_get_target = $(WORKDIR)/ScpTarget/$(1).par
148 gb_ScpTemplateTarget_get_dir = $(abspath $(WORKDIR)/ScpTemplateTarget/$(dir $(1)))
149 gb_ScpTemplateTarget_get_target = $(abspath $(WORKDIR)/ScpTemplateTarget/$(dir $(1))$(subst pack,modules,$(subst module_,all,$(notdir $(1)))).inc)
150 gb_SdiTarget_get_target = $(WORKDIR)/SdiTarget/$(1)
151 gb_SrsPartMergeTarget_get_target = $(WORKDIR)/SrsPartMergeTarget/$(1)
152 gb_SrsPartTarget_get_target = $(WORKDIR)/SrsPartTarget/$(1)
153 gb_SrsTarget_get_headers_target = $(WORKDIR)/SrsTarget/$(1).headers
154 gb_SrsTarget_get_target = $(WORKDIR)/SrsTarget/$(1).srs
155 gb_SrsTemplatePartTarget_get_target = $(WORKDIR)/SrsTemplatePartTarget/$(firstword $(subst /, ,$(1)))/$(subst _tmpl,,$(notdir $(1)))
156 gb_SrsTemplateTarget_get_include_dir = $(WORKDIR)/SrsTemplatePartTarget/$(firstword $(subst /, ,$(1)))
157 gb_SrsTemplateTarget_get_target = $(WORKDIR)/SrsTemplateTarget/$(1)
158 gb_ThesaurusIndexTarget_get_target = $(WORKDIR)/ThesaurusIndexTarget/$(basename $(1)).idx
159 gb_UIConfig_get_imagelist_target = $(WORKDIR)/UIConfig/$(1).ilst
160 gb_UIConfig_get_target = $(WORKDIR)/UIConfig/$(1).done
161 gb_UIImageListTarget_get_target = $(WORKDIR)/UIImageListTarget/$(1).ilst
162 gb_UILocalizeTarget_get_target = $(WORKDIR)/UILocalizeTarget/$(1).done
163 gb_UILocalizeTarget_get_workdir = $(WORKDIR)/UILocalizeTarget/$(1)
164 gb_UIMenubarTarget_get_target = $(WORKDIR)/UIMenubarTarget/$(1).xml
165 gb_UnoApiTarget_get_target = $(WORKDIR)/UnoApiTarget/$(1).rdb
166 gb_UnoApiHeadersTarget_get_bootstrap_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),bootstrap)
167 gb_UnoApiHeadersTarget_get_comprehensive_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),comprehensive)
168 gb_UnoApiHeadersTarget_get_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),normal)
169 gb_UnoApiHeadersTarget_get_real_bootstrap_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/bootstrap
170 gb_UnoApiHeadersTarget_get_real_comprehensive_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/comprehensive
171 gb_UnoApiHeadersTarget_get_real_dir = $(WORKDIR)/UnoApiHeadersTarget/$(1)/normal
172 gb_UnoApiHeadersTarget_get_real_bootstrap_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/bootstrap.done
173 gb_UnoApiHeadersTarget_get_real_comprehensive_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/comprehensive.done
174 gb_UnoApiHeadersTarget_get_real_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/normal.done
175 gb_UnoApiHeadersTarget_get_bootstrap_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),bootstrap).done
176 gb_UnoApiHeadersTarget_get_comprehensive_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),comprehensive).done
177 gb_UnoApiHeadersTarget_get_target = $(WORKDIR)/UnoApiHeadersTarget/$(1)/$(call gb_UnoApiHeadersTarget_select_variant,$(1),normal).done
178 gb_UnpackedTarball_get_dir = $(WORKDIR)/UnpackedTarball/$(1)
179 gb_UnpackedTarball_get_pristine_dir = $(WORKDIR)/UnpackedTarball/$(1).org
180 gb_UnpackedTarball_get_final_target = $(WORKDIR)/UnpackedTarball/$(1).update
181 # NOTE: the .done target is hardcoded in solenv/bin/concat-deps.c !
182 gb_UnpackedTarball_get_target = $(WORKDIR)/UnpackedTarball/$(1).done
183 gb_UnpackedTarball_get_preparation_target = $(WORKDIR)/UnpackedTarball/$(1).prepare
184 gb_UnpackedTarget_get_target = $(WORKDIR)/UnpackedTarget/$(1)
185 gb_WinResTarget_get_target = $(WORKDIR)/WinResTarget/$(1)$(gb_WinResTarget_POSTFIX)
186 # workdir targets: $(1) is prefix/path
187 gb_Configuration_get_target = $(WORKDIR)/Configuration/$(1).done
188 gb_YaccTarget_get_grammar_target = $(WORKDIR)/YaccTarget/$(1).cxx
189 gb_YaccTarget_get_header_target = $(WORKDIR)/YaccTarget/$(1).hxx
190 gb_YaccTarget_get_target = $(WORKDIR)/YaccTarget/$(1).done
192 gb_LexTarget_get_scanner_target = $(WORKDIR)/LexTarget/$(1).cxx
193 gb_LexTarget_get_target = $(WORKDIR)/LexTarget/$(1).done
195 gb_XcdTarget_get_target = $(WORKDIR)/XcdTarget/$(1)
196 gb_XcsTarget_get_target = $(WORKDIR)/XcsTarget$(if $(1),/)$(1)
197 gb_XcuDataTarget_get_target = $(WORKDIR)/XcuDataTarget/$(1)
198 gb_XcuFilterFiltersTarget_get_target = $(WORKDIR)/XcuFilterFiltersTarget/$(1)
199 gb_XcuFilterInternalTarget_get_target = $(WORKDIR)/XcuFilterInternalTarget/$(1)
200 gb_XcuFilterOthersTarget_get_target = $(WORKDIR)/XcuFilterOthersTarget/$(1)
201 gb_XcuFilterTypesTarget_get_target = $(WORKDIR)/XcuFilterTypesTarget/$(1)
202 gb_XcuLangpackTarget_get_target = $(WORKDIR)/XcuLangpackTarget/$(1)
203 gb_XcuModuleTarget_get_target = $(WORKDIR)/XcuModuleTarget/$(1)
204 gb_XcuMergeTarget_get_target = $(WORKDIR)/XcuMergeTarget/$(1)
205 gb_XcuResTarget_get_target = $(WORKDIR)/XcuResTarget/$(1)
206 gb_Zip_get_target = $(WORKDIR)/Zip/$(1).zip
208 define gb_Library_get_exports_target
209 $(WORKDIR)/LinkTarget/$(call gb_Library__get_workdir_linktargetname,$(1)).exports
210 endef
212 define gb_Library_get_versionlink_target
213 $(call gb_Library_get_sdk_link_dir)/$(basename $(call gb_Library_get_filename,$(1)))
214 endef
216 define gb_Library_get_headers_target
217 $(patsubst $(1):%,$(WORKDIR)/Headers/Library/%,$(filter $(1):%,$(gb_Library_FILENAMES)))
218 endef
220 define gb_StaticLibrary_get_headers_target
221 $(WORKDIR)/Headers/StaticLibrary/$(call gb_StaticLibrary_get_filename,$(1))
222 endef
224 $(eval $(call gb_Helper_make_clean_targets,\
225 AutoInstall \
226 AllLangHelp \
227 AllLangPackage \
228 AllLangResTarget \
229 CliAssembly \
230 CliAssemblyTarget \
231 CliConfigTarget \
232 CliLibrary \
233 CliNativeLibrary \
234 CliUnoApi \
235 ComponentTarget \
236 CustomPackage \
237 DescriptionTranslateTarget \
238 Dictionary \
239 Executable \
240 ExternalPackage \
241 Extension \
242 ExtensionPackage \
243 ExtensionPackageSet \
244 Gallery \
245 GeneratedPackage \
246 HelpTarget \
247 HelpIndexTarget \
248 HelpJarTarget \
249 HelpLinkTarget \
250 HelpTranslatePartTarget \
251 HelpTranslateTarget \
252 HelpTreeTarget \
253 InstallModule \
254 InstallModuleTarget \
255 InstallScript \
256 InternalUnoApi \
257 JavaClassSet \
258 Jar \
259 JunitTest \
260 Library \
261 Module \
262 PackagePart \
263 Package \
264 PackageSet \
265 Pagein \
266 Postprocess \
267 PrecompiledHeader \
268 PropertiesTranslateTarget \
269 Pyuno \
270 PythonTest \
271 Rdb \
272 ResTarget \
273 ScpMergeTarget \
274 ScpPreprocessTarget \
275 ScpTarget \
276 ScpTemplateTarget \
277 SdiTarget \
278 SrsTarget \
279 SrsTemplateTarget \
280 StaticLibrary \
281 ThesaurusIndexTarget \
282 CppunitTest \
283 CppunitTestFakeExecutable \
284 CustomTarget \
285 ExternalProject \
286 UIConfig \
287 UIImageListTarget \
288 UILocalizeTarget \
289 UIMenubarTarget \
290 UnoApi \
291 UnoApiHeadersTarget \
292 UnoApiTarget \
293 UnpackedTarball \
294 UnpackedTarget \
295 WinResTarget \
296 YaccTarget \
297 LexTarget \
298 Zip \
299 XcsTarget \
300 XcuDataTarget \
301 XcuModuleTarget \
302 XcuLangpackTarget \
303 XcuMergeTarget \
304 XcuResTarget \
305 Configuration \
308 $(eval $(call gb_Helper_make_dep_targets,\
309 CObject \
310 CxxObject \
311 ObjCObject \
312 ObjCxxObject \
313 AsmObject \
314 GenCObject \
315 GenCxxObject \
316 SdiTarget \
317 SrsPartTarget \
318 SrsTarget \
321 # other getters
323 define gb_Library_get_layer
324 $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_LAYER)))
325 endef
327 define gb_Executable_get_layer
328 $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_LAYER)))
329 endef
331 define gb_Library_get_filename
332 $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_FILENAMES)))
333 endef
335 define gb_Executable_get_filename
336 $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_FILENAMES)))
337 endef
339 define gb_Executable_get_filename_for_build
340 $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_FILENAMES_FOR_BUILD)))
341 endef
343 # Get dependencies needed for running the executable
345 # This is not strictly necessary, but it makes the use more similar to
346 # ExternalExecutable.
348 # gb_Executable_get_runtime_dependencies executable
349 define gb_Executable_get_runtime_dependencies
350 $(call gb_Executable_get_runtime_target,$(1))
351 endef
353 # Get complete command-line for running the executable
355 # This includes setting library path.
357 # gb_Executable_get_command executable
358 define gb_Executable_get_command
359 $(gb_Helper_set_ld_path) $(BUILDTOOLTRACE) $(2) $(call gb_Executable_get_target_for_build,$(1))
360 endef
362 define gb_Executable__get_workdir_linktargetname
363 Executable/$(call gb_Executable_get_filename,$(1))
364 endef
365 define gb_Executable_get_target
366 $(call gb_Executable__get_dir_for_exe,$(1))/$(call gb_Executable_get_filename,$(1))
367 endef
368 ifneq ($(CROSS_COMPILING),)
369 # Can we assume this is used only for executables registered for "NONE"?
370 define gb_Executable_get_target_for_build
371 $(call gb_Executable__get_dir_for_exe_for_build,$(1))/$(call gb_Executable_get_filename_for_build,$(1))
372 endef
373 else
374 gb_Executable_get_target_for_build = $(gb_Executable_get_target)
375 endif # CROSS_COMPILING
376 define gb_Executable_get_linktarget
377 $(call gb_Executable__get_workdir_linktargetname,$(1))<>$(call gb_Executable_get_target,$(1))
378 endef
380 define gb_Library__get_workdir_linktargetname
381 Library/$(call gb_Library_get_filename,$(1))
382 endef
383 define gb_Library_get_target
384 $(call gb_Library_get_instdir,$(1))/$(call gb_Library_get_runtime_filename,$(1))
385 endef
386 # this returns a tuple of both the linktargetname, and the target file
387 define gb_Library_get_linktarget
388 $(call gb_Library__get_workdir_linktargetname,$(1))<>$(call gb_Library_get_target,$(1))
389 endef
391 define gb_StaticLibrary__get_workdir_linktargetname
392 StaticLibrary/$(call gb_StaticLibrary_get_filename,$(1))
393 endef
394 define gb_StaticLibrary_get_target
395 $(WORKDIR)/LinkTarget/$(call gb_StaticLibrary__get_workdir_linktargetname,$(1))
396 endef
397 # this returns a tuple of both the linktargetname, and the target file
398 define gb_StaticLibrary_get_linktarget
399 $(call gb_StaticLibrary__get_workdir_linktargetname,$(1))<>$(call gb_StaticLibrary_get_target,$(1))
400 endef
402 define gb_CppunitTest__get_workdir_linktargetname
403 CppunitTest/$(call gb_CppunitTest_get_filename,$(1))
404 endef
405 define gb_CppunitTest__get_linktarget_target
406 $(WORKDIR)/LinkTarget/$(call gb_CppunitTest__get_workdir_linktargetname,$(1))
407 endef
408 # this returns a tuple of both the linktargetname, and the target file
409 define gb_CppunitTest_get_linktarget
410 $(call gb_CppunitTest__get_workdir_linktargetname,$(1))<>$(call gb_CppunitTest__get_linktarget_target,$(1))
411 endef
413 # static members declared here because they are used globally
415 gb_StaticLibrary_WORKDIR = $(WORKDIR)/LinkTarget/StaticLibrary
416 gb_Library_WORKDIR_FOR_BUILD = $(WORKDIR_FOR_BUILD)/LinkTarget/Library
417 gb_Executable_BINDIR = $(WORKDIR)/LinkTarget/Executable
418 gb_Executable_BINDIR_FOR_BUILD = $(WORKDIR_FOR_BUILD)/LinkTarget/Executable
419 gb_Library_DLLDIR = $(WORKDIR)/LinkTarget/Library
420 gb_CppunitTest_DLLDIR = $(WORKDIR)/LinkTarget/CppunitTest
422 # static variables declared here because they are used globally
424 gb_POLOCATION := $(SRCDIR)/translations/source
426 # vim: set noet sw=4: