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:^".") .archive} : 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 234$(foreach,i,$(alllangiso) openofficewithjre_$i) : $$@{$(PKGFORMAT:^".")} 235openofficewithjre_%{$(PKGFORMAT:^".")} : 236 $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_wJRE -msitemplate $(MSIOFFICETEMPLATEDIR) 237 238$(foreach,i,$(alllangiso) openofficedev_$i) : $$@{$(PKGFORMAT:^".")} 239openofficedev_%{$(PKGFORMAT:^".")} : 240 $(MAKE_INSTALLER_COMMAND) \ 241 -p Apache_OpenOffice_Dev \ 242 -msitemplate $(MSIOFFICETEMPLATEDIR) 243 $(GEN_UPDATE_INFO_COMMAND) \ 244 --product Apache_OpenOffice_Dev \ 245 $(PRJ)$/util$/update.xml \ 246 > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml 247 248$(foreach,i,$(alllangiso) ooolanguagepack_$i) : $$@{$(PKGFORMAT:^".")} 249ooolanguagepack_%{$(PKGFORMAT:^".")} : 250 $(MAKE_INSTALLER_COMMAND) \ 251 -p Apache_OpenOffice \ 252 -msitemplate $(MSILANGPACKTEMPLATEDIR) \ 253 -languagepack 254 255$(foreach,i,$(alllangiso) ooodevlanguagepack_$i) : $$@{$(PKGFORMAT:^".")} 256ooodevlanguagepack_%{$(PKGFORMAT:^".")} : 257 $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_Dev -msitemplate $(MSILANGPACKTEMPLATEDIR) -languagepack 258 259$(foreach,i,$(alllangiso) sdkoo_$i) : $$@{$(PKGFORMAT:^".")} 260sdkoo_%{$(PKGFORMAT:^".")} : 261 $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_SDK -msitemplate $(MSISDKOOTEMPLATEDIR) -dontstrip 262 263$(foreach,i,$(alllangiso) sdkoodev_$i) : $$@{$(PKGFORMAT:^".")} 264sdkoodev_%{$(PKGFORMAT:^".")} : 265 $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_Dev_SDK -msitemplate $(MSISDKOOTEMPLATEDIR) -dontstrip 266 267.IF "$(MAKETARGETS)"!="" 268.IF "$(MAKETARGETS:e)"=="" && "$(MAKETARGETS:s/_//)"!="$(MAKETARGETS)" 269$(MAKETARGETS) : $$@{$(PKGFORMAT:^".")} 270$(MAKETARGETS){$(PKGFORMAT:^".")} : $(ADDDEPS) 271.ENDIF # "$(MAKETARGETS:e)"=="" && "$(MAKETARGETS:s/_//)"!="$(MAKETARGETS)" 272.ENDIF # "$(MAKETARGETS)"!="" 273 274.ELSE # "$(alllangiso)"!="" 275openoffice: 276 @echo cannot pack nothing... 277 278.ENDIF # "$(alllangiso)"!="" 279 280.IF "$(LOCALPYFILES)"!="" 281$(foreach,i,$(alllangiso) openoffice_$i{$(PKGFORMAT:^".") .archive} openofficewithjre_$i{$(PKGFORMAT:^".")} openofficedev_$i{$(PKGFORMAT:^".")} sdkoo_$i{$(PKGFORMAT:^".")}) updatepack : $(LOCALPYFILES) 282.ENDIF # "$(LOCALPYFILES)"!="" 283 284$(BIN)$/%.py : $(SOLARSHAREDBIN)$/pyuno$/%.py 285 @$(COPY) $< $@ 286 287#$(BIN)$/intro.zip : $(SOLARCOMMONPCKDIR)$/openoffice_nologo$/intro.zip 288$(BIN)$/intro.zip : $(SOLARCOMMONPCKDIR)$/intro.zip 289 $(COPY) $< $@ 290 291#$(BIN)$/dev$/intro.zip : $(SOLARCOMMONPCKDIR)$/openoffice_dev_nologo$/intro.zip 292$(BIN)$/dev$/intro.zip : $(SOLARCOMMONPCKDIR)$/openoffice_dev$/intro.zip 293 @-$(MKDIR) $(@:d) 294 $(COPY) $< $@ 295 296msitemplates .PHONY: msi_template_files msi_langpack_template_files msi_sdk_template_files 297 298MSI_OFFICE_TEMPLATE_FILES= \ 299 ActionTe.idt \ 300 AdminExe.idt \ 301 AdminUIS.idt \ 302 AdvtExec.idt \ 303 AppSearc.idt \ 304 Binary.idt \ 305 CheckBox.idt \ 306 Control.idt \ 307 ControlC.idt \ 308 ControlE.idt \ 309 CustomAc.idt \ 310 Dialog.idt \ 311 Error.idt \ 312 EventMap.idt \ 313 InstallE.idt \ 314 InstallU.idt \ 315 LaunchCo.idt \ 316 ListBox.idt \ 317 Property.idt \ 318 RadioBut.idt \ 319 RegLocat.idt \ 320 Signatur.idt \ 321 TextStyl.idt \ 322 UIText.idt \ 323 _Validat.idt \ 324 codes.txt \ 325 codes_broo.txt \ 326 codes_broodev.txt \ 327 codes_ooodev.txt \ 328 components.txt \ 329 upgradecode_remove_ooo.txt \ 330 Binary/Banner.bmp \ 331 Binary/Image.bmp \ 332 Binary/caution.ico \ 333 Binary/dontinstall.ico \ 334 Binary/install.ico \ 335 Binary/installfirstuse.ico \ 336 Binary/installpartial.ico \ 337 Binary/installstatemenu.ico \ 338 Binary/networkinstall.ico \ 339 Binary/newfolder.ico \ 340 Binary/openfolder.ico \ 341 Binary/setup.ico \ 342 Binary/setupcomplete.ico \ 343 Binary/setuppartial.ico \ 344 Binary/setuprepair.ico \ 345 Binary/trashcan.ico \ 346 Binary/up.ico 347 348MSI_LANGPACK_TEMPLATE_FILES= \ 349 ActionTe.idt \ 350 AdminExe.idt \ 351 AdminUIS.idt \ 352 AdvtExec.idt \ 353 Binary.idt \ 354 CheckBox.idt \ 355 Control.idt \ 356 ControlC.idt \ 357 ControlE.idt \ 358 CustomAc.idt \ 359 Dialog.idt \ 360 Error.idt \ 361 EventMap.idt \ 362 InstallE.idt \ 363 InstallU.idt \ 364 LaunchCo.idt \ 365 ListBox.idt \ 366 Property.idt \ 367 RadioBut.idt \ 368 TextStyl.idt \ 369 UIText.idt \ 370 _Validat.idt \ 371 bro_patchcodes.txt \ 372 brodev_patchcodes.txt \ 373 codes.txt \ 374 codes_broo.txt \ 375 codes_ooodev.txt \ 376 components.txt \ 377 ooo_patchcodes.txt \ 378 ooodev_patchcodes.txt \ 379 Binary/Banner.bmp 380 381MSI_SDK_TEMPLATE_FILES= \ 382 ActionTe.idt \ 383 AdminExe.idt \ 384 AdminUIS.idt \ 385 AdvtExec.idt \ 386 AppSearc.idt \ 387 Binary.idt \ 388 CheckBox.idt \ 389 Control.idt \ 390 ControlC.idt \ 391 ControlE.idt \ 392 CustomAc.idt \ 393 Dialog.idt \ 394 Error.idt \ 395 EventMap.idt \ 396 InstallE.idt \ 397 InstallU.idt \ 398 LaunchCo.idt \ 399 ListBox.idt \ 400 Property.idt \ 401 RadioBut.idt \ 402 RegLocat.idt \ 403 Signatur.idt \ 404 TextStyl.idt \ 405 UIText.idt \ 406 _Validat.idt \ 407 codes.txt \ 408 components.txt \ 409 Binary/Banner.bmp \ 410 Binary/Image.bmp \ 411 Binary/caution.ico \ 412 Binary/dontinstall.ico \ 413 Binary/install.ico \ 414 Binary/installfirstuse.ico \ 415 Binary/installpartial.ico \ 416 Binary/installstatemenu.ico \ 417 Binary/networkinstall.ico \ 418 Binary/newfolder.ico \ 419 Binary/openfolder.ico \ 420 Binary/setup.ico \ 421 Binary/setupcomplete.ico \ 422 Binary/setuppartial.ico \ 423 Binary/setuprepair.ico \ 424 Binary/trashcan.ico \ 425 Binary/up.ico 426 427msi_template_files .PHONY: \ 428 $(MSIOFFICETEMPLATEDIR) \ 429 $(MSIOFFICETEMPLATEDIR)$/Binary \ 430 $(MSIOFFICETEMPLATEDIR)$/{$(MSI_OFFICE_TEMPLATE_FILES)} 431$(MSIOFFICETEMPLATEDIR) $(MSIOFFICETEMPLATEDIR)$/Binary : 432 -$(MKDIRHIER) $@ 433$(MSIOFFICETEMPLATEDIR)$/% : $(MSIOFFICETEMPLATESOURCE)$/% 434 $(GNUCOPY) $< $@ 435 436msi_langpack_template_files .PHONY : \ 437 $(MSILANGPACKTEMPLATEDIR) \ 438 $(MSILANGPACKTEMPLATEDIR)$/Binary \ 439 $(MSILANGPACKTEMPLATEDIR)$/{$(MSI_LANGPACK_TEMPLATE_FILES)} 440$(MSILANGPACKTEMPLATEDIR) $(MSILANGPACKTEMPLATEDIR)$/Binary : 441 -$(MKDIRHIER) $@ 442$(MSILANGPACKTEMPLATEDIR)$/% : $(MSILANGPACKTEMPLATESOURCE)$/% 443 $(GNUCOPY) $< $@ 444 445 446msi_sdk_template_files .PHONY : \ 447 $(MSISDKOOTEMPLATEDIR) \ 448 $(MSISDKOOTEMPLATEDIR)$/Binary \ 449 $(MSISDKOOTEMPLATEDIR)$/{$(MSI_SDK_TEMPLATE_FILES)} 450$(MSISDKOOTEMPLATEDIR) $(MSISDKOOTEMPLATEDIR)$/Binary : 451 -$(MKDIRHIER) $@ 452$(MSISDKOOTEMPLATEDIR)/% : $(MSISDKOOTEMPLATESOURCE)$/% 453 $(GNUCOPY) $< $@ 454