xref: /trunk/main/i18npool/source/localedata/data/makefile.mk (revision fc9fd3f14a55d77b35643a64034752a178b2a5b0)
1#*************************************************************************
2#*
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# Copyright 2000, 2010 Oracle and/or its affiliates.
6#
7# OpenOffice.org - a multi-platform office productivity suite
8#
9# This file is part of OpenOffice.org.
10#
11# OpenOffice.org is free software: you can redistribute it and/or modify
12# it under the terms of the GNU Lesser General Public License version 3
13# only, as published by the Free Software Foundation.
14#
15# OpenOffice.org is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18# GNU Lesser General Public License version 3 for more details
19# (a copy is included in the LICENSE file that accompanied this code).
20#
21# You should have received a copy of the GNU Lesser General Public License
22# version 3 along with OpenOffice.org.  If not, see
23# <http://www.openoffice.org/license.html>
24# for a copy of the LGPLv3 License.
25#
26#************************************************************************
27
28PRJ=..$/..$/..
29
30PRJNAME=i18npool
31TARGET=localedata
32.IF "$(GUI)" == "OS2"
33TARGET=ld
34.ENDIF
35LIBTARGET=NO
36
37# Disable debugging on MSC compilers, due linker bug
38.IF "$(COM)"=="MSC"
39debug!=
40.ENDIF
41
42.IF "$(OS)" == "WNT"
43my_file = file:///
44.ELSE
45my_file = file://
46.END
47
48my_components = sax.inbuild
49
50# --- Settings -----------------------------------------------------
51
52.INCLUDE :  settings.mk
53
54# macro to link with localedata_en library
55.IF "$(GUI)" == "WNT"
56.IF "$(COM)"=="GCC"
57LINK_LOCALEDATA_EN_LIB=-l$(SHL1TARGET)
58LINK_LOCALEDATA_ES_LIB=-l$(SHL2TARGET)
59.ELSE
60LINK_LOCALEDATA_EN_LIB=$(LB)$/i$(SHL1TARGET).lib
61LINK_LOCALEDATA_ES_LIB=$(LB)$/i$(SHL2TARGET).lib
62.ENDIF
63.ELIF "$(GUI)" == "OS2"
64LINK_LOCALEDATA_EN_LIB=$(LB)$/i$(SHL1TARGET).lib
65LINK_LOCALEDATA_ES_LIB=$(LB)$/i$(SHL2TARGET).lib
66.ELSE
67LINK_LOCALEDATA_EN_LIB=-l$(SHL1TARGET)
68LINK_LOCALEDATA_ES_LIB=-l$(SHL2TARGET)
69.ENDIF
70
71# --- Files --------------------------------------------------------
72
73# English Locales
74SHL1TARGET=localedata_en
75.IF "$(GUI)" == "OS2"
76SHL1TARGET=ld_en
77.ENDIF
78SHL1IMPLIB=i$(SHL1TARGET)
79
80SHL1VERSIONMAP=localedata_en.map
81SHL1DEF=$(MISC)$/$(SHL1TARGET).def
82DEF1NAME=$(SHL1TARGET)
83
84SHL1OBJS= \
85    $(SLO)$/localedata_en_AU.obj \
86    $(SLO)$/localedata_en_BZ.obj \
87    $(SLO)$/localedata_en_CA.obj \
88    $(SLO)$/localedata_en_GB.obj \
89    $(SLO)$/localedata_en_GH.obj \
90    $(SLO)$/localedata_en_IE.obj \
91    $(SLO)$/localedata_en_JM.obj \
92    $(SLO)$/localedata_en_NA.obj \
93    $(SLO)$/localedata_en_NZ.obj \
94    $(SLO)$/localedata_en_PH.obj \
95    $(SLO)$/localedata_en_TT.obj \
96    $(SLO)$/localedata_en_US.obj \
97    $(SLO)$/localedata_en_ZA.obj \
98    $(SLO)$/localedata_en_ZW.obj
99
100LIB1TARGET= $(SLB)$/$(SHL1TARGET).lib
101LIB1OBJFILES=$(SHL1OBJS)
102
103# Spanish Locales
104SHL2TARGET=localedata_es
105.IF "$(GUI)" == "OS2"
106SHL2TARGET=ld_es
107.ENDIF
108SHL2IMPLIB=i$(SHL2TARGET)
109
110SHL2VERSIONMAP=localedata_es.map
111SHL2DEF=$(MISC)$/$(SHL2TARGET).def
112DEF2NAME=$(SHL2TARGET)
113
114SHL2STDLIBS=    $(LINK_LOCALEDATA_EN_LIB)
115SHL2DEPN=$(SHL1TARGETN)
116SHL2OBJS= \
117    $(SLO)$/localedata_es_AR.obj \
118    $(SLO)$/localedata_es_BO.obj \
119    $(SLO)$/localedata_es_CL.obj \
120    $(SLO)$/localedata_es_CO.obj \
121    $(SLO)$/localedata_es_CR.obj \
122    $(SLO)$/localedata_es_DO.obj \
123    $(SLO)$/localedata_es_EC.obj \
124    $(SLO)$/localedata_es_ES.obj \
125    $(SLO)$/localedata_es_GT.obj \
126    $(SLO)$/localedata_es_HN.obj \
127    $(SLO)$/localedata_es_MX.obj \
128    $(SLO)$/localedata_es_NI.obj \
129    $(SLO)$/localedata_es_PA.obj \
130    $(SLO)$/localedata_es_PE.obj \
131    $(SLO)$/localedata_es_PR.obj \
132    $(SLO)$/localedata_es_PY.obj \
133    $(SLO)$/localedata_es_SV.obj \
134    $(SLO)$/localedata_es_UY.obj \
135    $(SLO)$/localedata_es_VE.obj \
136    $(SLO)$/localedata_gl_ES.obj
137
138LIB2TARGET= $(SLB)$/$(SHL2TARGET).lib
139LIB2OBJFILES=$(SHL2OBJS)
140
141# European Locales
142SHL3TARGET=localedata_euro
143.IF "$(GUI)" == "OS2"
144SHL3TARGET=ld_eur
145.ENDIF
146SHL3IMPLIB=i$(SHL3TARGET)
147
148SHL3VERSIONMAP=localedata_euro.map
149SHL3DEF=$(MISC)$/$(SHL3TARGET).def
150DEF3NAME=$(SHL3TARGET)
151
152SHL3STDLIBS=    $(LINK_LOCALEDATA_EN_LIB)
153SHL3DEPN=$(SHL1TARGETN) $(SHL2TARGETN)
154SHL3OBJS=   \
155    $(SLO)$/localedata_ast_ES.obj   \
156    $(SLO)$/localedata_be_BY.obj    \
157    $(SLO)$/localedata_bg_BG.obj    \
158    $(SLO)$/localedata_br_FR.obj    \
159    $(SLO)$/localedata_bs_BA.obj    \
160    $(SLO)$/localedata_ca_ES.obj    \
161    $(SLO)$/localedata_cs_CZ.obj    \
162    $(SLO)$/localedata_cv_RU.obj    \
163    $(SLO)$/localedata_cy_GB.obj    \
164    $(SLO)$/localedata_da_DK.obj    \
165    $(SLO)$/localedata_de_AT.obj    \
166    $(SLO)$/localedata_de_CH.obj    \
167    $(SLO)$/localedata_de_DE.obj    \
168    $(SLO)$/localedata_de_LI.obj    \
169    $(SLO)$/localedata_de_LU.obj    \
170    $(SLO)$/localedata_dsb_DE.obj   \
171    $(SLO)$/localedata_el_GR.obj    \
172    $(SLO)$/localedata_et_EE.obj    \
173    $(SLO)$/localedata_eu.obj   \
174    $(SLO)$/localedata_fi_FI.obj    \
175    $(SLO)$/localedata_fo_FO.obj    \
176    $(SLO)$/localedata_fr_BE.obj    \
177    $(SLO)$/localedata_fr_CA.obj    \
178    $(SLO)$/localedata_fr_CH.obj    \
179    $(SLO)$/localedata_fr_FR.obj    \
180    $(SLO)$/localedata_fr_LU.obj    \
181    $(SLO)$/localedata_fr_MC.obj    \
182    $(SLO)$/localedata_fur_IT.obj   \
183    $(SLO)$/localedata_fy_NL.obj    \
184    $(SLO)$/localedata_ga_IE.obj    \
185    $(SLO)$/localedata_gsc_FR.obj   \
186    $(SLO)$/localedata_hr_HR.obj    \
187    $(SLO)$/localedata_hsb_DE.obj   \
188    $(SLO)$/localedata_is_IS.obj    \
189    $(SLO)$/localedata_it_CH.obj    \
190    $(SLO)$/localedata_it_IT.obj    \
191    $(SLO)$/localedata_ka_GE.obj    \
192    $(SLO)$/localedata_kl_GL.obj    \
193    $(SLO)$/localedata_la_VA.obj    \
194    $(SLO)$/localedata_lb_LU.obj    \
195    $(SLO)$/localedata_lt_LT.obj    \
196    $(SLO)$/localedata_ltg_LV.obj   \
197    $(SLO)$/localedata_lv_LV.obj    \
198    $(SLO)$/localedata_mk_MK.obj    \
199    $(SLO)$/localedata_mt_MT.obj    \
200    $(SLO)$/localedata_nb_NO.obj    \
201    $(SLO)$/localedata_nl_BE.obj    \
202    $(SLO)$/localedata_nl_NL.obj    \
203    $(SLO)$/localedata_nn_NO.obj    \
204    $(SLO)$/localedata_no_NO.obj    \
205    $(SLO)$/localedata_oc_FR.obj    \
206    $(SLO)$/localedata_pl_PL.obj    \
207    $(SLO)$/localedata_pt_BR.obj    \
208    $(SLO)$/localedata_pt_PT.obj    \
209    $(SLO)$/localedata_ro_RO.obj    \
210    $(SLO)$/localedata_rue_SK.obj   \
211    $(SLO)$/localedata_ru_RU.obj    \
212    $(SLO)$/localedata_sc_IT.obj    \
213    $(SLO)$/localedata_sh_ME.obj    \
214    $(SLO)$/localedata_sh_RS.obj    \
215    $(SLO)$/localedata_sh_YU.obj    \
216    $(SLO)$/localedata_sk_SK.obj    \
217    $(SLO)$/localedata_sl_SI.obj    \
218    $(SLO)$/localedata_sr_ME.obj    \
219    $(SLO)$/localedata_sr_RS.obj    \
220    $(SLO)$/localedata_sr_YU.obj    \
221    $(SLO)$/localedata_sv_FI.obj    \
222    $(SLO)$/localedata_sv_SE.obj    \
223    $(SLO)$/localedata_tr_TR.obj    \
224    $(SLO)$/localedata_uk_UA.obj    \
225    $(SLO)$/localedata_wa_BE.obj
226
227LIB3TARGET= $(SLB)$/$(SHL3TARGET).lib
228LIB3OBJFILES=$(SHL3OBJS)
229
230# Other Locales
231SHL4TARGET=localedata_others
232.IF "$(GUI)" == "OS2"
233SHL4TARGET=ld_oth
234.ENDIF
235SHL4IMPLIB=i$(SHL4TARGET)
236
237SHL4VERSIONMAP=localedata_others.map
238SHL4DEF=$(MISC)$/$(SHL4TARGET).def
239DEF4NAME=$(SHL4TARGET)
240
241SHL4STDLIBS=    $(LINK_LOCALEDATA_EN_LIB)
242SHL4DEPN=$(SHL1TARGETN)
243SHL4OBJS= \
244    $(SLO)$/localedata_af_NA.obj \
245    $(SLO)$/localedata_af_ZA.obj \
246    $(SLO)$/localedata_ak_GH.obj \
247    $(SLO)$/localedata_am_ET.obj \
248    $(SLO)$/localedata_ar_DZ.obj \
249    $(SLO)$/localedata_ar_EG.obj \
250    $(SLO)$/localedata_ar_LB.obj \
251    $(SLO)$/localedata_ar_OM.obj \
252    $(SLO)$/localedata_ar_SA.obj \
253    $(SLO)$/localedata_ar_TN.obj \
254    $(SLO)$/localedata_az_AZ.obj \
255    $(SLO)$/localedata_bn_IN.obj \
256    $(SLO)$/localedata_bn_BD.obj \
257    $(SLO)$/localedata_dz_BT.obj \
258    $(SLO)$/localedata_ee_GH.obj \
259    $(SLO)$/localedata_en_IN.obj \
260    $(SLO)$/localedata_eo.obj    \
261    $(SLO)$/localedata_fa_IR.obj \
262    $(SLO)$/localedata_gu_IN.obj \
263    $(SLO)$/localedata_gug_PY.obj \
264    $(SLO)$/localedata_haw_US.obj \
265    $(SLO)$/localedata_ha_GH.obj \
266    $(SLO)$/localedata_he_IL.obj \
267    $(SLO)$/localedata_hi_IN.obj \
268    $(SLO)$/localedata_hil_PH.obj \
269    $(SLO)$/localedata_ht_HT.obj \
270    $(SLO)$/localedata_hu_HU.obj \
271    $(SLO)$/localedata_hy_AM.obj \
272    $(SLO)$/localedata_ia.obj    \
273    $(SLO)$/localedata_id_ID.obj \
274    $(SLO)$/localedata_ja_JP.obj \
275    $(SLO)$/localedata_jbo.obj \
276    $(SLO)$/localedata_kk_KZ.obj \
277    $(SLO)$/localedata_km_KH.obj \
278    $(SLO)$/localedata_kn_IN.obj \
279    $(SLO)$/localedata_ko_KR.obj \
280    $(SLO)$/localedata_ku_TR.obj \
281    $(SLO)$/localedata_ky_KG.obj \
282    $(SLO)$/localedata_lg_UG.obj \
283    $(SLO)$/localedata_lif_NP.obj \
284    $(SLO)$/localedata_ln_CD.obj \
285    $(SLO)$/localedata_lo_LA.obj \
286    $(SLO)$/localedata_mai_IN.obj \
287    $(SLO)$/localedata_ml_IN.obj \
288    $(SLO)$/localedata_mn_MN.obj \
289    $(SLO)$/localedata_mr_IN.obj \
290    $(SLO)$/localedata_ms_MY.obj \
291    $(SLO)$/localedata_my_MM.obj \
292    $(SLO)$/localedata_ne_NP.obj \
293    $(SLO)$/localedata_nr_ZA.obj \
294    $(SLO)$/localedata_nso_ZA.obj \
295    $(SLO)$/localedata_om_ET.obj \
296    $(SLO)$/localedata_or_IN.obj \
297    $(SLO)$/localedata_pa_IN.obj \
298    $(SLO)$/localedata_plt_MG.obj \
299    $(SLO)$/localedata_rw_RW.obj \
300    $(SLO)$/localedata_sg_CF.obj \
301    $(SLO)$/localedata_shs_CA.obj \
302    $(SLO)$/localedata_so_SO.obj \
303    $(SLO)$/localedata_ss_ZA.obj \
304    $(SLO)$/localedata_st_ZA.obj \
305    $(SLO)$/localedata_sw_TZ.obj \
306    $(SLO)$/localedata_ta_IN.obj \
307    $(SLO)$/localedata_te_IN.obj \
308    $(SLO)$/localedata_tg_TJ.obj \
309    $(SLO)$/localedata_th_TH.obj \
310    $(SLO)$/localedata_ti_ER.obj \
311    $(SLO)$/localedata_tk_TM.obj \
312    $(SLO)$/localedata_tn_ZA.obj \
313    $(SLO)$/localedata_tpi_PG.obj \
314    $(SLO)$/localedata_ts_ZA.obj \
315    $(SLO)$/localedata_ug_CN.obj \
316    $(SLO)$/localedata_ur_PK.obj \
317    $(SLO)$/localedata_uz_UZ.obj \
318    $(SLO)$/localedata_ve_ZA.obj \
319    $(SLO)$/localedata_vi_VN.obj \
320    $(SLO)$/localedata_xh_ZA.obj \
321    $(SLO)$/localedata_yi_US.obj \
322    $(SLO)$/localedata_zh_CN.obj \
323    $(SLO)$/localedata_zh_HK.obj \
324    $(SLO)$/localedata_zh_MO.obj \
325    $(SLO)$/localedata_zh_SG.obj \
326    $(SLO)$/localedata_zh_TW.obj \
327    $(SLO)$/localedata_zu_ZA.obj
328
329LIB4TARGET= $(SLB)$/$(SHL4TARGET).lib
330LIB4OBJFILES=$(SHL4OBJS)
331
332DEPOBJFILES= \
333    $(SHL1OBJS) \
334    $(SHL2OBJS) \
335    $(SHL3OBJS) \
336    $(SHL4OBJS)
337
338# Interim files generated by the saxparser executable, for dependencies
339MY_MISC_CXXFILES := $(foreach,i,$(DEPOBJFILES) $(MISC)/$(i:b).cxx)
340
341# --- Targets ------------------------------------------------------
342
343.INCLUDE :  target.mk
344
345$(MY_MISC_CXXFILES) : $(BIN)$/saxparser$(EXECPOST) $(MISC)/saxparser.rdb
346
347$(MISC)$/localedata_%.cxx : %.xml
348    $(AUGMENT_LIBRARY_PATH) $(WRAPCMD) $(BIN)$/saxparser $* $< $@ \
349        $(my_file)$(PWD)/$(MISC)/saxparser.rdb $(SOLARBINDIR)$/types.rdb \
350        -env:OOO_INBUILD_SHAREDLIB_DIR=$(my_file)$(SOLARSHAREDBIN)
351    $(RM) $(BIN)$/$(@:b).rdb
352
353$(MISC)/saxparser.rdb .ERRREMOVE : $(SOLARENV)/bin/packcomponents.xslt \
354        $(MISC)/saxparser.input \
355        $(my_components:^"$(SOLARXMLDIR)/":+".component")
356    $(XSLTPROC) --nonet --stringparam prefix $(SOLARXMLDIR)/ -o $@ \
357        $(SOLARENV)/bin/packcomponents.xslt $(MISC)/saxparser.input
358
359$(MISC)/saxparser.input :
360    echo \
361        '<list>$(my_components:^"<filename>":+".component</filename>")</list>' \
362        > $@
363