824c424a9070d6e061f5f4c9581c66c84db08c66
[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 HEIMREDISTDIR= $(HEIMDALSDKDIR)\redist\$(CPU)
15
16 !IFDEF LITECLIENT
17 LITE=-lite
18 !ELSE
19 LITE=
20 !ENDIF
21
22 MSIFILE = $(MEDIADIR)\openafs-$(LANG)$(LITE).msi
23 !IF ("$(CPU)" == "i386")
24 BINMSIFILE = $(MEDIADIR)\openafs-32bit-tools-$(LANG)$(LITE).msi
25 !ENDIF
26
27 !IFNDEF MSIDNNLS
28 !ERROR Please set MSIDNNLS to the directory where Microsoft IDN Mitigation APIs are installed.
29 # $(MSIDNNLS)\REDIST\idndl.(platform).exe should exist.
30 !ENDIF
31
32 WIXINCLUDES = \
33         config.wxi \
34         feature.wxi \
35         files.wxi \
36         language_config.wxi \
37         property.wxi \
38         registry.wxi \
39         lang\$(LANG)\ui.wxi
40
41 WIXOBJ = $(OUT)\openafs-$(LANG)$(LITE).wixobj
42 !IF ("$(CPU)" == "i386")
43 BINWIXOBJ  = $(OUT)\openafs-32bit-tools-$(LANG)$(LITE).wixobj
44 !ENDIF
45 !IFNDEF NOCYGWIN
46 WIXCYGOPT=-dCygwinArchives
47 !ELSE
48 WIXCYGOPT=
49 !ENDIF
50
51 LANGUAGES=en_US de_DE es_ES ja_JP ko_KR pt_BR zh_CN zh_TW cs_CZ
52
53 languages:
54 # Don't bother with non en_US for now.  The other builds comprise of either
55 # verbatim copies of en_US files, partial translations or doesn't build
56 # (no languages resources). Someday when OpenAFS 8.1029828419 comes out we'll
57 # get someone to translate.
58 #       for %l in ( $(LANGUAGES ) do (
59 #       $(MAKE) /f NTMakefile /nologo LANG=%l lang
60 #       )
61         $(MAKE) /f NTMakefile /nologo LANG=en_US lang
62         $(MAKE) /f NTMakefile /nologo LANG=cs_CZ lang
63
64 lang:: lang_clean $(MSIFILE) $(BINMSIFILE)
65
66 lang_clean:
67         -$(DEL) $(WIXOBJ)
68         -$(DEL) $(MSIFILE)
69 !IF ("$(CPU)" == "i386")
70         -$(DEL) $(BINWIXOBJ)
71         -$(DEL) $(BINMSIFILE)
72 !ENDIF
73
74 uninst:
75         $(CD) uninstall
76         $(MAKE) /f NTMakefile /nologo install
77         $(CD) ..
78
79 customactions:
80         $(CD) custom
81         $(MAKE) /f NTMakefile /nologo install
82         $(CD) ..
83
84 install: uninst customactions languages
85
86 $(MSIFILE): $(WIXOBJ)
87         light -nologo -out $(MSIFILE) \
88                 -loc lang\$(LANG)\strings.wxl \
89                 $(WIXOBJ)
90         $(CODESIGN_USERLAND)
91         dir $(MSIFILE)
92
93 $(WIXOBJ): openafs.wxs $(WIXINCLUDES)
94         candle -nologo -out $@  \
95                 "-dCellName=$(CELLNAME_DEFAULT)" \
96                 -dLanguage=$(LANG) \
97                 -dNumericVersion=$(AFSPRODUCT_VERSION)  \
98                 -dVersionMajor=$(AFSPRODUCT_VER_MAJOR)  \
99                 -dVersionMinor=$(AFSPRODUCT_VER_MINOR)  \
100                 -dVersionPatch=$(AFSPRODUCT_VER_PATCH)  \
101                 "-dDestDir=$(DESTDIR)\\" \
102                 -dCellDbFile=CellServDB \
103                 "-dIDNMRedistDir=$(MSIDNNLS)\\REDIST"   \
104                 "-dKrbCompatRedistDir=$(HEIMREDISTDIR)" \
105 !IFDEF LITECLIENT
106                 -dLiteClient=1 \
107 !ENDIF
108                 -v0 \
109                 -w0 \
110                 $(WIXCYGOPT) $(AFSDEV_AUXWIXDEFINES)    openafs.wxs
111
112 !IF ("$(CPU)" == "i386")
113 $(BINWIXOBJ): oafwbins.wxs $(WIXINCLUDES)
114         candle -nologo -out $@  \
115                 "-dCellName=$(CELLNAME_DEFAULT)" \
116                 -dLanguage=$(LANG) \
117                 -dNumericVersion=$(AFSPRODUCT_VERSION)  \
118                 -dVersionMajor=$(AFSPRODUCT_VER_MAJOR)  \
119                 -dVersionMinor=$(AFSPRODUCT_VER_MINOR)  \
120                 -dVersionPatch=$(AFSPRODUCT_VER_PATCH)  \
121                 "-dDestDir=$(DESTDIR)\\" \
122                 -dCellDbFile=CellServDB \
123                 "-dKrbCompatRedistDir=$(HEIMREDISTDIR)" \
124 !IFDEF LITECLIENT
125                 -dLiteClient=1 \
126 !ENDIF
127                 -v0 \
128                 -w0 \
129                 -sw1044 \
130                 $(AFSDEV_AUXWIXDEFINES) oafwbins.wxs
131
132 $(BINMSIFILE): $(BINWIXOBJ)
133         light -nologo -out $(BINMSIFILE) \
134                 -loc lang\en_US\strings.wxl \
135                 $(BINWIXOBJ)
136         $(CODESIGN_USERLAND)
137         dir $(BINMSIFILE)
138 !ENDIF
139
140 # Pseudotarget for building lite installer.
141 !IFNDEF LITECLIENT
142 lite:
143         $(MAKE) /f NTMakefile /nologo install LITECLIENT=1
144 !ENDIF
145
146 # Cleanup
147 clean::
148         for %l in ( $(LANGUAGES) ) do \
149                 $(MAKE) /f NTMakefile /nologo LANG=%l lang_clean
150         $(CD) custom
151         $(MAKE) /f NTMakefile /nologo clean
152         $(CD) ..
153         $(CD) uninstall
154         $(MAKE) /f NTMakefile /nologo clean
155         $(CD) ..
156
157
158