xref: /trunk/main/instsetoo_native/util/makefile.mk (revision 9157bbca061bcb438741053b32c0bb7ed16fbd62)
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
24PRJ=..
25PRJNAME=instsetoo_native
26TARGET=util
27
28.INCLUDE:  settings.mk
29.INCLUDE: $(SOLARINCDIR)$/rtlbootstrap.mk
30
31# watch for the path delimiter
32.IF "$(GUI)"=="WNT"
33PYTHONPATH:=$(PWD)$/$(BIN);$(SOLARLIBDIR);$(SOLARLIBDIR)$/python;$(SOLARLIBDIR)$/python$/lib-dynload
34.ELSE           # "$(GUI)"=="WNT"
35PYTHONPATH:=$(PWD)$/$(BIN):$(SOLARLIBDIR):$(SOLARLIBDIR)$/python:$(SOLARLIBDIR)$/python$/lib-dynload
36.ENDIF          # "$(GUI)"=="WNT"
37.EXPORT: PYTHONPATH
38
39.IF "$(CWS_WORK_STAMP)"=="" || "$(UPDATER)"!=""
40ENABLE_DOWNLOADSETS*=TRUE
41.ENDIF          # "$(CWS_WORK_STAMP)"=="" || "$(UPDATER)"!=""
42.IF "$(FORCE_DOWNLOADSETS)"!=""
43ENABLE_DOWNLOADSETS=TRUE
44.ENDIF          # "$(FORCE_DOWNLOADSETS)"!=""
45
46.EXPORT: ENABLE_DOWNLOADSETS
47.EXPORT: LAST_MINOR
48.EXPORT: PRJ
49.EXPORT: PRJNAME
50
51.IF "$(OS)"=="LINUX"
52DONT_REMOVE_PACKAGE:=TRUE
53.EXPORT: DONT_REMOVE_PACKAGE
54.ENDIF          # "$(OS)"=="LINUX"
55
56.INCLUDE .IGNORE: $(SRC_ROOT)$/cwsname.mk
57
58SHARED_COM_SDK_PATH*:=.
59
60INSTALLDIR=$(OUT)
61
62.INCLUDE: target.mk
63
64# The help target belongs after the inclusion of target.mk to not become the default target.
65help .PHONY :
66    @echo "known targets:"
67    @echo "    openoffice             builds the default installation packages for the platform"
68    @echo "    aoo_srcrelease         packs the source release package"
69    @echo "    updatepack"
70    @echo "    openofficedev          devloper snapshot"
71    @echo "    openofficewithjre"
72    @echo "    ooolanguagepack"
73    @echo "    ooodevlanguagepack"
74    @echo "    sdkoo"
75    @echo "    sdkoodev"
76    @echo
77    @echo "Most targets (all except aoo_srcrelease and updatepack) accept suffixes"
78    @echo "    add _<language> to build a target for one language only"
79    @echo "        the default set of languages is alllangiso=$(alllangiso)"
80    @echo "    add .<package_format> to build a target for one package format only"
81    @echo "        the default set of package formats is archive and PKGFORMAT=$(PKGFORMAT)"
82
83
84LOCALPYFILES= \
85    $(BIN)$/uno.py \
86    $(BIN)$/unohelper.py \
87    $(BIN)$/pythonloader.py \
88    $(BIN)$/pythonscript.py \
89    $(BIN)$/officehelper.py \
90    $(BIN)$/mailmerge.py
91
92xxxx:
93    echo $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml
94
95.IF "$(GUI)"!="WNT" && "$(EPM)"=="NO" && "$(USE_PACKAGER)"==""
96ALLTAR  : $(LOCALPYFILES)
97    @echo "No EPM: do no packaging at this stage"
98.ELSE           # "$(GUI)"!="WNT" && "$(EPM)"=="NO" && "$(USE_PACKAGER)"==""
99.IF "$(UPDATER)"=="" || "$(USE_PACKAGER)"==""
100.IF "$(BUILD_TYPE)"=="$(BUILD_TYPE:s/ODK//)"
101ALLTAR : openoffice
102.ELSE
103ALLTAR : openoffice sdkoo_en-US
104.ENDIF
105.ELSE           # "$(UPDATER)"=="" || "$(USE_PACKAGER)"==""
106ALLTAR : updatepack
107.ENDIF          # "$(UPDATER)"=="" || "$(USE_PACKAGER)"==""
108.ENDIF          # "$(GUI)"!="WNT" && "$(EPM)"=="NO" && "$(USE_PACKAGER)"==""
109
110.IF "$(FORCE2ARCHIVE)" == "TRUE"
111PKGFORMAT = archive
112.END
113
114.IF "$(MAKETARGETS:e)"!=""
115PKGFORMAT+=$(MAKETARGETS:e:s/.//)
116.ENDIF          # "$(MAKETARGETS:e)"!=""
117
118# Independent of PKGFORMAT, always build a default-language openoffice product
119# also in archive format, so that tests that require an OOo installation (like
120# smoketestoo_native) have one available:
121openoffice_$(defaultlangiso) : $$@.archive
122
123.IF "$(VERBOSE)"=="TRUE"
124VERBOSESWITCH=-verbose
125.ELIF "$(VERBOSE)"=="FALSE"
126VERBOSESWITCH=-quiet
127.ENDIF
128
129.IF "$(VERBOSE_INSTALLER)"=="TRUE"
130VERBOSESWITCH+=-log
131.ENDIF
132
133# New target to prepare a source release
134SRC_RELEASE_OUT_DIR=$(shell cd $(OUT) && pwd)$/AOO_SRC_Release
135
136aoo_srcrelease: $(SOLARENV)$/bin$/srcrelease.xml
137    @-$(MKDIR) $(OUT)$/AOO_SRC_Release
138    $(ANT) -f $(SOLARENV)$/bin$/srcrelease.xml -q -Dbasedir=$(SOURCE_ROOT_DIR) -Dout.dir=$(SRC_RELEASE_OUT_DIR)
139
140updatepack:
141    $(PERL) -w $(SOLARENV)$/bin$/packager.pl
142
143.IF "$(alllangiso)"!=""
144
145openoffice: $(foreach,i,$(alllangiso) openoffice_$i)
146
147openofficedev: $(foreach,i,$(alllangiso) openofficedev_$i)
148
149openofficewithjre: $(foreach,i,$(alllangiso) openofficewithjre_$i)
150
151ooolanguagepack : $(foreach,i,$(alllangiso) ooolanguagepack_$i)
152
153ooodevlanguagepack: $(foreach,i,$(alllangiso) ooodevlanguagepack_$i)
154
155sdkoo: $(foreach,i,$(alllangiso) sdkoo_$i)
156
157sdkoodev: $(foreach,i,$(alllangiso) sdkoodev_$i)
158
159MSIOFFICETEMPLATESOURCE=$(PRJ)$/inc_openoffice$/windows$/msi_templates
160MSILANGPACKTEMPLATESOURCE=$(PRJ)$/inc_ooolangpack$/windows$/msi_templates
161MSISDKOOTEMPLATESOURCE=$(PRJ)$/inc_sdkoo$/windows$/msi_templates
162
163NOLOGOSPLASH:=$(BIN)$/intro.zip
164DEVNOLOGOSPLASH:=$(BIN)$/dev$/intro.zip
165MSIOFFICETEMPLATEDIR=$(MISC)$/openoffice$/msi_templates
166MSILANGPACKTEMPLATEDIR=$(MISC)$/ooolangpack$/msi_templates
167MSISDKOOTEMPLATEDIR=$(MISC)$/sdkoo$/msi_templates
168
169ADDDEPS=$(NOLOGOSPLASH) $(DEVNOLOGOSPLASH)
170
171.IF "$(OS)" == "WNT"
172ADDDEPS+=msitemplates
173.ENDIF
174
175$(foreach,i,$(alllangiso) openoffice_$i) : $(ADDDEPS)
176openoffice_$(defaultlangiso).archive : $(ADDDEPS)
177
178$(foreach,i,$(alllangiso) openofficedev_$i) : $(ADDDEPS)
179
180$(foreach,i,$(alllangiso) openofficewithjre_$i) : $(ADDDEPS)
181
182$(foreach,i,$(alllangiso) ooolanguagepack_$i) : $(ADDDEPS)
183
184$(foreach,i,$(alllangiso) ooodevlanguagepack_$i) : $(ADDDEPS)
185
186$(foreach,i,$(alllangiso) sdkoo_$i) : $(ADDDEPS)
187
188$(foreach,i,$(alllangiso) sdkoodev_$i) : $(ADDDEPS)
189
190.IF "$(MAKETARGETS)"!=""
191$(MAKETARGETS) : $(ADDDEPS)
192.ENDIF          # "$(MAKETARGETS)"!=""
193
194$(foreach,i,$(alllangiso) openoffice_$i) : $$@{$(PKGFORMAT:^".")}
195.IF "$(MAKETARGETS)"!=""
196.IF "$(MAKETARGETS:e)"=="" && "$(MAKETARGETS:s/_//)"!="$(MAKETARGETS)"
197$(MAKETARGETS) : $$@{$(PKGFORMAT:^".")}
198$(MAKETARGETS){$(PKGFORMAT:^".")} : $(ADDDEPS)
199.ENDIF          # "$(MAKETARGETS:e)"=="" && "$(MAKETARGETS:s/_//)"!="$(MAKETARGETS)"
200.ENDIF          # "$(MAKETARGETS)"!=""
201
202
203# This macro makes calling the make_installer.pl script a bit easier.
204# Just add -p and -msitemplate switches.
205MAKE_INSTALLER_COMMAND=                 \
206    @$(PERL) -w $(SOLARENV)$/bin$/make_installer.pl     \
207        -f $(PRJ)$/util$/openoffice.lst     \
208        -l $(subst,$(@:s/_/ /:1)_, $(@:b))  \
209        -u $(OUT)               \
210        -buildid $(BUILD)           \
211        -msilanguage $(MISC)$/win_ulffiles  \
212        -format $(@:e:s/.//)            \
213        $(VERBOSESWITCH)
214
215# This macro makes calling gen_update_info.pl a bit easier
216# Just add --product switches, and xml input file and redirect output.
217GEN_UPDATE_INFO_COMMAND=                    \
218    @$(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl        \
219        --buildid $(BUILD)              \
220        --arch "$(RTL_ARCH)"                \
221        --os "$(RTL_OS)"                \
222        --lstfile $(PRJ)$/util$/openoffice.lst      \
223        --languages $(subst,$(@:s/_/ /:1)_, $(@:b))
224
225openoffice_%{$(PKGFORMAT:^".")} :
226    $(MAKE_INSTALLER_COMMAND)       \
227        -p Apache_OpenOffice        \
228        -msitemplate $(MSIOFFICETEMPLATEDIR)
229    $(GEN_UPDATE_INFO_COMMAND)      \
230        --product Apache_OpenOffice \
231        $(PRJ)$/util$/update.xml    \
232        > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
233
234openoffice_%{.archive} :
235    $(MAKE_INSTALLER_COMMAND)       \
236        -p Apache_OpenOffice        \
237        -msitemplate $(MSIOFFICETEMPLATEDIR)
238    $(GEN_UPDATE_INFO_COMMAND)      \
239        --product Apache_OpenOffice \
240        $(PRJ)$/util$/update.xml    \
241        > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
242
243$(foreach,i,$(alllangiso) openofficewithjre_$i) : $$@{$(PKGFORMAT:^".")}
244openofficewithjre_%{$(PKGFORMAT:^".")} :
245    $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_wJRE -msitemplate $(MSIOFFICETEMPLATEDIR)
246
247$(foreach,i,$(alllangiso) openofficedev_$i) : $$@{$(PKGFORMAT:^".")}
248openofficedev_%{$(PKGFORMAT:^".")} :
249    $(MAKE_INSTALLER_COMMAND)       \
250        -p Apache_OpenOffice_Dev    \
251        -msitemplate $(MSIOFFICETEMPLATEDIR)
252    $(GEN_UPDATE_INFO_COMMAND)          \
253        --product Apache_OpenOffice_Dev     \
254        $(PRJ)$/util$/update.xml        \
255        > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
256
257$(foreach,i,$(alllangiso) ooolanguagepack_$i) : $$@{$(PKGFORMAT:^".")}
258ooolanguagepack_%{$(PKGFORMAT:^".")} :
259    $(MAKE_INSTALLER_COMMAND)           \
260        -p Apache_OpenOffice            \
261        -msitemplate $(MSILANGPACKTEMPLATEDIR)  \
262        -languagepack
263
264$(foreach,i,$(alllangiso) ooodevlanguagepack_$i) : $$@{$(PKGFORMAT:^".")}
265ooodevlanguagepack_%{$(PKGFORMAT:^".")} :
266    $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_Dev -msitemplate $(MSILANGPACKTEMPLATEDIR) -languagepack
267
268$(foreach,i,$(alllangiso) sdkoo_$i) : $$@{$(PKGFORMAT:^".")}
269sdkoo_%{$(PKGFORMAT:^".")} :
270    $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_SDK -msitemplate $(MSISDKOOTEMPLATEDIR) -dontstrip
271
272$(foreach,i,$(alllangiso) sdkoodev_$i) : $$@{$(PKGFORMAT:^".")}
273sdkoodev_%{$(PKGFORMAT:^".")} :
274    $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_Dev_SDK -msitemplate $(MSISDKOOTEMPLATEDIR) -dontstrip
275
276.IF "$(MAKETARGETS)"!=""
277.IF "$(MAKETARGETS:e)"=="" && "$(MAKETARGETS:s/_//)"!="$(MAKETARGETS)"
278$(MAKETARGETS) : $$@{$(PKGFORMAT:^".")}
279$(MAKETARGETS){$(PKGFORMAT:^".")} : $(ADDDEPS)
280.ENDIF          # "$(MAKETARGETS:e)"=="" && "$(MAKETARGETS:s/_//)"!="$(MAKETARGETS)"
281.ENDIF          # "$(MAKETARGETS)"!=""
282
283.ELSE           # "$(alllangiso)"!=""
284openoffice:
285    @echo cannot pack nothing...
286
287.ENDIF          # "$(alllangiso)"!=""
288
289.IF "$(LOCALPYFILES)"!=""
290$(foreach,i,$(alllangiso) openoffice_$i{$(PKGFORMAT:^".") .archive} openofficewithjre_$i{$(PKGFORMAT:^".")} openofficedev_$i{$(PKGFORMAT:^".")} sdkoo_$i{$(PKGFORMAT:^".")}) updatepack : $(LOCALPYFILES)
291.ENDIF          # "$(LOCALPYFILES)"!=""
292
293$(BIN)$/%.py : $(SOLARSHAREDBIN)$/pyuno$/%.py
294    @$(COPY) $< $@
295
296#$(BIN)$/intro.zip : $(SOLARCOMMONPCKDIR)$/openoffice_nologo$/intro.zip
297$(BIN)$/intro.zip : $(SOLARCOMMONPCKDIR)$/intro.zip
298    $(COPY) $< $@
299
300#$(BIN)$/dev$/intro.zip : $(SOLARCOMMONPCKDIR)$/openoffice_dev_nologo$/intro.zip
301$(BIN)$/dev$/intro.zip : $(SOLARCOMMONPCKDIR)$/openoffice_dev$/intro.zip
302    @-$(MKDIR) $(@:d)
303    $(COPY) $< $@
304
305msitemplates .PHONY: msi_template_files msi_langpack_template_files msi_sdk_template_files
306
307MSI_OFFICE_TEMPLATE_FILES=      \
308    ActionTe.idt            \
309    AdminExe.idt            \
310    AdminUIS.idt            \
311    AdvtExec.idt            \
312    AppSearc.idt            \
313    Binary.idt          \
314    CheckBox.idt            \
315    Control.idt         \
316    ControlC.idt            \
317    ControlE.idt            \
318    CustomAc.idt            \
319    Dialog.idt          \
320    Error.idt           \
321    EventMap.idt            \
322    InstallE.idt            \
323    InstallU.idt            \
324    LaunchCo.idt            \
325    ListBox.idt         \
326    Property.idt            \
327    RadioBut.idt            \
328    RegLocat.idt            \
329    Signatur.idt            \
330    TextStyl.idt            \
331    UIText.idt          \
332    _Validat.idt            \
333    codes.txt           \
334    codes_broo.txt          \
335    codes_broodev.txt       \
336    codes_ooodev.txt        \
337    components.txt          \
338    upgradecode_remove_ooo.txt  \
339    Binary/Banner.bmp       \
340    Binary/Image.bmp        \
341    Binary/caution.ico      \
342    Binary/dontinstall.ico      \
343    Binary/install.ico      \
344    Binary/installfirstuse.ico  \
345    Binary/installpartial.ico   \
346    Binary/installstatemenu.ico \
347    Binary/networkinstall.ico   \
348    Binary/newfolder.ico        \
349    Binary/openfolder.ico       \
350    Binary/setup.ico        \
351    Binary/setupcomplete.ico    \
352    Binary/setuppartial.ico     \
353    Binary/setuprepair.ico      \
354    Binary/trashcan.ico     \
355    Binary/up.ico
356
357MSI_LANGPACK_TEMPLATE_FILES=        \
358    ActionTe.idt            \
359    AdminExe.idt            \
360    AdminUIS.idt            \
361    AdvtExec.idt            \
362    Binary.idt          \
363    CheckBox.idt            \
364    Control.idt         \
365    ControlC.idt            \
366    ControlE.idt            \
367    CustomAc.idt            \
368    Dialog.idt          \
369    Error.idt           \
370    EventMap.idt            \
371    InstallE.idt            \
372    InstallU.idt            \
373    LaunchCo.idt            \
374    ListBox.idt         \
375    Property.idt            \
376    RadioBut.idt            \
377    TextStyl.idt            \
378    UIText.idt          \
379    _Validat.idt            \
380    bro_patchcodes.txt      \
381    brodev_patchcodes.txt       \
382    codes.txt           \
383    codes_broo.txt          \
384    codes_ooodev.txt        \
385    components.txt          \
386    ooo_patchcodes.txt      \
387    ooodev_patchcodes.txt       \
388    Binary/Banner.bmp
389
390MSI_SDK_TEMPLATE_FILES=         \
391    ActionTe.idt            \
392    AdminExe.idt            \
393    AdminUIS.idt            \
394    AdvtExec.idt            \
395    AppSearc.idt            \
396    Binary.idt          \
397    CheckBox.idt            \
398    Control.idt         \
399    ControlC.idt            \
400    ControlE.idt            \
401    CustomAc.idt            \
402    Dialog.idt          \
403    Error.idt           \
404    EventMap.idt            \
405    InstallE.idt            \
406    InstallU.idt            \
407    LaunchCo.idt            \
408    ListBox.idt         \
409    Property.idt            \
410    RadioBut.idt            \
411    RegLocat.idt            \
412    Signatur.idt            \
413    TextStyl.idt            \
414    UIText.idt          \
415    _Validat.idt            \
416    codes.txt           \
417    components.txt          \
418    Binary/Banner.bmp       \
419    Binary/Image.bmp        \
420    Binary/caution.ico      \
421    Binary/dontinstall.ico      \
422    Binary/install.ico      \
423    Binary/installfirstuse.ico  \
424    Binary/installpartial.ico   \
425    Binary/installstatemenu.ico \
426    Binary/networkinstall.ico   \
427    Binary/newfolder.ico        \
428    Binary/openfolder.ico       \
429    Binary/setup.ico        \
430    Binary/setupcomplete.ico    \
431    Binary/setuppartial.ico     \
432    Binary/setuprepair.ico      \
433    Binary/trashcan.ico     \
434    Binary/up.ico
435
436msi_template_files .PHONY:                  \
437    $(MSIOFFICETEMPLATEDIR)                 \
438    $(MSIOFFICETEMPLATEDIR)$/Binary             \
439    $(MSIOFFICETEMPLATEDIR)$/{$(MSI_OFFICE_TEMPLATE_FILES)}
440$(MSIOFFICETEMPLATEDIR) $(MSIOFFICETEMPLATEDIR)$/Binary :
441    -$(MKDIRHIER) $@
442$(MSIOFFICETEMPLATEDIR)$/% : $(MSIOFFICETEMPLATESOURCE)$/%
443    $(GNUCOPY) $< $@
444
445msi_langpack_template_files .PHONY :                \
446    $(MSILANGPACKTEMPLATEDIR)               \
447    $(MSILANGPACKTEMPLATEDIR)$/Binary           \
448    $(MSILANGPACKTEMPLATEDIR)$/{$(MSI_LANGPACK_TEMPLATE_FILES)}
449$(MSILANGPACKTEMPLATEDIR) $(MSILANGPACKTEMPLATEDIR)$/Binary  :
450    -$(MKDIRHIER) $@
451$(MSILANGPACKTEMPLATEDIR)$/% : $(MSILANGPACKTEMPLATESOURCE)$/%
452    $(GNUCOPY) $< $@
453
454
455msi_sdk_template_files .PHONY :                 \
456    $(MSISDKOOTEMPLATEDIR)                  \
457    $(MSISDKOOTEMPLATEDIR)$/Binary              \
458    $(MSISDKOOTEMPLATEDIR)$/{$(MSI_SDK_TEMPLATE_FILES)}
459$(MSISDKOOTEMPLATEDIR) $(MSISDKOOTEMPLATEDIR)$/Binary :
460    -$(MKDIRHIER) $@
461$(MSISDKOOTEMPLATEDIR)/% : $(MSISDKOOTEMPLATESOURCE)$/%
462    $(GNUCOPY) $< $@
463