windows-unicode-20080527
[openafs.git] / src / kauth / NTMakefile
1 # Copyright 2000, International Business Machines Corporation 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 # Override default definitions in NTMakefile.$(SYS_NAME) before including.
9
10 RELDIR=kauth
11 !INCLUDE ..\config\NTMakefile.$(SYS_NAME)
12 !include ..\config\NTMakefile.version
13
14 ############################################################################
15 # Definitions for installing header files
16
17 INCFILEDIR = $(DESTDIR)\include\afs
18
19 INCFILES =\
20         $(INCFILEDIR)\kautils.h \
21         $(INCFILEDIR)\kauth.h \
22         $(INCFILEDIR)\kaport.h
23
24
25 ############################################################################
26 # build afskauth.lib
27
28 KAUTH_LIBFILE = $(DESTDIR)\lib\afs\afskauth.lib
29
30 KAUTH_LIBOBJS =\
31         $(OUT)\kauth.xdr.obj \
32         $(OUT)\kauth.cs.obj \
33         $(OUT)\kaaux.obj \
34         $(OUT)\client.obj \
35         $(OUT)\authclient.obj \
36         $(OUT)\token.obj \
37         $(OUT)\kautils.obj \
38         $(OUT)\kalocalcell.obj \
39         $(OUT)\kaerrors.obj \
40         $(OUT)\user_nt.obj \
41         $(OUT)\krb_tf.obj \
42         $(OUT)\cm_config.obj \
43         $(OUT)\AFS_component_version_number.obj
44
45 WINNTAFSD = ..\WINNT\afsd\
46
47 $(OUT)\cm_config.obj: $(WINNTAFSD)\cm_config.c
48         $(C2OBJ) $**
49
50 $(KAUTH_LIBFILE): $(KAUTH_LIBOBJS) 
51         $(LIBARCH)  
52
53 ############################################################################
54 # build afskauth.krb.lib
55
56 KAUTH_KRB_LIBFILE = $(DESTDIR)\lib\afs\afskauth.krb.lib
57
58 KAUTH_KRB_LIBOBJS =\
59         $(OUT)\kauth.xdr.obj \
60         $(OUT)\kauth.cs.obj \
61         $(OUT)\kaaux.obj \
62         $(OUT)\client.obj \
63         $(OUT)\authclient.obj \
64         $(OUT)\token.obj \
65         $(OUT)\kautils.obj \
66         $(OUT)\kalocalcell.obj \
67         $(OUT)\kaerrors.obj \
68         $(OUT)\user.krb.obj \
69         $(OUT)\krb_tf.obj \
70         $(OUT)\cm_config.obj \
71         $(OUT)\AFS_component_version_number.obj
72
73 $(KAUTH_KRB_LIBFILE): $(KAUTH_KRB_LIBOBJS) 
74         $(LIBARCH)  
75
76 #make user.krb.obj
77
78 user_nt.c : $(INCFILES) $(DESTDIR)/include/afs/vice.h
79
80 $(OUT)\user.krb.obj: user_nt.c
81         $(C2OBJ) $**  -DAFS_KERBEROS_ENV
82
83
84 # common libs
85 AFSLIBDIR = $(DESTDIR)\lib\afs
86 AFSLIBS =  \
87         $(AFSLIBDIR)\afsprot.lib \
88         $(AFSLIBDIR)\afsauth.lib \
89         $(AFSLIBDIR)\afscmd.lib \
90         $(AFSLIBDIR)\afscom_err.lib \
91         $(AFSLIBDIR)\afsutil.lib \
92         $(AFSLIBDIR)\afsaudit.lib \
93         $(DESTDIR)\lib\afs\afsreg.lib \
94         $(DESTDIR)\lib\afslwp.lib \
95         $(DESTDIR)\lib\afsdes.lib \
96         $(DESTDIR)\lib\afsrxstat.lib \
97         $(DESTDIR)\lib\afsrx.lib \
98         $(DESTDIR)\lib\afsubik.lib \
99         $(DESTDIR)\lib\afs\afseventlog.lib \
100         $(DESTDIR)\lib\afsrxkad.lib \
101         $(DESTDIR)\lib\cm_dns.obj \
102         $(DESTDIR)\lib\cm_nls.obj
103         
104 TOKENLIB = $(DESTDIR)\lib\afs\afspioctl.lib
105
106 ############################################################################
107 # build kaserver
108
109 KASERVER = $(DESTDIR)\root.server\usr\afs\bin\kaserver.exe
110
111 KASERVER_OBJS =\
112         $(OUT)\kaserver.obj \
113         $(OUT)\kautils.obj \
114         $(OUT)\kalocalcell.obj \
115         $(OUT)\kadatabase.obj \
116         $(OUT)\krb_udp.obj \
117         $(OUT)\kaprocs.obj \
118         $(OUT)\kalog.obj \
119         $(OUT)\kauth.ss.obj \
120         $(OUT)\kauth.xdr.obj \
121         $(OUT)\kaaux.obj \
122         $(OUT)\kaauxdb.obj \
123         $(OUT)\kaserver.res
124
125 KASERVER_EXELIBS =\
126         $(DESTDIR)\lib\afs\afsprocmgmt.lib
127
128 $(KASERVER): $(KASERVER_OBJS) $(AFSLIBS) $(KASERVER_EXELIBS)
129         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
130         $(_VC_MANIFEST_EMBED_EXE)
131         $(EXEPREP) 
132
133 #build $(OUT)\kadatabase.obj
134
135 $(OUT)\kadatabase.obj: kadatabase.c 
136         $(C2OBJ) $**  /DSPECIAL=1
137
138 #build $(OUT)\kaprocs.obj
139 $(OUT)\kaprocs.obj: kaprocs.c
140         $(C2OBJ) $**  /DSPECIAL=1
141
142 ############################################################################
143 # build kas
144
145 KAS = $(DESTDIR)\root.server\usr\afs\bin\kas.exe
146
147 KAS_OBJS =\
148         $(OUT)\kas.obj \
149         $(OUT)\admin_tools.obj \
150         $(OUT)\kkids.obj \
151         $(OUT)\kas.res
152         
153 $(KAS): $(KAS_OBJS) $(AFSLIBS) $(KAUTH_LIBFILE) $(TOKENLIB)
154         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
155         $(_VC_MANIFEST_EMBED_EXE)
156         $(EXEPREP) 
157
158 ########### Misc Exes #######################################################
159 #kpasswd.exe
160 KPASSWD_EXEFILE = $(DESTDIR)\bin\kpasswd.exe
161
162 KPASSWD_OBJS =\
163         $(OUT)\kpasswd.obj \
164         $(OUT)\kkids.obj \
165         $(OUT)\kpasswd.res
166
167 $(KPASSWD_EXEFILE): $(KPASSWD_OBJS) $(AFSLIBS) $(KAUTH_LIBFILE) $(TOKENLIB)
168         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
169         $(_VC_MANIFEST_EMBED_EXE)
170         $(EXEPREP)
171
172 #kpwvalid.exe
173 $(OUT)\kpwvalid.exe: $(OUT)\kpwvalid.obj $(AFSLIBS) $(KAUTH_LIBFILE)
174         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
175         $(_VC_MANIFEST_EMBED_EXE)
176
177 #kdb.exe - Not implemented for NT - because dbm not available on NT
178 #kdb.exe: $(OUT)\kdb.obj $(AFSLIBS) $(KAUTH_LIBFILE) 
179 #       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
180 #       $(_VC_MANIFEST_EMBED_EXE)
181
182 #rebuild.exe 
183 $(OUT)\rebuild.exe: $(OUT)\rebuild.obj $(OUT)\kautils.obj $(AFSLIBS) 
184         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
185         $(_VC_MANIFEST_EMBED_EXE)
186
187 ############################################################################
188 # Definitions for generating versioninfo resources
189
190 $(OUT)\kaserver.res: AFS_component_version_number.h
191
192 $(OUT)\kas.res: AFS_component_version_number.h
193
194 $(OUT)\kpasswd.res: AFS_component_version_number.h
195
196 $(INCFILES):$$(@F)
197          $(COPY)  $** $(INCFILEDIR)\.
198
199 ############################################################################
200 # rxgen on kauth.rg
201
202 kauth.cs.c: kauth.rg kauth.h
203         $(RXGEN) -u -x -C -o $@ kauth.rg
204
205 kauth.ss.c: kauth.rg kauth.h
206         $(RXGEN) -x -S -o $@ kauth.rg
207
208 kauth.xdr.c: kauth.rg kauth.h
209         $(RXGEN) -x -c -o $@ kauth.rg
210
211 kauth.h: kauth.rg
212         $(RXGEN) -u -x -h -o $@ kauth.rg
213
214 ############################################################################
215 # compile_et on kaerrors.c 
216
217 kaerrors.c kautils.h: kaerrors.et kautils.p.h
218         $(DEL) kautils.h kaerrors.c
219         $(COMPILE_ET) kaerrors -h kautils
220
221 ############################################################################
222 # install 
223
224 install: $(INCFILES) $(KAUTH_LIBFILE) $(KAUTH_KRB_LIBFILE) $(KASERVER) $(KAS) \
225         $(KPASSWD_EXEFILE) \
226         $(OUT)\kpwvalid.exe $(OUT)\rebuild.exe  \
227         $(DESTDIR)\etc\kas.exe
228
229 install9X: $(INCFILES) $(KAUTH_LIBFILE) $(KAUTH_KRB_LIBFILE) \
230         $(KPASSWD_EXEFILE) 
231
232 # installation targets that depend on local targets
233 $(DESTDIR)\etc\kas.exe:  $(DESTDIR)\root.server\usr\afs\bin\kas.exe
234         $(COPY) $(DESTDIR)\root.server\usr\afs\bin\kas.exe \
235                                         $(DESTDIR)\etc\kas.exe
236
237
238 ############################################################################
239 # Local clean target; augments predefined clean target
240
241 clean::
242         $(DEL) $(KPASSWD_EXEFILE) $(INCFILES)
243         $(DEL) kauth.cs.c kauth.h kauth.ss.c kauth.xdr.c kautils.h
244         $(DEL) kaerrors.c
245
246 mkdir:
247