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