8fa8b7f07c9e3e56645d20b6b639043994fc6283
[openafs.git] / src / WINNT / install / wix / NTMakefile
1 # Copyright 2004, OpenAFS.ORG and others.
2 # All Rights Reserved.
3 #
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 RELDIR=WINNT\install\wix
9 !INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
10 !INCLUDE ..\..\..\config\NTMakefile.version
11
12 MEDIADIR = $(DESTDIR)\WinInstall
13 MEDIABINDIR = $(MEDIADIR)\Dll
14
15 MSIFILE = $(MEDIADIR)\openafs-$(LANG).msi
16 !IF ("$(CPU)" == "i386")
17 BINMSIFILE = $(MEDIADIR)\openafs-32bit-tools-$(LANG).msi
18 !ENDIF
19
20 !IFNDEF MSIDNNLS
21 !ERROR Please set MSIDNNLS to the directory where Microsoft IDN Mitigation APIs are installed.
22 # $(MSIDNNLS)\REDIST\idndl.(platform).exe should exist.
23 !ENDIF
24
25 WIXINCLUDES = \
26         config.wxi \
27         feature.wxi \
28         files.wxi \
29         language_config.wxi \
30         property.wxi \
31         registry.wxi \
32         lang\$(LANG)\ui.wxi
33
34 WIXOBJ = $(OUT)\openafs-$(LANG).wixobj
35 !IF ("$(CPU)" == "i386")
36 BINWIXOBJ  = $(OUT)\openafs-32bit-tools-$(LANG).wixobj
37 !ENDIF
38 !IFNDEF NOCYGWIN
39 WIXCYGOPT=-dCygwinArchives
40 !ELSE
41 WIXCYGOPT=
42 !ENDIF
43
44 LANGUAGES=en_US de_DE es_ES ja_JP ko_KR pt_BR zh_CN zh_TW
45
46 languages:
47 # Don't bother with non en_US for now.  The other builds comprise of either
48 # verbatim copies of en_US files, partial translations or doesn't build 
49 # (no languages resources). Someday when OpenAFS 8.1029828419 comes out we'll 
50 # get someone to translate.
51 #       for %l in ( $(LANGUAGES ) do (
52 #       $(MAKE) /f NTMakefile /nologo LANG=%l lang
53 #       )
54         $(MAKE) /f NTMakefile /nologo LANG=en_US lang
55
56
57 lang:: lang_clean $(MSIFILE) $(BINMSIFILE)
58
59 uninst: 
60         $(CD) uninstall
61         $(MAKE) /f NTMakefile /nologo install
62         $(CD) ..
63
64 customactions:
65         $(CD) custom
66         $(MAKE) /f NTMakefile /nologo install
67         $(CD) ..
68
69 install: uninst customactions languages
70
71 $(MSIFILE): $(WIXOBJ)
72         light -nologo -out $(MSIFILE) \
73                 -loc lang\$(LANG)\strings.wxl \
74                 $(WIXOBJ)
75         $(CODESIGN_USERLAND)
76         dir $(MSIFILE)
77
78 $(WIXOBJ): openafs.wxs $(WIXINCLUDES)
79         candle -nologo -out $@  \
80                 "-dCellName=$(CELLNAME_DEFAULT)" \
81                 -dLanguage=$(LANG) \
82                 -dNumericVersion=$(AFSPRODUCT_VERSION)  \
83                 -dVersionMajor=$(AFSPRODUCT_VER_MAJOR)  \
84                 -dVersionMinor=$(AFSPRODUCT_VER_MINOR)  \
85                 -dVersionPatch=$(AFSPRODUCT_VER_PATCH)  \
86                 "-dDestDir=$(DESTDIR)\\" \
87                 -dCellDbFile=CellServDB \
88                 "-dIDNMRedistDir=$(MSIDNNLS)\\REDIST"   \
89                 -v0 \
90                 -w0 \
91                 $(WIXCYGOPT) $(AFSDEV_AUXWIXDEFINES)    openafs.wxs
92
93 !IF ("$(CPU)" == "i386")
94 $(BINWIXOBJ): oafwbins.wxs $(WIXINCLUDES)
95         candle -nologo -out $@  \
96                 "-dCellName=$(CELLNAME_DEFAULT)" \
97                 -dLanguage=$(LANG) \
98                 -dNumericVersion=$(AFSPRODUCT_VERSION)  \
99                 -dVersionMajor=$(AFSPRODUCT_VER_MAJOR)  \
100                 -dVersionMinor=$(AFSPRODUCT_VER_MINOR)  \
101                 -dVersionPatch=$(AFSPRODUCT_VER_PATCH)  \
102                 "-dDestDir=$(DESTDIR)\\" \
103                 -dCellDbFile=CellServDB \
104                 -v0 \
105                 -w0 \
106         $(WIXCYGOPT) $(AFSDEV_AUXWIXDEFINES)    oafwbins.wxs
107
108 $(BINMSIFILE): $(BINWIXOBJ)
109         light -nologo -out $(BINMSIFILE) \
110                 -loc lang\en_US\strings.wxl \
111                 $(BINWIXOBJ)
112         $(CODESIGN_USERLAND)
113         dir $(BINMSIFILE)
114 !ENDIF
115
116 # Cleanup
117 clean::
118         for %l in ( $(LANGUAGES) ) do \
119                 $(MAKE) /f NTMakefile /nologo LANG=%l lang_clean
120         $(CD) custom
121         $(MAKE) /f NTMakefile /nologo clean
122         $(CD) ..
123         $(CD) uninstall
124         $(MAKE) /f NTMakefile /nologo clean
125         $(CD) ..
126
127 lang_clean:
128         -$(DEL) $(WIXOBJ)
129         -$(DEL) $(MSIFILE)
130 !IF ("$(CPU)" == "i386")
131         -$(DEL) $(BINWIXOBJ)
132         -$(DEL) $(BINMSIFILE)
133 !ENDIF
134
135
136