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