xref: /trunk/main/solenv/gbuild/TargetLocations.mk (revision e75d772d)
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_Executable_get_target = $(OUTDIR)/bin/$(1)$(gb_Executable_EXT)
28gb_PackagePart_get_destinations = $(OUTDIR)/xml $(OUTDIR)/inc $(OUTDIR)/bin
29gb_PackagePart_get_target = $(OUTDIR)/$(1)
30gb_ResTarget_get_outdir_imagelist_target = $(OUTDIR)/res/img/$(1).ilst
31gb_ResTarget_get_outdir_target = $(OUTDIR)/bin/$(1).res
32
33define gb_Library_get_target
34$(patsubst $(1):%,$(gb_Library_OUTDIRLOCATION)/%,$(filter $(filter $(1),$(gb_Library_TARGETS)):%,$(gb_Library_FILENAMES)))
35endef
36
37define gb_StaticLibrary_get_target
38$(patsubst $(1):%,$(gb_StaticLibrary_OUTDIRLOCATION)/%,$(filter $(filter $(1),$(gb_StaticLibrary_TARGETS)):%,$(gb_StaticLibrary_FILENAMES)))
39endef
40
41
42# workdir target patterns
43
44gb_AllLangResTarget_get_target = $(WORKDIR)/AllLangRes/$(1)
45gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o
46gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
47gb_CppunitTest_get_target = $(WORKDIR)/CppunitTest/$(1).test
48gb_CustomTarget_get_repo_target = $(WORKDIR)/CustomTarget/$(2)_$(1).done
49gb_CustomTarget_get_target = $(WORKDIR)/CustomTarget/$(1).done
50gb_CustomTarget_get_workdir = $(WORKDIR)/CustomTarget/$(1)
51gb_CxxObject_get_target = $(WORKDIR)/CxxObject/$(1).o
52gb_GenCxxObject_get_target = $(WORKDIR)/GenCxxObject/$(1).o
53gb_Executable_get_external_headers_target = $(WORKDIR)/ExternalHeaders/Executable/$(1)
54gb_Executable_get_headers_target = $(WORKDIR)/Headers/Executable/$(1)
55gb_GoogleTest_get_target = $(WORKDIR)/GoogleTest/$(1).test
56gb_JavaClassSet_get_classdir = $(WORKDIR)/JavaClassSet/$(1)
57gb_JavaClassSet_get_repo_target = $(WORKDIR)/JavaClassSet/$(2)/$(1).done
58gb_JavaClassSet_get_target = $(WORKDIR)/JavaClassSet/$(1)/done
59gb_JunitTest_get_classsetname = JunitTest/$(1)
60gb_JunitTest_get_target = $(WORKDIR)/JunitTest/$(1)/done
61gb_JunitTest_get_userdir = $(WORKDIR)/JunitTest/$(1)/user
62gb_LinkTarget_get_external_headers_target = $(WORKDIR)/ExternalHeaders/$(1)
63gb_LinkTarget_get_headers_target = $(WORKDIR)/Headers/$(1)
64gb_LinkTarget_get_target = $(WORKDIR)/LinkTarget/$(1)
65gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1)
66gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1)
67gb_Module_get_target = $(WORKDIR)/Module/$(1)
68gb_NoexPrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
69gb_NoexPrecompiledHeader_get_target = $(WORKDIR)/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
70gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
71gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
72gb_Package_get_target = $(WORKDIR)/Package/$(1)
73gb_PrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
74gb_PrecompiledHeader_get_target = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
75gb_ResTarget_get_imagelist_target = $(WORKDIR)/ResTarget/$(1).ilst
76gb_ResTarget_get_target = $(WORKDIR)/ResTarget/$(1).res
77gb_SdiTarget_get_target = $(WORKDIR)/SdiTarget/$(1)
78gb_SrsPartMergeTarget_get_target = $(WORKDIR)/SrsPartMergeTarget/$(1)
79gb_SrsPartTarget_get_target = $(WORKDIR)/SrsPartTarget/$(1)
80gb_SrsTarget_get_target = $(WORKDIR)/SrsTarget/$(1).srs
81gb_WinResTarget_get_target = $(WORKDIR)/WinResTarget/$(1)$(gb_WinResTarget_POSTFIX)
82
83define gb_Library_get_external_headers_target
84$(patsubst $(1):%,$(WORKDIR)/ExternalHeaders/Library/%,$(filter $(1):%,$(gb_Library_FILENAMES)))
85endef
86
87define gb_Library_get_headers_target
88$(patsubst $(1):%,$(WORKDIR)/Headers/Library/%,$(filter $(1):%,$(gb_Library_FILENAMES)))
89endef
90
91define gb_StaticLibrary_get_external_headers_target
92$(patsubst $(1):%,$(WORKDIR)/ExternalHeaders/StaticLibrary/%,$(filter $(1):%,$(gb_StaticLibrary_FILENAMES)))
93endef
94
95define gb_StaticLibrary_get_headers_target
96$(patsubst $(1):%,$(WORKDIR)/Headers/StaticLibrary/%,$(filter $(1):%,$(gb_StaticLibrary_FILENAMES)))
97endef
98
99$(eval $(call gb_Helper_make_clean_targets,\
100	AllLangResTarget \
101	ComponentTarget \
102	JavaClassSet \
103	JunitTest \
104	LinkTarget \
105	Module \
106	WinResTarget \
107	NoexPrecompiledHeader \
108	PackagePart \
109	PrecompiledHeader \
110	ResTarget \
111	SdiTarget \
112	SrsTarget \
113	CppunitTest \
114	GoogleTest \
115	CustomTarget \
116))
117
118$(eval $(call gb_Helper_make_outdir_clean_targets,\
119	Executable \
120	Library \
121	Package \
122	StaticLibrary \
123))
124
125$(eval $(call gb_Helper_make_dep_targets,\
126	CObject \
127	CxxObject \
128	ObjCxxObject \
129	LinkTarget \
130	SrsPartTarget \
131	SrsTarget \
132))
133# needs to use same dep target because we use gb_CxxObject__command
134gb_GenCxxObject_get_dep_target = $(gb_CxxObject_get_dep_target)
135
136# other getters
137
138define gb_Library_get_layer
139$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_LAYER)))
140endef
141
142define gb_Executable_get_layer
143$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Executable_LAYER)))
144endef
145
146define gb_Library_get_filename
147$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_FILENAMES)))
148endef
149
150define gb_StaticLibrary_get_filename
151$(patsubst $(1):%,%,$(filter $(1):%,$(gb_StaticLibrary_FILENAMES)))
152endef
153
154
155# static members declared here because they are used globally
156
157gb_Library_OUTDIRLOCATION = $(OUTDIR)/lib
158gb_Library_DLLDIR = $(WORKDIR)/LinkTarget/Library
159gb_CppunitTest_DLLDIR = $(WORKDIR)/LinkTarget/CppunitTest
160gb_StaticLibrary_OUTDIRLOCATION = $(OUTDIR)/lib
161
162# vim: set noet sw=4 ts=4:
163