1*b1cdbd2cSJim Jagielski#**************************************************************
2*b1cdbd2cSJim Jagielski#
3*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
6*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski#
11*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski#  under the License.
19*b1cdbd2cSJim Jagielski#
20*b1cdbd2cSJim Jagielski#**************************************************************
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski# SrsPartMergeTarget class
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielskigb_SrsPartMergeTarget_TRANSEXTARGET := $(call gb_Executable_get_target,transex3)
27*b1cdbd2cSJim Jagielski# gb_SrsPartMergeTarget_TRANSEXPRECOMMAND is set by the platforms
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielskigb_SrsPartMergeTarget_TRANSEXCOMMAND := $(gb_SrsPartMergeTarget_TRANSEXPRECOMMAND) $(gb_SrsPartMergeTarget_TRANSEXTARGET)
30*b1cdbd2cSJim Jagielskigb_SrsPartMergeTarget_SDFLOCATION := $(LOCDIR)/l10n/$(INPATH)/misc/sdf/
31*b1cdbd2cSJim Jagielskigb_SrsPartMergeTarget_REPOS := $(gb_REPOS)
32*b1cdbd2cSJim Jagielski
33*b1cdbd2cSJim Jagielskidefine gb_SrsPartMergeTarget__command
34*b1cdbd2cSJim Jagielski$(call gb_Output_announce,$(3),$(true),srs,1)
35*b1cdbd2cSJim Jagielski$(call gb_Helper_abbreviate_dirs_native,\
36*b1cdbd2cSJim Jagielski	mkdir -p $(dir $(1)) && \
37*b1cdbd2cSJim Jagielski	$(gb_SrsPartMergeTarget_TRANSEXCOMMAND) \
38*b1cdbd2cSJim Jagielski		-p $(firstword $(subst /, ,$(2))) \
39*b1cdbd2cSJim Jagielski		-i $(3) \
40*b1cdbd2cSJim Jagielski		-o $(1) \
41*b1cdbd2cSJim Jagielski		-m $(SDF) \
42*b1cdbd2cSJim Jagielski		-l all)
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielskiendef
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielskidefine gb_SrsPartMergeTarget__rules
47*b1cdbd2cSJim Jagielski$$(call gb_SrsPartMergeTarget_get_target,%) : $(1)/% $$(gb_Helper_MISCDUMMY) | $$(gb_SrsPartMergeTarget_TRANSEXTARGET)
48*b1cdbd2cSJim Jagielski	$$(if $$(SDF),$$(call gb_SrsPartMergeTarget__command,$$@,$$*,$$<),mkdir -p $$(dir $$@) && cp $$< $$@)
49*b1cdbd2cSJim Jagielski
50*b1cdbd2cSJim Jagielskiendef
51*b1cdbd2cSJim Jagielski
52*b1cdbd2cSJim Jagielski$(foreach repo,$(gb_SrsPartMergeTarget_REPOS),$(eval $(call gb_SrsPartMergeTarget__rules,$(repo))))
53*b1cdbd2cSJim Jagielski
54*b1cdbd2cSJim Jagielski# SrsPartTarget class
55*b1cdbd2cSJim Jagielski
56*b1cdbd2cSJim Jagielskigb_SrsPartTarget_REPOS := $(gb_REPOS)
57*b1cdbd2cSJim Jagielski# defined by platform
58*b1cdbd2cSJim Jagielski#  gb_SrsPartTarget_RSCTARGET
59*b1cdbd2cSJim Jagielski#  gb_SrsPartTarget_RSCCOMMAND
60*b1cdbd2cSJim Jagielski#  gb_SrsPartTarget__command_dep
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim Jagielskidefine gb_SrsPartTarget__command
63*b1cdbd2cSJim Jagielski$(call gb_Helper_abbreviate_dirs_native,\
64*b1cdbd2cSJim Jagielski	mkdir -p $(dir $(1)) && \
65*b1cdbd2cSJim Jagielski	RESPONSEFILE=`$(gb_MKTEMP)` && \
66*b1cdbd2cSJim Jagielski	echo "-s \
67*b1cdbd2cSJim Jagielski		$(INCLUDE) \
68*b1cdbd2cSJim Jagielski		-I$(dir $(3)) \
69*b1cdbd2cSJim Jagielski		$(DEFS) \
70*b1cdbd2cSJim Jagielski		-fp=$(1) \
71*b1cdbd2cSJim Jagielski		$(if $(MERGEDFILE),$(MERGEDFILE),$<)" > $${RESPONSEFILE} && \
72*b1cdbd2cSJim Jagielski	$(gb_SrsPartTarget_RSCCOMMAND) -presponse @$${RESPONSEFILE} && \
73*b1cdbd2cSJim Jagielski	rm -rf $${RESPONSEFILE})
74*b1cdbd2cSJim Jagielski
75*b1cdbd2cSJim Jagielskiendef
76*b1cdbd2cSJim Jagielski
77*b1cdbd2cSJim Jagielskidefine gb_SrsPartTarget__rules
78*b1cdbd2cSJim Jagielski$$(call gb_SrsPartTarget_get_target,%) : $(1)/% $$(gb_Helper_MISCDUMMY) | $$(gb_SrsPartTarget_RSCTARGET)
79*b1cdbd2cSJim Jagielski	$$(call gb_SrsPartTarget__command_dep,$$*,$$<)
80*b1cdbd2cSJim Jagielski	$$(call gb_SrsPartTarget__command,$$@,$$*,$$<)
81*b1cdbd2cSJim Jagielski
82*b1cdbd2cSJim Jagielskiifeq ($(gb_FULLDEPS),$(true))
83*b1cdbd2cSJim Jagielski$$(call gb_SrsPartTarget_get_dep_target,%) : $(1)/% $$(gb_Helper_MISCDUMMY)
84*b1cdbd2cSJim Jagielski	$$(call gb_Helper_abbreviate_dirs,\
85*b1cdbd2cSJim Jagielski		mkdir -p $$(dir $$@) && \
86*b1cdbd2cSJim Jagielski		echo '$$(call gb_SrsPartTarget_get_target,$$*) : $$(gb_Helper_PHONY)' > $$@)
87*b1cdbd2cSJim Jagielskiendif
88*b1cdbd2cSJim Jagielski
89*b1cdbd2cSJim Jagielskiendef
90*b1cdbd2cSJim Jagielski
91*b1cdbd2cSJim Jagielski$(foreach repo,$(gb_SrsPartTarget_REPOS),$(eval $(call gb_SrsPartTarget__rules,$(repo))))
92*b1cdbd2cSJim Jagielski
93*b1cdbd2cSJim Jagielskiifeq ($(gb_FULLDEPS),$(true))
94*b1cdbd2cSJim Jagielski$(call gb_SrsPartTarget_get_dep_target,%) :
95*b1cdbd2cSJim Jagielski	$(eval $(call gb_Output_error,Unable to find resource definition file $* in repositories: $(gb_SrsPartTarget_REPOS)))
96*b1cdbd2cSJim Jagielskiendif
97*b1cdbd2cSJim Jagielski
98*b1cdbd2cSJim Jagielski
99*b1cdbd2cSJim Jagielskidefine gb_SrsPartTarget_SrsPartTarget
100*b1cdbd2cSJim Jagielskiifeq ($(strip $(gb_WITH_LANG)),)
101*b1cdbd2cSJim Jagielski$(call gb_SrsPartTarget_get_target,$(1)) : MERGEDFILE :=
102*b1cdbd2cSJim Jagielskielse
103*b1cdbd2cSJim Jagielski$(call gb_SrsPartTarget_get_target,$(1)) : MERGEDFILE := $(call gb_SrsPartMergeTarget_get_target,$(1))
104*b1cdbd2cSJim Jagielski$(call gb_SrsPartTarget_get_target,$(1)) : $(call gb_SrsPartMergeTarget_get_target,$(1))
105*b1cdbd2cSJim Jagielski$(call gb_SrsPartMergeTarget_get_target,$(1)) : SDF := $(realpath $(gb_SrsPartMergeTarget_SDFLOCATION)$(dir $(1))localize.sdf)
106*b1cdbd2cSJim Jagielski$(call gb_SrsPartMergeTarget_get_target,$(1)) : $(realpath $(gb_SrsPartMergeTarget_SDFLOCATION)$(dir $(1))localize.sdf)
107*b1cdbd2cSJim Jagielskiendif
108*b1cdbd2cSJim Jagielski
109*b1cdbd2cSJim Jagielskiendef
110*b1cdbd2cSJim Jagielski
111*b1cdbd2cSJim Jagielski
112*b1cdbd2cSJim Jagielski# SrsTarget class
113*b1cdbd2cSJim Jagielski
114*b1cdbd2cSJim Jagielskigb_SrsTarget_DEFAULTDEFS := $(gb_GLOBALDEFS)
115*b1cdbd2cSJim Jagielski
116*b1cdbd2cSJim Jagielski.PHONY : $(call gb_SrsTarget_get_clean_target,%)
117*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_clean_target,%) :
118*b1cdbd2cSJim Jagielski	$(call gb_Output_announce,$*,$(false),SRS,1)
119*b1cdbd2cSJim Jagielski	-$(call gb_Helper_abbreviate_dirs,\
120*b1cdbd2cSJim Jagielski		rm -f $(call gb_SrsTarget_get_target,$*) \
121*b1cdbd2cSJim Jagielski			$(call gb_SrsTarget_get_dep_target,$*) \
122*b1cdbd2cSJim Jagielski			$(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_target,$(part))) \
123*b1cdbd2cSJim Jagielski			$(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_dep_target,$(part))) \
124*b1cdbd2cSJim Jagielski			$(foreach part,$(PARTS),$(call gb_SrsPartMergeTarget_get_target,$(part))))
125*b1cdbd2cSJim Jagielski
126*b1cdbd2cSJim Jagielskiifeq ($(gb_FULLDEPS),$(true))
127*b1cdbd2cSJim Jagielskidefine gb_SrsTarget__command_dep
128*b1cdbd2cSJim Jagielski$(call gb_Output_announce,SRS:$(2),$(true),DEP,1)
129*b1cdbd2cSJim Jagielski$(call gb_Helper_abbreviate_dirs,\
130*b1cdbd2cSJim Jagielski	mkdir -p $(dir $(1)) && \
131*b1cdbd2cSJim Jagielski	cat $(3) > $(1))
132*b1cdbd2cSJim Jagielskiendef
133*b1cdbd2cSJim Jagielskiendif
134*b1cdbd2cSJim Jagielski
135*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_target,%) :
136*b1cdbd2cSJim Jagielski	$(call gb_SrsTarget__command_dep,$(call gb_SrsTarget_get_dep_target,$*),$*,$(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_dep_target,$(part))))
137*b1cdbd2cSJim Jagielski	$(call gb_Output_announce,$*,$(true),SRS,1)
138*b1cdbd2cSJim Jagielski	$(call gb_Helper_abbreviate_dirs,\
139*b1cdbd2cSJim Jagielski		mkdir -p $(dir $@) && \
140*b1cdbd2cSJim Jagielski		cat $^ > $@)
141*b1cdbd2cSJim Jagielski
142*b1cdbd2cSJim Jagielskiifeq ($(gb_FULLDEPS),$(true))
143*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_dep_target,%) :
144*b1cdbd2cSJim Jagielski	$(call gb_SrsTarget__command_dep,$@,$*,$^)
145*b1cdbd2cSJim Jagielskiendif
146*b1cdbd2cSJim Jagielski
147*b1cdbd2cSJim Jagielskidefine gb_SrsTarget_SrsTarget
148*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_target,$(1)) : DEFS := $(gb_SrsTarget_DEFAULTDEFS)
149*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_target,$(1)) : INCLUDE := $(SOLARINC)
150*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_clean_target,$(1)) : PARTS :=
151*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_target,$(1)) : PARTS :=
152*b1cdbd2cSJim Jagielskiifeq ($(gb_FULLDEPS),$(true))
153*b1cdbd2cSJim Jagielskiifneq ($(wildcard $(call gb_SrsTarget_get_dep_target,$(1))),)
154*b1cdbd2cSJim Jagielskiinclude $(call gb_SrsTarget_get_dep_target,$(1))
155*b1cdbd2cSJim Jagielskielse
156*b1cdbd2cSJim Jagielski$(firstword $(MAKEFILE_LIST)) : $(call gb_SrsTarget_get_dep_target,$(1))
157*b1cdbd2cSJim Jagielskiendif
158*b1cdbd2cSJim Jagielskiendif
159*b1cdbd2cSJim Jagielski
160*b1cdbd2cSJim Jagielskiendef
161*b1cdbd2cSJim Jagielski
162*b1cdbd2cSJim Jagielskidefine gb_SrsTarget_set_defs
163*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_target,$(1)) : DEFS := $(2)
164*b1cdbd2cSJim Jagielskiifeq ($(gb_FULLDEPS),$(true))
165*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_dep_target,$(1)) : DEFS := $(2)
166*b1cdbd2cSJim Jagielskiendif
167*b1cdbd2cSJim Jagielski
168*b1cdbd2cSJim Jagielskiendef
169*b1cdbd2cSJim Jagielski
170*b1cdbd2cSJim Jagielskidefine gb_SrsTarget_set_include
171*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_target,$(1)) : INCLUDE := $(2)
172*b1cdbd2cSJim Jagielskiifeq ($(gb_FULLDEPS),$(true))
173*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_dep_target,$(1)) : INCLUDE := $(2)
174*b1cdbd2cSJim Jagielskiendif
175*b1cdbd2cSJim Jagielski
176*b1cdbd2cSJim Jagielskiendef
177*b1cdbd2cSJim Jagielski
178*b1cdbd2cSJim Jagielskidefine gb_SrsTarget_add_file
179*b1cdbd2cSJim Jagielskiifeq ($(gb_FULLDEPS),$(true))
180*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_dep_target,$(1)) : $(call gb_SrsPartTarget_get_dep_target,$(2))
181*b1cdbd2cSJim Jagielskiendif
182*b1cdbd2cSJim Jagielski$(call gb_SrsPartTarget_SrsPartTarget,$(2))
183*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_target,$(1)) : $(call gb_SrsPartTarget_get_target,$(2))
184*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_clean_target,$(1)) : PARTS += $(2)
185*b1cdbd2cSJim Jagielski$(call gb_SrsTarget_get_target,$(1)) : PARTS += $(2)
186*b1cdbd2cSJim Jagielski
187*b1cdbd2cSJim Jagielskiendef
188*b1cdbd2cSJim Jagielski
189*b1cdbd2cSJim Jagielskidefine gb_SrsTarget_add_files
190*b1cdbd2cSJim Jagielski$(foreach file,$(2),$(call gb_SrsTarget_add_file,$(1),$(file)))
191*b1cdbd2cSJim Jagielski
192*b1cdbd2cSJim Jagielskiendef
193*b1cdbd2cSJim Jagielski
194*b1cdbd2cSJim Jagielski
195*b1cdbd2cSJim Jagielski# ResTarget
196*b1cdbd2cSJim Jagielski
197*b1cdbd2cSJim Jagielskigb_ResTarget_RSCTARGET := $(gb_SrsPartTarget_RSCTARGET)
198*b1cdbd2cSJim Jagielskigb_ResTarget_RSCCOMMAND := $(gb_SrsPartTarget_RSCCOMMAND)
199*b1cdbd2cSJim Jagielskigb_ResTarget_DEFIMAGESLOCATION := $(SRCDIR)/default_images/
200*b1cdbd2cSJim Jagielski
201*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_clean_target,%) :
202*b1cdbd2cSJim Jagielski	$(call gb_Output_announce,$*,$(false),RES,2)
203*b1cdbd2cSJim Jagielski	$(call gb_Helper_abbreviate_dirs,\
204*b1cdbd2cSJim Jagielski		rm -f $(call gb_ResTarget_get_target,$*) $(call gb_ResTarget_get_imagelist_target,$*) $(call gb_ResTarget_get_outdir_target,$*) $(call gb_ResTarget_get_outdir_imagelist_target,$*))
205*b1cdbd2cSJim Jagielski
206*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) | $(gb_ResTarget_RSCTARGET)
207*b1cdbd2cSJim Jagielski	$(call gb_Output_announce,$*,$(true),RES,2)
208*b1cdbd2cSJim Jagielski	$(call gb_Helper_abbreviate_dirs_native,\
209*b1cdbd2cSJim Jagielski		mkdir -p $(dir $@) $(OUTDIR)/bin \
210*b1cdbd2cSJim Jagielski			$(dir $(call gb_ResTarget_get_imagelist_target,$*)) && \
211*b1cdbd2cSJim Jagielski		RESPONSEFILE=`$(gb_MKTEMP)` && \
212*b1cdbd2cSJim Jagielski		echo "-r -p \
213*b1cdbd2cSJim Jagielski			-lg$(LANGUAGE) \
214*b1cdbd2cSJim Jagielski			-fs=$@ \
215*b1cdbd2cSJim Jagielski			-lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/$(LIBRARY)) \
216*b1cdbd2cSJim Jagielski			-lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/imglst/$(LANGUAGE)) \
217*b1cdbd2cSJim Jagielski			-lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/imglst) \
218*b1cdbd2cSJim Jagielski			-lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/res/$(LANGUAGE)) \
219*b1cdbd2cSJim Jagielski			-lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/res) \
220*b1cdbd2cSJim Jagielski			-lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)) \
221*b1cdbd2cSJim Jagielski			-lip=$(gb_ResTarget_DEFIMAGESLOCATION)res/$(LANGUAGE) \
222*b1cdbd2cSJim Jagielski			-lip=$(gb_ResTarget_DEFIMAGESLOCATION)res \
223*b1cdbd2cSJim Jagielski			-subMODULE=$(dir $(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION))) \
224*b1cdbd2cSJim Jagielski			-subGLOBALRES=$(gb_ResTarget_DEFIMAGESLOCATION)res \
225*b1cdbd2cSJim Jagielski			-oil=$(dir $(call gb_ResTarget_get_imagelist_target,$*)) \
226*b1cdbd2cSJim Jagielski			$(filter-out $(gb_Helper_MISCDUMMY),$^)" > $${RESPONSEFILE} && \
227*b1cdbd2cSJim Jagielski		$(gb_ResTarget_RSCCOMMAND) @$${RESPONSEFILE} && \
228*b1cdbd2cSJim Jagielski		rm -f $${RESPONSEFILE})
229*b1cdbd2cSJim Jagielski
230*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_outdir_target,%) :
231*b1cdbd2cSJim Jagielski	$(call gb_Helper_abbreviate_dirs,\
232*b1cdbd2cSJim Jagielski		$(call gb_Deliver_deliver,$<,$@) && \
233*b1cdbd2cSJim Jagielski		$(call gb_Deliver_deliver,$(dir $<)/$(notdir $(ILSTTARGET)),$(ILSTTARGET)))
234*b1cdbd2cSJim Jagielski
235*b1cdbd2cSJim Jagielskidefine gb_ResTarget_ResTarget
236*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_target,$(1)) : LIBRARY = $(2)
237*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_target,$(1)) : LANGUAGE = $(3)
238*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_target,$(1)) : RESLOCATION = $(2)
239*b1cdbd2cSJim Jagielski$(call gb_AllLangResTarget_get_target,$(2)) : $(call gb_ResTarget_get_outdir_target,$(1))
240*b1cdbd2cSJim Jagielski$(call gb_AllLangResTarget_get_clean_target,$(2)) : $(call gb_ResTarget_get_clean_target,$(1))
241*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_imagelist_target,$(1)) : $(call gb_ResTarget_get_target,$(1))
242*b1cdbd2cSJim Jagielski
243*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_outdir_target,$(1)) : $(call gb_ResTarget_get_target,$(1))
244*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_outdir_target,$(1)) : ILSTTARGET = $(call gb_ResTarget_get_outdir_imagelist_target,$(1))
245*b1cdbd2cSJim Jagielski$(call gb_Deliver_add_deliverable,$(call gb_ResTarget_get_outdir_target,$(1)),$(call gb_ResTarget_get_target,$(1)))
246*b1cdbd2cSJim Jagielski$(call gb_Deliver_add_deliverable,$(call gb_ResTarget_get_outdir_imagelist_target,$(1)),$(call gb_ResTarget_get_imagelist_target,$(1)))
247*b1cdbd2cSJim Jagielski
248*b1cdbd2cSJim Jagielskiendef
249*b1cdbd2cSJim Jagielski
250*b1cdbd2cSJim Jagielskidefine gb_ResTarget_add_file
251*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_target,$(1)) : $(2)
252*b1cdbd2cSJim Jagielski
253*b1cdbd2cSJim Jagielskiendef
254*b1cdbd2cSJim Jagielski
255*b1cdbd2cSJim Jagielskidefine gb_ResTarget_add_one_srs
256*b1cdbd2cSJim Jagielski$(call gb_ResTarget_add_file,$(1),$(call gb_SrsTarget_get_target,$(2)))
257*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_clean_target,$(1)) : $(call gb_SrsTarget_get_clean_target,$(2))
258*b1cdbd2cSJim Jagielski
259*b1cdbd2cSJim Jagielskiendef
260*b1cdbd2cSJim Jagielski
261*b1cdbd2cSJim Jagielskidefine gb_ResTarget_add_files
262*b1cdbd2cSJim Jagielski$(foreach file,$(2),\
263*b1cdbd2cSJim Jagielski	$(call gb_ResTarget_add_file,$(1),$(file)))
264*b1cdbd2cSJim Jagielski
265*b1cdbd2cSJim Jagielskiendef
266*b1cdbd2cSJim Jagielski
267*b1cdbd2cSJim Jagielskidefine gb_ResTarget_add_srs
268*b1cdbd2cSJim Jagielski$(foreach srs,$(2),\
269*b1cdbd2cSJim Jagielski	$(call gb_ResTarget_add_one_srs,$(1),$(srs)))
270*b1cdbd2cSJim Jagielski
271*b1cdbd2cSJim Jagielskiendef
272*b1cdbd2cSJim Jagielski
273*b1cdbd2cSJim Jagielskidefine gb_ResTarget_set_reslocation
274*b1cdbd2cSJim Jagielski$(call gb_ResTarget_get_target,$(1)) : RESLOCATION = $(2)
275*b1cdbd2cSJim Jagielski
276*b1cdbd2cSJim Jagielskiendef
277*b1cdbd2cSJim Jagielski
278*b1cdbd2cSJim Jagielski
279*b1cdbd2cSJim Jagielski# AllLangResTarget
280*b1cdbd2cSJim Jagielski
281*b1cdbd2cSJim Jagielskigb_AllLangResTarget_LANGS := en-US $(filter-out en-US,$(gb_WITH_LANG))
282*b1cdbd2cSJim Jagielski
283*b1cdbd2cSJim Jagielskidefine gb_AllLangResTarget_set_langs
284*b1cdbd2cSJim Jagielskigb_AllLangResTarget_LANGS := $(1)
285*b1cdbd2cSJim Jagielskiendef
286*b1cdbd2cSJim Jagielski
287*b1cdbd2cSJim Jagielski$(call gb_AllLangResTarget_get_clean_target,%) :
288*b1cdbd2cSJim Jagielski	$(call gb_Helper_abbreviate_dirs,\
289*b1cdbd2cSJim Jagielski		rm -f $(call gb_AllLangResTarget_get_target,$*))
290*b1cdbd2cSJim Jagielski
291*b1cdbd2cSJim Jagielski$(call gb_AllLangResTarget_get_target,%) :
292*b1cdbd2cSJim Jagielski	$(call gb_Helper_abbreviate_dirs,\
293*b1cdbd2cSJim Jagielski		mkdir -p $(dir $@) && touch $@)
294*b1cdbd2cSJim Jagielski
295*b1cdbd2cSJim Jagielskidefine gb_AllLangResTarget_AllLangResTarget
296*b1cdbd2cSJim Jagielski$(foreach lang,$(gb_AllLangResTarget_LANGS),\
297*b1cdbd2cSJim Jagielski	$(call gb_ResTarget_ResTarget,$(1)$(lang),$(1),$(lang)))
298*b1cdbd2cSJim Jagielski$$(eval $$(call gb_Module_register_target,$(call gb_AllLangResTarget_get_target,$(1)),$(call gb_AllLangResTarget_get_clean_target,$(1))))
299*b1cdbd2cSJim Jagielski
300*b1cdbd2cSJim Jagielskiendef
301*b1cdbd2cSJim Jagielski
302*b1cdbd2cSJim Jagielskidefine gb_AllLangResTarget_add_one_srs
303*b1cdbd2cSJim Jagielski$(foreach lang,$(gb_AllLangResTarget_LANGS),\
304*b1cdbd2cSJim Jagielski	$(call gb_ResTarget_add_one_srs,$(1)$(lang),$(2)))
305*b1cdbd2cSJim Jagielski
306*b1cdbd2cSJim Jagielskiendef
307*b1cdbd2cSJim Jagielski
308*b1cdbd2cSJim Jagielskidefine gb_AllLangResTarget_add_srs
309*b1cdbd2cSJim Jagielski$(foreach srs,$(2),\
310*b1cdbd2cSJim Jagielski	$(call gb_AllLangResTarget_add_one_srs,$(1),$(srs)))
311*b1cdbd2cSJim Jagielski
312*b1cdbd2cSJim Jagielskiendef
313*b1cdbd2cSJim Jagielski
314*b1cdbd2cSJim Jagielskidefine gb_AllLangResTarget_set_reslocation
315*b1cdbd2cSJim Jagielski$(foreach lang,$(gb_AllLangResTarget_LANGS),\
316*b1cdbd2cSJim Jagielski	$(call gb_ResTarget_set_reslocation,$(1)$(lang),$(2)))
317*b1cdbd2cSJim Jagielski
318*b1cdbd2cSJim Jagielskiendef
319*b1cdbd2cSJim Jagielski
320*b1cdbd2cSJim Jagielski# vim: set noet sw=4 ts=4:
321