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