60dfdf53ed03d201aa333b204d00d7d52741de13
[openafs.git] / src / WINNT / afsd / 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 AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) /D"_AFXDLL" /DSMB_UNICODE -I..\kfw\inc\loadfuncs \
9         -I..\kfw\inc\krb5 -I..\kfw\inc\leash -I$(DESTDIR)\include\afs \
10         -I$(DESTDIR)\include\rx
11 AFSDEV_NETGUI = 1
12 RELDIR=WINNT\afsd
13 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
14 !INCLUDE ..\..\config\NTMakefile.version
15
16 EXEDIR = $(DESTDIR)\root.client\usr\vice\etc
17
18 ############################################################################
19 # Definitions for installing header files
20
21 INCFILEDIR = $(DESTDIR)\include\afs  # header file install directory
22
23 # afsdicon and below added for WINNT\extra support
24
25 INCFILES =\
26         $(INCFILEDIR)\afsd.h \
27         $(INCFILEDIR)\cm.h \
28         $(INCFILEDIR)\cm_buf.h \
29         $(INCFILEDIR)\cm_cell.h \
30         $(INCFILEDIR)\cm_config.h \
31         $(INCFILEDIR)\cm_conn.h \
32         $(INCFILEDIR)\cm_ioctl.h \
33         $(INCFILEDIR)\cm_scache.h \
34         $(INCFILEDIR)\cm_server.h \
35         $(INCFILEDIR)\cm_user.h \
36         $(INCFILEDIR)\cm_dns.h \
37         $(INCFILEDIR)\cm_utils.h \
38         $(INCFILEDIR)\fs_utils.h \
39         $(INCFILEDIR)\krb.h \
40         $(INCFILEDIR)\krb_prot.h \
41         $(INCFILEDIR)\cm_dir.h \
42         $(INCFILEDIR)\smb.h \
43         $(INCFILEDIR)\smb3.h \
44         $(INCFILEDIR)\smb_iocons.h \
45         $(INCFILEDIR)\smb_ioctl.h \
46         $(INCFILEDIR)\smb_rpc.h \
47         $(INCFILEDIR)\afsrpc.h \
48 !IFDEF OSICRASH
49         $(INCFILEDIR)\afsdcrash.h \
50 !ENDIF
51         $(INCFILEDIR)\cm_dns_private.h \
52         $(INCFILEDIR)\lanahelper.h \
53         $(INCFILEDIR)\afsdicon.h \
54         $(INCFILEDIR)\cm_callback.h \
55         $(INCFILEDIR)\cm_aclent.h \
56         $(INCFILEDIR)\cm_volume.h \
57         $(INCFILEDIR)\cm_volstat.h \
58         $(INCFILEDIR)\cm_dcache.h \
59         $(INCFILEDIR)\cm_access.h \
60         $(INCFILEDIR)\cm_vnodeops.h \
61         $(INCFILEDIR)\cm_dir.h \
62         $(INCFILEDIR)\cm_utils.h \
63         $(INCFILEDIR)\cm_daemon.h \
64         $(INCFILEDIR)\cm_ioctl.h \
65         $(INCFILEDIR)\cm_dnlc.h \
66         $(INCFILEDIR)\cm_buf.h \
67         $(INCFILEDIR)\cm_freelance.h \
68         $(INCFILEDIR)\cm_memmap.h \
69         $(INCFILEDIR)\cm_performance.h \
70         $(INCFILEDIR)\cm_nls.h \
71         $(INCFILEDIR)\afsd_eventlog.h \
72         $(INCFILEDIR)\afsd_eventmessages.h \
73         $(INCFILEDIR)\afskfw.h \
74         $(INCFILEDIR)\afsicf.h
75
76 IDLFILES =\
77         afsrpc.h $(OUT)\afsrpc_c.obj
78
79 CONFOBJS=$(OUT)\cm_config.obj \
80          $(OUT)\cm_dns.obj \
81          $(OUT)\cm_nls.obj
82
83 $(CONFOBJS):
84
85 RXOBJS = $(OUT)\xdr_int32.obj $(OUT)\xdr_int64.obj
86
87 $(RXOBJS):
88
89 RX= ..\..\rx
90
91 $(RXOBJS): $(RX)\$$(@B).c
92         $(C2OBJ) -I$(RX) $**
93
94 $(IDLFILES):afsrpc.idl
95         midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) /app_config $?
96
97 ms-srvsvc.h ms-srvsvc_s.c: ms-srvsvc.idl
98         midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) /Os ms-srvsvc.idl
99
100 ms-wkssvc.h ms-wkssvc_s.c: ms-wkssvc.idl
101         midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) /Os ms-wkssvc.idl
102
103 $(OUT)\ms-srvsvc_s.obj: ms-srvsvc_s.c
104         $(C2OBJ) /FImsrpc.h /Fo$@ $**
105
106 $(OUT)\ms-wkssvc_s.obj: ms-wkssvc_s.c
107         $(C2OBJ) /FImsrpc.h /Fo$@ $**
108
109 AFSDOBJS=\
110         $(OUT)\rawops.obj \
111         $(OUT)\afsd_init.obj \
112         $(OUT)\cm_btree.obj \
113         $(OUT)\cm_cell.obj \
114         $(OUT)\cm_server.obj \
115         $(OUT)\cm_volume.obj \
116         $(OUT)\cm_volstat.obj \
117         $(OUT)\cm_config.obj \
118         $(OUT)\cm_conn.obj \
119         $(OUT)\cm_user.obj \
120         $(OUT)\cm_buf.obj \
121         $(OUT)\cm_scache.obj \
122         $(OUT)\cm_dcache.obj \
123         $(OUT)\cm_access.obj \
124         $(OUT)\cm_callback.obj \
125         $(OUT)\cm_vnodeops.obj \
126         $(OUT)\cm_dir.obj \
127         $(OUT)\cm_utils.obj \
128         $(OUT)\largeintdotnet.obj \
129         $(OUT)\smb.obj \
130         $(OUT)\smb3.obj \
131         $(OUT)\smb_ioctl.obj \
132         $(OUT)\smb_rpc.obj \
133         $(OUT)\msrpc.obj \
134         $(OUT)\cm_ioctl.obj \
135         $(OUT)\cm_daemon.obj \
136         $(OUT)\cm_aclent.obj \
137         $(OUT)\cm_dnlc.obj \
138         $(OUT)\cm_rpc.obj \
139         $(OUT)\cm_memmap.obj \
140         $(OUT)\cm_performance.obj \
141         $(OUT)\cm_nls.obj \
142         $(OUT)\afsrpc_s.obj \
143 !IFDEF OSICRASH
144         $(OUT)\afsdcrash.obj \
145 !ENDIF
146         $(OUT)\cm_freelance.obj \
147         $(OUT)\afsd_eventlog.obj \
148         $(OUT)\afsd_flushvol.obj \
149         $(OUT)\afsicf.obj \
150         $(OUT)\ms-srvsvc_s.obj \
151         $(OUT)\ms-wkssvc_s.obj \
152         $(OUT)\rpc_wkssvc.obj \
153         $(OUT)\rpc_srvsvc.obj \
154         $(OUT)\AFS_component_version_number.obj
155
156 $(AFSDOBJS):
157
158 $(OUT)\cm_conn.obj: cm_conn.c
159         $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
160
161 FSOBJS=$(OUT)\fs.obj \
162        $(OUT)\fs_utils.obj \
163        $(OUT)\cm_nls.obj \
164        $(OUT)\parsemode.obj
165
166 CMDBGOBJS=$(OUT)\cmdebug.obj
167
168 $(CMDBGOBJS): $(AFSROOT)\src\venus\cmdebug.c
169         $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
170
171 AFSIOOBJS=$(OUT)\afsio.obj
172
173 $(AFSIOOBJS): $(AFSROOT)\src\venus\afsio.c
174         $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
175
176 SLOBJS=$(OUT)\symlink.obj $(OUT)\fs_utils.obj
177
178 ILIBDIR = $(DESTDIR)\lib
179
180 #                                                    
181 # Rules for message compiler info for logging events 
182 #                                                    
183 $(INCFILEDIR)\afsd_eventmessages.h:  afsd_eventmessages.mc         
184         mc afsd_eventmessages.mc                           
185
186 ############################################################################
187 #
188 # Flags for linking LOGON DLL'S
189 #
190
191 LOGONLINKFLAGS = -entry:DllEntryPoint
192
193
194 ############################################################################
195 #
196 # IDL COMPILATION
197 #
198
199 MIDL_FLAGS=/app_config \
200            /Zp4 \
201            /cpp_cmd $(cc) \
202            /cpp_opt "-E" \
203            /nologo
204
205 .SUFFIXES: .h .idl
206
207 .idl.h:
208         midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) $<
209
210
211 AFSD_SDKLIBS =\
212         netapi32.lib \
213         dnsapi.lib \
214         mpr.lib \
215         rpcrt4.lib \
216         user32.lib \
217         Dbghelp.lib \
218         strsafe.lib \
219         mpr.lib \
220         secur32.lib \
221         ole32.lib \
222         oleaut32.lib \
223         iphlpapi.lib \
224         shell32.lib \
225         shlwapi.lib
226
227 ############################################################################
228 # libafsconf.dll
229
230 CONF_DLLFILE = $(DESTDIR)\lib\libafsconf.dll
231
232 CONF_DLLLIBS = \
233     $(DESTDIR)\lib\afs\afsutil.lib \
234     $(DESTDIR)\lib\afs\afsreg.lib \
235     $(DESTDIR)\lib\afsroken.lib
236
237 $(CONF_DLLFILE): $(CONFOBJS) $(OUT)\libafsconf.res $(CONF_DLLLIBS)
238         $(DLLGUILINK) -def:libafsconf.def  $(AFSD_SDKLIBS)
239         $(_VC_MANIFEST_EMBED_DLL)
240         $(DLLPREP)
241         $(CODESIGN_USERLAND)
242         $(SYMSTORE_IMPORT)
243         $(MAKECYGLIB) --input-def libafsconf.def
244         $(DEL) $*.exp
245
246 ############################################################################
247 # lanahelper.lib
248
249 LANAHELPERLIB = $(DESTDIR)\lib\lanahelper.lib
250
251 LANAHELPERLIB_OBJS =\
252       $(OUT)\lanahelper.obj
253
254 $(LANAHELPERLIB_OBJS):
255
256 $(LANAHELPERLIB): $(LANAHELPERLIB_OBJS)
257       $(LIBARCH) netapi32.lib
258
259 ############################################################################
260 # afskfw.lib
261
262 AFSKFWLIB = $(DESTDIR)\lib\afskfw.lib
263
264 AFSKFWLIB_OBJS =\
265       $(OUT)\afskfw.obj
266
267 $(AFSKFWLIB_OBJS):
268
269 $(AFSKFWLIB): $(AFSKFWLIB_OBJS)
270       $(LIBARCH)
271
272 ############################################################################
273 # afslogon.dll
274
275 LOGON_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afslogon.dll
276
277 LOGON_DLLOBJS =\
278     $(OUT)\afslogon.obj \
279     $(OUT)\logon_ad.obj \
280     $(OUT)\afslogon.res \
281     $(OUT)\cm_nls.obj
282
283 LOGON_DLLLIBS =\
284     $(DESTDIR)\lib\afsauthent.lib \
285     $(DESTDIR)\lib\libafsconf.lib \
286     $(LANAHELPERLIB) \
287     $(AFSKFWLIB)
288
289 LOGON_DLLSDKLIBS =\
290         dnsapi.lib \
291         netapi32.lib \
292         mpr.lib \
293         advapi32.lib \
294         secur32.lib \
295         strsafe.lib \
296         oleaut32.lib \
297         ole32.lib \
298         adsiid.lib \
299         activeds.lib \
300         user32.lib \
301         userenv.lib \
302         shell32.lib
303
304 $(LOGON_DLLFILE): $(LOGON_DLLOBJS) $(LOGON_DLLLIBS)
305         $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLSDKLIBS)
306         $(_VC_MANIFEST_EMBED_DLL)
307         $(DLLPREP)
308         $(CODESIGN_USERLAND)
309         $(SYMSTORE_IMPORT)
310         $(COPY) $*.lib $(DESTDIR)\lib
311         $(DEL) $*.lib $*.exp
312
313 ############################################################################
314 # Install target; primary makefile target
315
316 install_objs: $(CONF_DLLFILE) $(LANAHELPERLIB) $(OUT)\afsicf.obj
317      $(COPY) $(OUT)\afsicf.obj $(DESTDIR)\lib
318
319 install_headers: $(IDLFILES) $(INCFILES) ms-wkssvc.h ms-srvsvc.h
320
321 install: install_headers install_objs $(CONF_DLLFILE) \
322         $(EXEDIR)\klog.exe \
323         $(EXEDIR)\tokens.exe \
324         $(EXEDIR)\unlog.exe \
325         $(EXEDIR)\afsd_service.exe \
326         $(EXEDIR)\fs.exe \
327         $(EXEDIR)\symlink.exe \
328         $(EXEDIR)\afsdacl.exe \
329         $(LOGON_DLLFILE) \
330         $(EXEDIR)\afsshare.exe \
331         $(DESTDIR)\bin\kpasswd.exe \
332         $(EXEDIR)\cmdebug.exe \
333         $(EXEDIR)\afscpcc.exe \
334         $(EXEDIR)\afsio.exe
335
336 install_libutils: install_headers $(CONF_DLLFILE) \
337         $(EXEDIR)\klog.exe \
338         $(EXEDIR)\tokens.exe \
339         $(EXEDIR)\unlog.exe \
340         $(EXEDIR)\fs.exe $(EXEDIR)\symlink.exe \
341         $(EXEDIR)\afsshare.exe \
342         $(DESTDIR)\bin\kpasswd.exe $(EXEDIR)\cmdebug.exe
343
344 ############################################################################
345 # Local clean target; augments predefined clean target
346
347 ############################################################################
348 # assorted exe's
349
350 EXELIBS = \
351         $(DESTDIR)\lib\afs\afsauth.lib \
352         $(DESTDIR)\lib\afs\afskauth.lib \
353         $(DESTDIR)\lib\afs\afsprot.lib \
354         $(DESTDIR)\lib\afs\afspioctl.lib \
355         $(DESTDIR)\lib\afs\afsaudit.lib \
356         $(DESTDIR)\lib\afs\afsutil.lib \
357         $(DESTDIR)\lib\afs\afscom_err.lib \
358         $(DESTDIR)\lib\afs\afsreg.lib \
359         $(DESTDIR)\lib\afs\afscmd.lib \
360         $(DESTDIR)\lib\afs\afsvldb.lib \
361         $(DESTDIR)\lib\afsubik.lib \
362         $(DESTDIR)\lib\afsrxkad.lib \
363         $(DESTDIR)\lib\afsrx.lib \
364         $(DESTDIR)\lib\afslwp.lib \
365         $(DESTDIR)\lib\libosi.lib \
366         $(DESTDIR)\lib\libafsconf.lib \
367         $(DESTDIR)\lib\afshcrypto.lib \
368         $(DESTDIR)\lib\afsroken.lib
369
370 EXELIBS2 = \
371         $(DESTDIR)\lib\afsrpc.lib \
372         $(DESTDIR)\lib\afs\afsprot.lib \
373         $(DESTDIR)\lib\afs\afspioctl.lib \
374         $(DESTDIR)\lib\afs\afscom_err.lib \
375         $(DESTDIR)\lib\afs\afscmd.lib \
376         $(DESTDIR)\lib\afs\afsutil.lib \
377         $(DESTDIR)\lib\afsubik.lib \
378         $(DESTDIR)\lib\afsrxkad.lib \
379         $(DESTDIR)\lib\afslwp.lib \
380         $(DESTDIR)\lib\libosi.lib \
381         $(DESTDIR)\lib\libafsconf.lib \
382         $(DESTDIR)\lib\afshcrypto.lib \
383         $(DESTDIR)\lib\afsroken.lib
384
385 EXELIBS3 = \
386         $(DESTDIR)\lib\afs\afscmd.lib \
387         $(DESTDIR)\lib\afsrxkad.lib \
388         $(DESTDIR)\lib\afshcrypto.lib \
389         $(DESTDIR)\lib\afsroken.lib
390
391 # klog.exe
392 $(EXEDIR)\klog.exe: $(OUT)\cklog.obj $(OUT)\klog.res $(EXELIBS)
393         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
394         $(_VC_MANIFEST_EMBED_EXE)
395         $(EXEPREP)
396         $(CODESIGN_USERLAND)
397         $(SYMSTORE_IMPORT)
398
399 # tokens.exe
400 $(EXEDIR)\tokens.exe: $(OUT)\ctokens.obj $(OUT)\tokens.res $(EXELIBS)
401         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
402         $(_VC_MANIFEST_EMBED_EXE)
403         $(EXEPREP)
404         $(CODESIGN_USERLAND)
405         $(SYMSTORE_IMPORT)
406
407 # unlog.exe
408 $(EXEDIR)\unlog.exe: $(OUT)\cunlog.obj $(OUT)\unlog.res $(EXELIBS)
409         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
410         $(_VC_MANIFEST_EMBED_EXE)
411         $(EXEPREP)
412         $(CODESIGN_USERLAND)
413         $(SYMSTORE_IMPORT)
414
415 # afscpcc.exe
416 $(EXEDIR)\afscpcc.exe: $(OUT)\afscpcc.obj $(OUT)\afscpcc.res $(LOGON_DLLLIBS)
417         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib userenv.lib
418         $(_VC_MANIFEST_EMBED_EXE)
419         $(EXEPREP)
420         $(CODESIGN_USERLAND)
421         $(SYMSTORE_IMPORT)
422
423
424 # afsd.exe
425 AFSD_EXEFILE = $(EXEDIR)\afsd.exe
426
427 AFSD_EXELIBS =\
428         $(DESTDIR)\lib\libosi.lib \
429         $(DESTDIR)\lib\afs\mtafsvldb.lib \
430         $(DESTDIR)\lib\afs\mtafsint.lib \
431         $(DESTDIR)\lib\afsrpc.lib \
432         $(DESTDIR)\lib\afs\mtafsutil.lib \
433         $(DESTDIR)\lib\afsauthent.lib \
434         $(DESTDIR)\lib\libafsconf.lib \
435         $(DESTDIR)\lib\afs\afsreg.lib \
436         $(DESTDIR)\lib\afspthread.lib \
437         $(DESTDIR)\lib\afsroken.lib \
438         $(LANAHELPERLIB)
439
440 $(AFSD_EXEFILE): $(OUT)\afsd.obj $(AFSDOBJS) $(OUT)\afsd.res  $(RXOBJS) $(AFSD_EXELIBS)
441         $(EXEGUILINK) $(AFSD_SDKLIBS)
442         $(_VC_MANIFEST_EMBED_EXE)
443         $(EXEPREP)
444         $(CODESIGN_USERLAND)
445         $(SYMSTORE_IMPORT)
446
447 # afsd_service.exe
448 $(EXEDIR)\afsd_service.exe: $(OUT)\afsd_service.obj $(AFSDOBJS) $(OUT)\afsd_service.res  $(RXOBJS) $(AFSD_EXELIBS)
449         $(EXECONLINK) $(AFSD_SDKLIBS) /MAP /LARGEADDRESSAWARE
450         $(_VC_MANIFEST_EMBED_EXE)
451         $(EXEPREP)
452         $(CODESIGN_USERLAND)
453         $(SYMSTORE_IMPORT)
454
455 # fs.exe
456 $(EXEDIR)\fs.exe: $(FSOBJS) $(OUT)\fs.res $(EXELIBS)
457         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
458         $(_VC_MANIFEST_EMBED_EXE)
459         $(EXEPREP)
460         $(CODESIGN_USERLAND)
461         $(SYMSTORE_IMPORT)
462
463 # cmdebug.exe
464 $(EXEDIR)\cmdebug.exe: $(CMDBGOBJS) $(OUT)\cmdebug.res
465         $(EXECONLINK) $(EXELIBS2) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib rpcrt4.lib
466         $(_VC_MANIFEST_EMBED_EXE)
467         $(EXEPREP)
468         $(CODESIGN_USERLAND)
469         $(SYMSTORE_IMPORT)
470
471 # afsio.exe
472 AFSCPLIB = \
473         $(DESTDIR)\lib\afs\afscp.lib
474
475 !IF "$(CPU)" == "IA64" || "$(CPU)" == "AMD64" || "$(CPU)" == "ALPHA64"
476 KFWLIBS = \
477     ..\kfw\lib\$(CPU)\krb5_64.lib \
478     ..\kfw\lib\$(CPU)\comerr64.lib \
479     dnsapi.lib mpr.lib delayimp.lib
480 LINKOPTS = /DELAYLOAD:krb5_64.dll /DELAYLOAD:comerr64.dll
481 !else
482 KFWLIBS = \
483     ..\kfw\lib\$(CPU)\krb5_32.lib \
484     ..\kfw\lib\$(CPU)\comerr32.lib \
485     dnsapi.lib mpr.lib delayimp.lib
486 LINKOPTS = /DELAYLOAD:krbv4w32.dll /DELAYLOAD:krb5_32.dll /DELAYLOAD:comerr32.dll
487 !endif
488
489 $(EXEDIR)\afsio.exe: $(AFSIOOBJS) $(OUT)\afsio.res $(RXOBJS) $(AFSD_EXELIBS) $(EXELIBS3) $(AFSCPLIB)
490         $(EXECONLINK) $(KFWLIBS) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib rpcrt4.lib
491         $(_VC_MANIFEST_EMBED_EXE)
492         $(EXEPREP)
493         $(CODESIGN_USERLAND)
494         $(SYMSTORE_IMPORT)
495
496 # symlink.exe
497 $(EXEDIR)\symlink.exe: $(SLOBJS) $(OUT)\symlink.res  $(EXELIBS)
498         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
499         $(_VC_MANIFEST_EMBED_EXE)
500         $(EXEPREP)
501         $(CODESIGN_USERLAND)
502         $(SYMSTORE_IMPORT)
503
504 # afsshare.exe
505 $(EXEDIR)\afsshare.exe: $(OUT)\afsshare.obj $(OUT)\afsshare.res $(EXELIBS)
506         $(EXECONLINK)
507         $(_VC_MANIFEST_EMBED_EXE)
508         $(EXEPREP)
509         $(CODESIGN_USERLAND)
510         $(SYMSTORE_IMPORT)
511
512 # afsdacl.exe
513 $(EXEDIR)\afsdacl.exe: $(OUT)\afsdacl.obj $(OUT)\afsdacl.res
514         $(EXECONLINK)
515         $(_VC_MANIFEST_EMBED_EXE)
516         $(EXEPREP)
517         $(CODESIGN_USERLAND)
518         $(SYMSTORE_IMPORT)
519
520 # kpasswd.exe - built in kauth, but rebuild here to make pthread-based,
521 #    which is required for Windows 95.  At some point it would be nice
522 #    for all commands to be pthread based, in which case they should
523 #    be built in a separate directory (perhaps tbin ala tviced) or
524 #    libafsauthent should be built earlier so that each command can
525 #    be built in its native directory.
526
527 KAUTH = ..\..\kauth
528
529 KPASSWD_OBJS =\
530         $(OUT)\kpasswd.obj \
531         $(OUT)\kkids.obj \
532         $(OUT)\kautils.obj \
533         $(OUT)\$(KAUTH)\kpasswd.res
534
535 KPASSWD_LIBS =\
536         $(DESTDIR)\lib\afsauthent.lib \
537         $(DESTDIR)\lib\afsrpc.lib \
538         $(DESTDIR)\lib\afs\afscmd.lib \
539         $(DESTDIR)\lib\afs\mtafsutil.lib \
540         $(DESTDIR)\lib\afshcrypto.lib \
541         $(DESTDIR)\lib\afsroken.lib
542
543 $(OUT)\kpasswd.obj: $(KAUTH)/kpasswd.c
544         $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
545
546 $(OUT)\kkids.obj: $(KAUTH)/kkids.c
547         $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
548
549 $(OUT)\kautils.obj: $(KAUTH)/kautils.c
550         $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
551
552 $(OUT)\kpasswd.res: $(KAUTH)\kpasswd.rc
553     $(RC) /Fo$@ $**
554
555 $(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
556         $(DEL) $(DESTDIR)\bin\kpasswd.exe
557         $(EXECONLINK)
558         $(_VC_MANIFEST_EMBED_EXE)
559         $(EXEPREP)
560         $(CODESIGN_USERLAND)
561         $(SYMSTORE_IMPORT)
562
563
564 ############################################################################
565 # generate versioninfo resources
566
567 $(OUT)\afsshare.res: afsshare.rc AFS_component_version_number.h
568
569 $(OUT)\fs.res: fs.rc AFS_component_version_number.h
570
571 $(OUT)\symlink.res: symlink.rc AFS_component_version_number.h
572
573 $(OUT)\klog.res: klog.rc AFS_component_version_number.h
574
575 $(OUT)\tokens.res: tokens.rc AFS_component_version_number.h
576
577 $(OUT)\unlog.res: unlog.rc AFS_component_version_number.h
578
579 $(OUT)\afscpcc.res: afscpcc.rc AFS_component_version_number.h
580
581 afsd_eventmessages.rc: $(INCFILEDIR)\afsd_eventmessages.h
582
583 $(OUT)\afsd_service.res: afsd_service.rc afsd_eventmessages.rc AFS_component_version_number.h
584
585 $(OUT)\afslogon.res: afslogon.rc AFS_component_version_number.h
586
587 $(OUT)\libafsconf.res: libafsconf.rc AFS_component_version_number.h
588
589 ############################################################################
590 clean::
591         $(DEL) $(OUT)\*.res
592         $(DEL) afsrpc.h
593         $(DEL) afsrpc_?.*
594         $(DEL) ms-srvsvc.h
595         $(DEL) ms-srvsvc_?.*
596         $(DEL) ms-wkssvc.h
597         $(DEL) ms-wkssvc_?.*
598         $(DEL) afsd_eventmessages.h
599         $(DEL) afsd_eventmessages.rc
600         $(DEL) MSG?????.bin
601         $(DEL) $(CONF_DLLFILE)
602         $(DEL) $(LOGON_DLLFILE)
603
604 mkdir:
605
606 ############################################################################
607 # Tests
608
609 {test}.c{$(OUT)\}.obj:
610         $(C2OBJ) $<
611
612 test::
613
614 test:: btreetest
615
616 btreetest: "$(OUT)\btreetest.exe"
617         "$(OUT)\btreetest.exe"
618
619 $(OUT)\btreetest.exe: \
620                 $(OUT)\btreetest.obj \
621                 $(OUT)\cm_btree.obj \
622                 $(OUT)\cm_nls.obj \
623                 $(OUT)\cm_utils.obj \
624                 $(DESTDIR)\lib\libosi.lib
625         $(EXECONLINK)
626         $(_VC_MANIFEST_EMBED_EXE)
627         $(EXEPREP)