xref: /trunk/main/solenv/gbuild/TargetLocations.mk (revision 9d37da743abb7db0a497688391f6e55a19f27c44)
1#**************************************************************
2#
3#  Licensed to the Apache Software Foundation (ASF) under one
4#  or more contributor license agreements.  See the NOTICE file
5#  distributed with this work for additional information
6#  regarding copyright ownership.  The ASF licenses this file
7#  to you under the Apache License, Version 2.0 (the
8#  "License"); you may not use this file except in compliance
9#  with the License.  You may obtain a copy of the License at
10#
11#    http://www.apache.org/licenses/LICENSE-2.0
12#
13#  Unless required by applicable law or agreed to in writing,
14#  software distributed under the License is distributed on an
15#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16#  KIND, either express or implied.  See the License for the
17#  specific language governing permissions and limitations
18#  under the License.
19#
20#**************************************************************
21
22
23
24# outdir target pattern
25
26gb_ComponentTarget_get_outdir_target = $(OUTDIR)/xml/component/$(1).component
27gb_ComponentTarget_get_outdir_inbuild_target = $(OUTDIR)/xml/component/$(1).inbuild.component
28gb_Executable_get_target = $(OUTDIR)/bin/$(1)$(gb_Executable_EXT)
29gb_PackagePart_get_destinations = $(OUTDIR)/xml $(OUTDIR)/inc $(OUTDIR)/bin $(OUTDIR)/lib $(OUTDIR)/idl $(OUTDIR)/pck
30gb_PackagePart_get_target = $(OUTDIR)/$(1)
31gb_ResTarget_get_outdir_imagelist_target = $(OUTDIR)/res/img/$(1).ilst
32gb_ResTarget_get_outdir_target = $(OUTDIR)/bin/$(1).res
33gb_Jar_get_outdir_target = $(OUTDIR)/bin/$(1).jar
34gb_Zip_get_outdir_target = $(OUTDIR)/pck/$(1).zip
35# outdir targets: $(1) is path
36gb_Configuration_registry = $(OUTDIR)/xml/registry
37gb_XcsTarget_get_outdir_target = $(gb_Configuration_registry)/schema/$(1)
38gb_XcuDataTarget_get_outdir_target = $(gb_Configuration_registry)/data/$(1)
39gb_XcuLangpackTarget_get_outdir_target = $(gb_Configuration_registry)/spool/$(1)
40gb_XcuModuleTarget_get_outdir_target = $(gb_Configuration_registry)/spool/$(1)
41
42
43define gb_Library_get_target
44$(patsubst $(1):%,$(gb_Library_OUTDIRLOCATION)/%,$(filter $(filter $(1),$(gb_Library_TARGETS)):%,$(gb_Library_FILENAMES)))
45endef
46
47define gb_StaticLibrary_get_target
48$(patsubst $(1):%,$(gb_StaticLibrary_OUTDIRLOCATION)/%,$(filter $(filter $(1),$(gb_StaticLibrary_TARGETS)):%,$(gb_StaticLibrary_FILENAMES)))
49endef
50
51
52# workdir target patterns
53
54gb_AllLangResTarget_get_target = $(WORKDIR)/AllLangRes/$(1)
55gb_Ant_get_target = $(WORKDIR)/Ant/$(1).jar
56gb_AsmObject_get_target = $(WORKDIR)/AsmObject/$(1).o
57gb_BisonTarget_get_target = $(WORKDIR)/Bison/$(1)/$(2).cxx
58gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o
59gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
60gb_ComponentTarget_get_inbuild_target = $(WORKDIR)/ComponentTarget/$(1).inbuild.component
61gb_CustomTarget_get_repo_target = $(WORKDIR)/CustomTarget/$(2)_$(1).done
62gb_CustomTarget_get_target = $(WORKDIR)/CustomTarget/$(1).done
63gb_CustomTarget_get_workdir = $(WORKDIR)/CustomTarget/$(1)
64gb_CxxObject_get_target = $(WORKDIR)/CxxObject/$(1).o
65gb_GenCObject_get_target = $(WORKDIR)/GenCObject/$(1).o
66gb_GenCxxObject_get_target = $(WORKDIR)/GenCxxObject/$(1).o
67gb_Executable_get_external_headers_target = $(WORKDIR)/ExternalHeaders/Executable/$(1)
68gb_Executable_get_headers_target = $(WORKDIR)/Headers/Executable/$(1)
69gb_FlexTarget_get_target = $(WORKDIR)/Flex/$(1)/$(2).cxx
70gb_GoogleTest_get_target = $(WORKDIR)/GoogleTest/$(1).test
71gb_Jar_get_target = $(WORKDIR)/Jar/$(1).jar
72gb_Jar_get_classsetname = Jar/$(1)
73gb_JavaClassSet_get_classdir = $(WORKDIR)/JavaClassSet/$(1)
74gb_JavaClassSet_get_repo_target = $(WORKDIR)/JavaClassSet/$(2)/$(1).done
75gb_JavaClassSet_get_target = $(WORKDIR)/JavaClassSet/$(1)/done
76gb_JunitTest_get_classsetname = JunitTest/$(1)
77gb_JunitTest_get_target = $(WORKDIR)/JunitTest/$(1)/done
78gb_JunitTest_get_userdir = $(WORKDIR)/JunitTest/$(1)/user
79gb_LinkTarget_get_external_headers_target = $(WORKDIR)/ExternalHeaders/$(1)
80gb_LinkTarget_get_headers_target = $(WORKDIR)/Headers/$(1)
81gb_LinkTarget_get_target = $(WORKDIR)/LinkTarget/$(1)
82gb_UnoApiTarget_get_target = $(WORKDIR)/UnoApiTarget/$(1).rdb
83gb_UnoApiOutTarget_get_target = $(OUTDIR)/bin/$(1).rdb
84gb_UnoApiPartTarget_get_target = $(WORKDIR)/UnoApiPartTarget/$(1)
85gb_UnoApiTarget_get_header_target = $(WORKDIR)/UnoApiHeaders/$(1)
86gb_UnoPrivateApiTarget_get_target = $(WORKDIR)/UnoPrivateApi/$(1)
87gb_UnoPrivateApiExtractTarget_get_target = $(WORKDIR)/UnoPrivateApiExtract/$(1)
88gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1)
89gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1)
90gb_Module_get_target = $(WORKDIR)/Module/$(1)
91gb_NoexPrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
92gb_NoexPrecompiledHeader_get_target = $(WORKDIR)/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
93gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o
94gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
95gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
96gb_Package_get_target = $(WORKDIR)/Package/$(1)
97gb_PrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
98gb_PrecompiledHeader_get_target = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
99gb_ResTarget_get_imagelist_target = $(WORKDIR)/ResTarget/$(1).ilst
100gb_ResTarget_get_target = $(WORKDIR)/ResTarget/$(1).res
101gb_SdiTarget_get_target = $(WORKDIR)/SdiTarget/$(1)
102gb_SrsPartMergeTarget_get_target = $(WORKDIR)/SrsPartMergeTarget/$(1)
103gb_SrsPartTarget_get_target = $(WORKDIR)/SrsPartTarget/$(1)
104gb_SrsTarget_get_target = $(WORKDIR)/SrsTarget/$(1).srs
105gb_WinResTarget_get_target = $(WORKDIR)/WinResTarget/$(1)$(gb_WinResTarget_POSTFIX)
106# workdir targets: $(1) is prefix/path
107gb_Configuration_get_target = $(WORKDIR)/Configuration/$(1).done
108gb_XcsTarget_get_target = $(WORKDIR)/XcsTarget/$(1)
109gb_XcuDataTarget_get_target = $(WORKDIR)/XcuDataTarget/$(1)
110gb_XcuLangpackTarget_get_target = $(WORKDIR)/XcuLangpackTarget/$(1)
111gb_XcuModuleTarget_get_target = $(WORKDIR)/XcuModuleTarget/$(1)
112gb_XcuMergeTarget_get_target = $(WORKDIR)/XcuMergeTarget/$(1)
113gb_XcuResTarget_get_target = $(WORKDIR)/XcuResTarget/$(1)
114gb_Zip_get_target = $(WORKDIR)/Zip/$(1).zip
115gb_Zip_get_final_target = $(WORKDIR)/Zip/$(1).done
116
117define gb_Library_get_external_headers_target
118$(patsubst $(1):%,$(WORKDIR)/ExternalHeaders/Library/%,$(filter $(1):%,$(gb_Library_FILENAMES)))
119endef
120
121define gb_Library_get_headers_target
122$(patsubst $(1):%,$(WORKDIR)/Headers/Library/%,$(filter $(1):%,$(gb_Library_FILENAMES)))
123endef
124
125define gb_StaticLibrary_get_external_headers_target
126$(patsubst $(1):%,$(WORKDIR)/ExternalHeaders/StaticLibrary/%,$(filter $(1):%,$(gb_StaticLibrary_FILENAMES)))
127endef
128
129define gb_StaticLibrary_get_headers_target
130$(patsubst $(1):%,$(WORKDIR)/Headers/StaticLibrary/%,$(filter $(1):%,$(gb_StaticLibrary_FILENAMES)))
131endef
132
133$(eval $(call gb_Helper_make_clean_targets,\
134    AllLangResTarget \
135    Ant \
136    ComponentTarget \
137    JavaClassSet \
138    Jar \
139    JunitTest \
140    LinkTarget \
141    Module \
142    WinResTarget \
143    NoexPrecompiledHeader \
144    PackagePart \
145    PrecompiledHeader \
146    ResTarget \
147    SdiTarget \
148    SrsTarget \
149    GoogleTest \
150    CustomTarget \
151    UnoApiTarget \
152    Zip \
153    XcsTarget \
154    XcuDataTarget \
155    XcuModuleTarget \
156    XcuLangpackTarget \
157    XcuMergeTarget \
158    XcuResTarget \
159    Configuration \
160))
161
162$(eval $(call gb_Helper_make_outdir_clean_targets,\
163    Executable \
164    Library \
165    Package \
166    StaticLibrary \
167    UnoApiOutTarget \
168))
169
170$(eval $(call gb_Helper_make_dep_targets,\
171    CObject \
172    CxxObject \
173    ObjCObject \
174    ObjCxxObject \
175    GenCObject \
176    GenCxxObject \
177    LinkTarget \
178    SrsPartTarget \
179    SrsTarget \
180    UnoApiTarget \
181))
182
183# other getters
184
185define gb_Library_get_layer
186$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_LAYER)))
187endef
188
189define gb_Executable_get_layer
190$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_LAYER)))
191endef
192
193define gb_Library_get_filename
194$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_FILENAMES)))
195endef
196
197define gb_StaticLibrary_get_filename
198$(patsubst $(1):%,%,$(filter $(1):%,$(gb_StaticLibrary_FILENAMES)))
199endef
200
201
202# static members declared here because they are used globally
203
204gb_Library_OUTDIRLOCATION = $(OUTDIR)/lib
205gb_Library_DLLDIR = $(WORKDIR)/LinkTarget/Library
206gb_StaticLibrary_OUTDIRLOCATION = $(OUTDIR)/lib
207
208# vim: set noet sw=4 ts=4:
209