1 # Copyright 2000, International Business Machines Corporation and others.
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
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
13 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
14 !INCLUDE ..\..\config\NTMakefile.version
16 EXEDIR = $(DESTDIR)\root.client\usr\vice\etc
18 ############################################################################
19 # Definitions for installing header files
21 INCFILEDIR = $(DESTDIR)\include\afs # header file install directory
23 # afsdicon and below added for WINNT\extra support
26 $(INCFILEDIR)\afsd.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 \
40 $(INCFILEDIR)\krb_prot.h \
41 $(INCFILEDIR)\cm_dir.h \
43 $(INCFILEDIR)\smb3.h \
44 $(INCFILEDIR)\smb_iocons.h \
45 $(INCFILEDIR)\smb_ioctl.h \
46 $(INCFILEDIR)\smb_rpc.h \
47 $(INCFILEDIR)\afsrpc.h \
49 $(INCFILEDIR)\afsdcrash.h \
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
77 afsrpc.h $(OUT)\afsrpc_c.obj
79 CONFOBJS=$(OUT)\cm_config.obj \
85 RXOBJS = $(OUT)\xdr_int32.obj $(OUT)\xdr_int64.obj
91 $(RXOBJS): $(RX)\$$(@B).c
94 $(IDLFILES):afsrpc.idl
95 midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) /app_config $?
97 ms-srvsvc.h ms-srvsvc_s.c: ms-srvsvc.idl
98 midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) /Os ms-srvsvc.idl
100 ms-wkssvc.h ms-wkssvc_s.c: ms-wkssvc.idl
101 midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) /Os ms-wkssvc.idl
103 $(OUT)\ms-srvsvc_s.obj: ms-srvsvc_s.c
104 $(C2OBJ) /FImsrpc.h /Fo$@ $**
106 $(OUT)\ms-wkssvc_s.obj: ms-wkssvc_s.c
107 $(C2OBJ) /FImsrpc.h /Fo$@ $**
111 $(OUT)\afsd_init.obj \
112 $(OUT)\cm_btree.obj \
114 $(OUT)\cm_server.obj \
115 $(OUT)\cm_volume.obj \
116 $(OUT)\cm_volstat.obj \
117 $(OUT)\cm_config.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 \
127 $(OUT)\cm_utils.obj \
128 $(OUT)\largeintdotnet.obj \
131 $(OUT)\smb_ioctl.obj \
134 $(OUT)\cm_ioctl.obj \
135 $(OUT)\cm_daemon.obj \
136 $(OUT)\cm_aclent.obj \
139 $(OUT)\cm_memmap.obj \
140 $(OUT)\cm_performance.obj \
142 $(OUT)\afsrpc_s.obj \
144 $(OUT)\afsdcrash.obj \
146 $(OUT)\cm_freelance.obj \
147 $(OUT)\afsd_eventlog.obj \
148 $(OUT)\afsd_flushvol.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
158 $(OUT)\cm_conn.obj: cm_conn.c
159 $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
161 FSOBJS=$(OUT)\fs.obj \
162 $(OUT)\fs_utils.obj \
165 CMDBGOBJS=$(OUT)\cmdebug.obj
167 $(CMDBGOBJS): $(AFSROOT)\src\venus\cmdebug.c
168 $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
170 AFSIOOBJS=$(OUT)\afsio.obj
172 $(AFSIOOBJS): $(AFSROOT)\src\venus\afsio.c
173 $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
175 SLOBJS=$(OUT)\symlink.obj $(OUT)\fs_utils.obj
177 ILIBDIR = $(DESTDIR)\lib
180 # Rules for message compiler info for logging events
182 $(INCFILEDIR)\afsd_eventmessages.h: afsd_eventmessages.mc
183 mc afsd_eventmessages.mc
185 ############################################################################
187 # Flags for linking LOGON DLL'S
190 LOGONLINKFLAGS = -entry:DllEntryPoint
193 ############################################################################
198 MIDL_FLAGS=/app_config \
207 midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) $<
226 ############################################################################
229 CONF_DLLFILE = $(DESTDIR)\lib\libafsconf.dll
232 $(DESTDIR)\lib\afs\afsutil.lib \
233 $(DESTDIR)\lib\afs\afsreg.lib \
234 $(DESTDIR)\lib\afsroken.lib
236 $(CONF_DLLFILE): $(CONFOBJS) $(OUT)\libafsconf.res $(CONF_DLLLIBS)
237 $(DLLGUILINK) -def:libafsconf.def $(AFSD_SDKLIBS)
238 $(_VC_MANIFEST_EMBED_DLL)
242 $(MAKECYGLIB) --input-def libafsconf.def
245 ############################################################################
248 LANAHELPERLIB = $(DESTDIR)\lib\lanahelper.lib
250 LANAHELPERLIB_OBJS =\
251 $(OUT)\lanahelper.obj
253 $(LANAHELPERLIB_OBJS):
255 $(LANAHELPERLIB): $(LANAHELPERLIB_OBJS)
256 $(LIBARCH) netapi32.lib
258 ############################################################################
261 AFSKFWLIB = $(DESTDIR)\lib\afskfw.lib
268 $(AFSKFWLIB): $(AFSKFWLIB_OBJS)
271 ############################################################################
274 LOGON_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afslogon.dll
277 $(OUT)\afslogon.obj \
278 $(OUT)\logon_ad.obj \
279 $(OUT)\afslogon.res \
283 $(DESTDIR)\lib\afsauthent.lib \
284 $(DESTDIR)\lib\libafsconf.lib \
303 $(LOGON_DLLFILE): $(LOGON_DLLOBJS) $(LOGON_DLLLIBS)
304 $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLSDKLIBS)
305 $(_VC_MANIFEST_EMBED_DLL)
309 $(COPY) $*.lib $(DESTDIR)\lib
312 ############################################################################
313 # Install target; primary makefile target
315 install_objs: $(CONF_DLLFILE) $(LANAHELPERLIB) $(OUT)\afsicf.obj
316 $(COPY) $(OUT)\afsicf.obj $(DESTDIR)\lib
318 install_headers: $(IDLFILES) $(INCFILES) ms-wkssvc.h ms-srvsvc.h
320 install: install_headers install_objs $(CONF_DLLFILE) \
322 $(EXEDIR)\tokens.exe \
323 $(EXEDIR)\unlog.exe \
324 $(EXEDIR)\afsd_service.exe \
326 $(EXEDIR)\symlink.exe \
327 $(EXEDIR)\afsdacl.exe \
329 $(EXEDIR)\afsshare.exe \
330 $(DESTDIR)\bin\kpasswd.exe \
331 $(EXEDIR)\cmdebug.exe \
332 $(EXEDIR)\afscpcc.exe \
335 install_libutils: install_headers $(CONF_DLLFILE) \
337 $(EXEDIR)\tokens.exe \
338 $(EXEDIR)\unlog.exe \
339 $(EXEDIR)\fs.exe $(EXEDIR)\symlink.exe \
340 $(EXEDIR)\afsshare.exe \
341 $(DESTDIR)\bin\kpasswd.exe $(EXEDIR)\cmdebug.exe
343 ############################################################################
344 # Local clean target; augments predefined clean target
346 ############################################################################
350 $(DESTDIR)\lib\afs\afsauth.lib \
351 $(DESTDIR)\lib\afs\afskauth.lib \
352 $(DESTDIR)\lib\afs\afsprot.lib \
353 $(DESTDIR)\lib\afs\afspioctl.lib \
354 $(DESTDIR)\lib\afs\afsaudit.lib \
355 $(DESTDIR)\lib\afs\afsutil.lib \
356 $(DESTDIR)\lib\afs\afscom_err.lib \
357 $(DESTDIR)\lib\afs\afsreg.lib \
358 $(DESTDIR)\lib\afs\afscmd.lib \
359 $(DESTDIR)\lib\afs\afsvldb.lib \
360 $(DESTDIR)\lib\afsubik.lib \
361 $(DESTDIR)\lib\afsrxkad.lib \
362 $(DESTDIR)\lib\afsdes.lib \
363 $(DESTDIR)\lib\afsrx.lib \
364 $(DESTDIR)\lib\afslwp.lib \
365 $(DESTDIR)\lib\libosi.lib \
366 $(DESTDIR)\lib\libafsconf.lib \
367 $(DESTDIR)\lib\afsroken.lib
370 $(DESTDIR)\lib\afsrpc.lib \
371 $(DESTDIR)\lib\afs\afsprot.lib \
372 $(DESTDIR)\lib\afs\afspioctl.lib \
373 $(DESTDIR)\lib\afs\afscom_err.lib \
374 $(DESTDIR)\lib\afs\afscmd.lib \
375 $(DESTDIR)\lib\afs\afsutil.lib \
376 $(DESTDIR)\lib\afsubik.lib \
377 $(DESTDIR)\lib\afsrxkad.lib \
378 $(DESTDIR)\lib\afsdes.lib \
379 $(DESTDIR)\lib\afslwp.lib \
380 $(DESTDIR)\lib\libosi.lib \
381 $(DESTDIR)\lib\libafsconf.lib \
382 $(DESTDIR)\lib\afsroken.lib
385 $(DESTDIR)\lib\afs\afscmd.lib \
386 $(DESTDIR)\lib\afsrxkad.lib
390 $(EXEDIR)\klog.exe: $(OUT)\cklog.obj $(OUT)\klog.res $(EXELIBS)
391 $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
392 $(_VC_MANIFEST_EMBED_EXE)
398 $(EXEDIR)\tokens.exe: $(OUT)\ctokens.obj $(OUT)\tokens.res $(EXELIBS)
399 $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
400 $(_VC_MANIFEST_EMBED_EXE)
406 $(EXEDIR)\unlog.exe: $(OUT)\cunlog.obj $(OUT)\unlog.res $(EXELIBS)
407 $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
408 $(_VC_MANIFEST_EMBED_EXE)
414 $(EXEDIR)\afscpcc.exe: $(OUT)\afscpcc.obj $(OUT)\afscpcc.res $(LOGON_DLLLIBS)
415 $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib userenv.lib
416 $(_VC_MANIFEST_EMBED_EXE)
423 AFSD_EXEFILE = $(EXEDIR)\afsd.exe
426 $(DESTDIR)\lib\libosi.lib \
427 $(DESTDIR)\lib\afs\mtafsvldb.lib \
428 $(DESTDIR)\lib\afs\mtafsint.lib \
429 $(DESTDIR)\lib\afsrpc.lib \
430 $(DESTDIR)\lib\afs\mtafsutil.lib \
431 $(DESTDIR)\lib\afsauthent.lib \
432 $(DESTDIR)\lib\libafsconf.lib \
433 $(DESTDIR)\lib\afs\afsreg.lib \
434 $(DESTDIR)\lib\afspthread.lib \
435 $(DESTDIR)\lib\afsroken.lib \
438 $(AFSD_EXEFILE): $(OUT)\afsd.obj $(AFSDOBJS) $(OUT)\afsd.res $(RXOBJS) $(AFSD_EXELIBS)
439 $(EXEGUILINK) $(AFSD_SDKLIBS)
440 $(_VC_MANIFEST_EMBED_EXE)
446 $(EXEDIR)\afsd_service.exe: $(OUT)\afsd_service.obj $(AFSDOBJS) $(OUT)\afsd_service.res $(RXOBJS) $(AFSD_EXELIBS)
447 $(EXECONLINK) $(AFSD_SDKLIBS) /MAP /LARGEADDRESSAWARE
448 $(_VC_MANIFEST_EMBED_EXE)
454 $(EXEDIR)\fs.exe: $(FSOBJS) $(OUT)\fs.res $(EXELIBS)
455 $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
456 $(_VC_MANIFEST_EMBED_EXE)
462 $(EXEDIR)\cmdebug.exe: $(CMDBGOBJS) $(OUT)\cmdebug.res $(EXELIBS2)
463 $(EXECONLINK) $(EXELIBS2) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib rpcrt4.lib
464 $(_VC_MANIFEST_EMBED_EXE)
470 $(EXEDIR)\afsio.exe: $(AFSIOOBJS) $(OUT)\afsio.res $(RXOBJS) $(AFSD_EXELIBS) $(EXELIBS3)
471 $(EXECONLINK) $(RXOBJS) $(AFSD_EXELIBS) $(EXELIBS3) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib rpcrt4.lib
472 $(_VC_MANIFEST_EMBED_EXE)
478 $(EXEDIR)\symlink.exe: $(SLOBJS) $(OUT)\symlink.res $(EXELIBS)
479 $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
480 $(_VC_MANIFEST_EMBED_EXE)
486 $(EXEDIR)\afsshare.exe: $(OUT)\afsshare.obj $(OUT)\afsshare.res $(EXELIBS)
488 $(_VC_MANIFEST_EMBED_EXE)
494 $(EXEDIR)\afsdacl.exe: $(OUT)\afsdacl.obj $(OUT)\afsdacl.res
496 $(_VC_MANIFEST_EMBED_EXE)
501 # kpasswd.exe - built in kauth, but rebuild here to make pthread-based,
502 # which is required for Windows 95. At some point it would be nice
503 # for all commands to be pthread based, in which case they should
504 # be built in a separate directory (perhaps tbin ala tviced) or
505 # libafsauthent should be built earlier so that each command can
506 # be built in its native directory.
514 $(OUT)\$(KAUTH)\kpasswd.res
517 $(DESTDIR)\lib\afsauthent.lib \
518 $(DESTDIR)\lib\afsrpc.lib \
519 $(DESTDIR)\lib\afs\afscmd.lib \
520 $(DESTDIR)\lib\afsdes.lib \
521 $(DESTDIR)\lib\afs\mtafsutil.lib
523 $(OUT)\kpasswd.obj: $(KAUTH)/kpasswd.c
524 $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
526 $(OUT)\kkids.obj: $(KAUTH)/kkids.c
527 $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
529 $(OUT)\kautils.obj: $(KAUTH)/kautils.c
530 $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
532 $(OUT)\kpasswd.res: $(KAUTH)\kpasswd.rc
535 $(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
536 $(DEL) $(DESTDIR)\bin\kpasswd.exe
538 $(_VC_MANIFEST_EMBED_EXE)
544 ############################################################################
545 # generate versioninfo resources
547 $(OUT)\afsshare.res: afsshare.rc AFS_component_version_number.h
549 $(OUT)\fs.res: fs.rc AFS_component_version_number.h
551 $(OUT)\symlink.res: symlink.rc AFS_component_version_number.h
553 $(OUT)\klog.res: klog.rc AFS_component_version_number.h
555 $(OUT)\tokens.res: tokens.rc AFS_component_version_number.h
557 $(OUT)\unlog.res: unlog.rc AFS_component_version_number.h
559 $(OUT)\afscpcc.res: afscpcc.rc AFS_component_version_number.h
561 afsd_eventmessages.rc: $(INCFILEDIR)\afsd_eventmessages.h
563 $(OUT)\afsd_service.res: afsd_service.rc afsd_eventmessages.rc AFS_component_version_number.h
565 $(OUT)\afslogon.res: afslogon.rc AFS_component_version_number.h
567 $(OUT)\libafsconf.res: libafsconf.rc AFS_component_version_number.h
569 ############################################################################
578 $(DEL) afsd_eventmessages.h
579 $(DEL) afsd_eventmessages.rc
581 $(DEL) $(CONF_DLLFILE)
582 $(DEL) $(LOGON_DLLFILE)
586 ############################################################################
589 {test}.c{$(OUT)\}.obj:
596 btreetest: "$(OUT)\btreetest.exe"
597 "$(OUT)\btreetest.exe"
599 $(OUT)\btreetest.exe: \
600 $(OUT)\btreetest.obj \
601 $(OUT)\cm_btree.obj \
603 $(OUT)\cm_utils.obj \
604 $(DESTDIR)\lib\libosi.lib
606 $(_VC_MANIFEST_EMBED_EXE)