Windows: Build against KerbCompatSDK instead of KFW
[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
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
63 lang:: lang_clean $(MSIFILE) $(BINMSIFILE)
64
65 lang_clean:
66         -$(DEL) $(WIXOBJ)
67         -$(DEL) $(MSIFILE)
68 !IF ("$(CPU)" == "i386")
69         -$(DEL) $(BINWIXOBJ)
70         -$(DEL) $(BINMSIFILE)
71 !ENDIF
72
73 uninst:
74         $(CD) uninstall
75         $(MAKE) /f NTMakefile /nologo install
76         $(CD) ..
77
78 customactions:
79         $(CD) custom
80         $(MAKE) /f NTMakefile /nologo install
81         $(CD) ..
82
83 install: uninst customactions languages
84
85 $(MSIFILE): $(WIXOBJ)
86         light -nologo -out $(MSIFILE) \
87                 -loc lang\$(LANG)\strings.wxl \
88                 $(WIXOBJ)
89         $(CODESIGN_USERLAND)
90         dir $(MSIFILE)
91
92 $(WIXOBJ): openafs.wxs $(WIXINCLUDES)
93         candle -nologo -out $@  \
94                 "-dCellName=$(CELLNAME_DEFAULT)" \
95                 -dLanguage=$(LANG) \
96                 -dNumericVersion=$(AFSPRODUCT_VERSION)  \
97                 -dVersionMajor=$(AFSPRODUCT_VER_MAJOR)  \
98                 -dVersionMinor=$(AFSPRODUCT_VER_MINOR)  \
99                 -dVersionPatch=$(AFSPRODUCT_VER_PATCH)  \
100                 "-dDestDir=$(DESTDIR)\\" \
101                 -dCellDbFile=CellServDB \
102                 "-dIDNMRedistDir=$(MSIDNNLS)\\REDIST"   \
103                 "-dKrbCompatRedistDir=$(HEIMREDISTDIR)" \
104 !IFDEF LITECLIENT
105                 -dLiteClient=1 \
106 !ENDIF
107                 -v0 \
108                 -w0 \
109                 $(WIXCYGOPT) $(AFSDEV_AUXWIXDEFINES)    openafs.wxs
110
111 !IF ("$(CPU)" == "i386")
112 $(BINWIXOBJ): oafwbins.wxs $(WIXINCLUDES)
113         candle -nologo -out $@  \
114                 "-dCellName=$(CELLNAME_DEFAULT)" \
115                 -dLanguage=$(LANG) \
116                 -dNumericVersion=$(AFSPRODUCT_VERSION)  \
117                 -dVersionMajor=$(AFSPRODUCT_VER_MAJOR)  \
118                 -dVersionMinor=$(AFSPRODUCT_VER_MINOR)  \
119                 -dVersionPatch=$(AFSPRODUCT_VER_PATCH)  \
120                 "-dDestDir=$(DESTDIR)\\" \
121                 -dCellDbFile=CellServDB \
122                 "-dKrbCompatRedistDir=$(HEIMREDISTDIR)" \
123 !IFDEF LITECLIENT
124                 -dLiteClient=1 \
125 !ENDIF
126                 -v0 \
127                 -w0 \
128                 -sw1044 \
129                 $(AFSDEV_AUXWIXDEFINES) oafwbins.wxs
130
131 $(BINMSIFILE): $(BINWIXOBJ)
132         light -nologo -out $(BINMSIFILE) \
133                 -loc lang\en_US\strings.wxl \
134                 $(BINWIXOBJ)
135         $(CODESIGN_USERLAND)
136         dir $(BINMSIFILE)
137 !ENDIF
138
139 # Pseudotarget for building lite installer.
140 !IFNDEF LITECLIENT
141 lite:
142         $(MAKE) /f NTMakefile /nologo install LITECLIENT=1
143 !ENDIF
144
145 # Cleanup
146 clean::
147         for %l in ( $(LANGUAGES) ) do \
148                 $(MAKE) /f NTMakefile /nologo LANG=%l lang_clean
149         $(CD) custom
150         $(MAKE) /f NTMakefile /nologo clean
151         $(CD) ..
152         $(CD) uninstall
153         $(MAKE) /f NTMakefile /nologo clean
154         $(CD) ..
155
156
157