windows-updates-20010108
[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_NETGUI = 1
9 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
10 !INCLUDE ..\..\config\NTMakefile.version
11
12 EXEDIR = $(DESTDIR)\root.client\usr\vice\etc
13
14 ############################################################################
15 # Definitions for installing header files
16
17 INCFILEDIR = $(DESTDIR)\include\afs  # header file install directory
18
19 INCFILES =\
20         $(INCFILEDIR)\afsd.h \
21         $(INCFILEDIR)\cm.h \
22         $(INCFILEDIR)\cm_buf.h \
23         $(INCFILEDIR)\cm_cell.h \
24         $(INCFILEDIR)\cm_config.h \
25         $(INCFILEDIR)\cm_conn.h \
26         $(INCFILEDIR)\cm_ioctl.h \
27         $(INCFILEDIR)\cm_scache.h \
28         $(INCFILEDIR)\cm_server.h \
29         $(INCFILEDIR)\cm_user.h \
30         $(INCFILEDIR)\cm_utils.h \
31         $(INCFILEDIR)\fs_utils.h \
32         $(INCFILEDIR)\krb.h \
33         $(INCFILEDIR)\krb_prot.h \
34         $(INCFILEDIR)\cm_dir.h \
35         $(INCFILEDIR)\smb.h \
36         $(INCFILEDIR)\smb3.h \
37         $(INCFILEDIR)\smb_iocons.h \
38         $(INCFILEDIR)\smb_ioctl.h \
39         $(INCFILEDIR)\afsmsg95.h \
40         $(INCFILEDIR)\afsrpc.h \
41         $(INCFILEDIR)\cm_dns.h \
42         $(INCFILEDIR)\cm_dns_private.h
43
44 IDLFILES =\
45         afsrpc.h afsrpc_c.obj
46
47 CONFOBJS=cm_config.obj \
48          cm_dns.obj
49
50 AFSDOBJS=\
51         afsd_init.obj \
52         cm_cell.obj \
53         cm_server.obj \
54         cm_volume.obj \
55         cm_conn.obj \
56         cm_user.obj \
57         cm_buf.obj \
58         cm_scache.obj \
59         cm_dcache.obj \
60         cm_access.obj \
61         cm_callback.obj \
62         cm_vnodeops.obj \
63         cm_dir.obj \
64         cm_utils.obj \
65         smb.obj \
66         smb3.obj \
67         smb_ioctl.obj \
68         cm_ioctl.obj \
69         cm_daemon.obj \
70         cm_aclent.obj \
71         cm_dnlc.obj \
72         cm_rpc.obj \
73         afsrpc_s.obj \
74      cm_freelance.obj
75
76 cm_conn.obj: cm_conn.c
77         $(C2OBJ) -DAFS_PTHREAD_ENV $**
78
79 FSOBJS=fs.obj fs_utils.obj
80
81 SLOBJS=symlink.obj fs_utils.obj
82
83 ILIBDIR = $(DESTDIR)\lib
84
85 ############################################################################
86 #
87 # Flags for linking LOGON DLL'S
88 #
89
90 LOGONLINKFLAGS = -entry:DllEntryPoint
91
92 ############################################################################
93 #
94 # IDL COMPILATION
95 #
96
97 MIDL_FLAGS=/app_config \
98            /Zp4 \
99            /cpp_cmd $(cc) \
100            /cpp_opt "-E" \
101            /nologo
102
103 .SUFFIXES: .h .idl
104
105 .idl.h:
106         midl $(MIDL_FLAGS) $<
107
108 ############################################################################
109 # libafsconf.dll
110
111 CONF_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\libafsconf.dll
112
113
114 $(CONF_DLLFILE): $(CONFOBJS) libafsconf.res
115         $(DLLGUILINK) -def:libafsconf.def
116         $(DLLPREP)
117         $(COPY) $*.lib $(ILIBDIR)
118         $(DEL) $*.lib $*.exp
119
120 ############################################################################
121 # afslogon.dll
122
123 LOGON_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afslogon.dll
124
125 LOGON_DLLOBJS =\
126         afslogon.obj \
127         afslogon.res
128
129 LOGON_DLLLIBS =\
130         $(DESTDIR)\lib\afsauthent.lib \
131         $(DESTDIR)\lib\libafsconf.lib
132
133 $(LOGON_DLLFILE): $(LOGON_DLLOBJS)
134         $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLLIBS)
135         $(DLLPREP)
136         $(COPY) $*.lib $(DESTDIR)\lib
137         $(DEL) $*.lib $*.exp
138
139 ############################################################################
140 # afslog95.dll
141
142 LOG95_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afslog95.dll
143
144 LOG95_DLLOBJS =\
145         afslog95.obj \
146         afslog95.res
147
148 LOG95_DLLLIBS =\
149         $(DESTDIR)\lib\afsauthent.lib \
150         $(DESTDIR)\lib\libafsconf.lib
151
152 $(LOG95_DLLFILE): $(LOG95_DLLOBJS)
153         $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslog95.def $(LOG95_DLLLIBS)
154         $(DLLPREP)
155         $(COPY) $*.lib $(DESTDIR)\lib
156         $(DEL) $*.lib $*.exp
157
158 ############################################################################
159 # Install target; primary makefile target
160
161 install_objs: cm_dns.obj cm_config.obj
162      $(COPY) cm_dns.obj $(DESTDIR)\lib
163      $(COPY) cm_config.obj $(DESTDIR)\lib
164
165 install_headers: $(IDLFILES) $(INCFILES)
166
167 install: install_headers $(CONF_DLLFILE) \
168         $(EXEDIR)\klog.exe \
169         $(EXEDIR)\tokens.exe \
170         $(EXEDIR)\unlog.exe $(EXEDIR)\afsd.exe $(EXEDIR)\afsd_service.exe \
171         $(EXEDIR)\fs.exe $(EXEDIR)\symlink.exe \
172         $(LOGON_DLLFILE) \
173         $(EXEDIR)\afsshare.exe \
174         $(DESTDIR)\bin\kpasswd.exe
175
176 install9X: install_headers $(CONF_DLLFILE) \
177         $(EXEDIR)\klog.exe \
178         $(EXEDIR)\tokens.exe \
179         $(EXEDIR)\unlog.exe $(EXEDIR)\afsd_service.exe \
180         $(EXEDIR)\fs.exe $(EXEDIR)\symlink.exe \
181         $(LOGON_DLLFILE) $(LOG95_DLLFILE) \
182         $(EXEDIR)\afsshare.exe \
183         $(DESTDIR)\bin\kpasswd.exe
184
185 install_libutils: install_headers $(CONF_DLLFILE) \
186         $(EXEDIR)\klog.exe \
187         $(EXEDIR)\tokens.exe \
188         $(EXEDIR)\unlog.exe \
189         $(EXEDIR)\fs.exe $(EXEDIR)\symlink.exe \
190         $(EXEDIR)\afsshare.exe \
191         $(DESTDIR)\bin\kpasswd.exe
192
193 ############################################################################
194 # Local clean target; augments predefined clean target
195
196 ############################################################################
197 # assorted exe's
198
199 EXELIBS = \
200         $(DESTDIR)\lib\afs\afsauth.lib \
201         $(DESTDIR)\lib\afs\afskauth.lib \
202         $(DESTDIR)\lib\afs\afsprot.lib \
203         $(DESTDIR)\lib\afs\afspioctl.lib \
204         $(DESTDIR)\lib\afs\afsaudit.lib \
205         $(DESTDIR)\lib\afs\afsutil.lib \
206         $(DESTDIR)\lib\afs\afscom_err.lib \
207         $(DESTDIR)\lib\afs\afsreg.lib \
208         $(DESTDIR)\lib\afs\afscmd.lib \
209         $(DESTDIR)\lib\afsubik.lib \
210         $(DESTDIR)\lib\afsrxkad.lib \
211         $(DESTDIR)\lib\afsdes.lib \
212         $(DESTDIR)\lib\afsrx.lib \
213         $(DESTDIR)\lib\afslwp.lib \
214         $(DESTDIR)\lib\libosi.lib \
215         $(DESTDIR)\lib\libafsconf.lib
216
217
218 # klog.exe
219 $(EXEDIR)\klog.exe: cklog.obj klog.res
220         $(EXECONLINK) $(EXELIBS)
221         $(EXEPREP)
222
223 # tokens.exe
224 $(EXEDIR)\tokens.exe: ctokens.obj tokens.res
225         $(EXECONLINK) $(EXELIBS)
226         $(EXEPREP)
227
228 # unlog.exe
229 $(EXEDIR)\unlog.exe: cunlog.obj unlog.res
230         $(EXECONLINK) $(EXELIBS)
231         $(EXEPREP)
232
233 # afsd.exe
234 AFSD_EXEFILE = $(EXEDIR)\afsd.exe
235
236 AFSD_EXELIBS =\
237         largeint.lib \
238         netapi32.lib \
239         mpr.lib \
240         $(DESTDIR)\lib\libosi.lib \
241         $(DESTDIR)\lib\afsrpc.lib \
242         $(DESTDIR)\lib\afsauthent.lib \
243         $(DESTDIR)\lib\afs\mtafsvldb.lib \
244         $(DESTDIR)\lib\afs\mtafsint.lib \
245         $(DESTDIR)\lib\libafsconf.lib \
246         $(DESTDIR)\lib\afs\afsreg.lib \
247         rpcrt4.lib \
248         user32.lib
249
250 $(AFSD_EXEFILE): afsd.obj $(AFSDOBJS) afsd.res
251         $(EXEGUILINK) $(AFSD_EXELIBS)
252         $(EXEPREP)
253
254 # afsd_service.exe
255 $(EXEDIR)\afsd_service.exe: afsd_service.obj $(AFSDOBJS) afsd_service.res
256         $(EXECONLINK) $(AFSD_EXELIBS)
257         $(EXEPREP)
258
259 # fs.exe
260 $(EXEDIR)\fs.exe: $(FSOBJS) fs.res
261         $(EXECONLINK) $(EXELIBS)
262         $(EXEPREP)
263
264 # symlink.exe
265 $(EXEDIR)\symlink.exe: $(SLOBJS) symlink.res
266         $(EXECONLINK) $(EXELIBS)
267         $(EXEPREP)
268
269 # afsshare.exe
270 $(EXEDIR)\afsshare.exe: afsshare.obj afsshare.res
271         $(EXECONLINK)
272         $(EXEPREP)
273
274 # kpasswd.exe - built in kauth, but rebuild here to make pthread-based,
275 #    which is required for Windows 95.  At some point it would be nice
276 #    for all commands to be pthread based, in which case they should
277 #    be built in a separate directory (perhaps tbin ala tviced) or
278 #    libafsauthent should be built earlier so that each command can
279 #    be built in its native directory.
280
281 KAUTH = ..\..\kauth
282
283 KPASSWD_OBJS =\
284         kpasswd.obj \
285         kkids.obj \
286         kautils.obj \
287         $(KAUTH)\kpasswd.res
288
289 KPASSWD_LIBS =\
290         $(DESTDIR)\lib\afsauthent.lib \
291         $(DESTDIR)\lib\afsrpc.lib \
292         $(DESTDIR)\lib\afs\afscmd.lib \
293         $(DESTDIR)\lib\afsdes.lib \
294         $(DESTDIR)\lib\afs\afsutil.lib
295
296 kpasswd.obj: $(KAUTH)/kpasswd.c
297         $(C2OBJ) -DAFS_PTHREAD_ENV $**
298
299 kkids.obj: $(KAUTH)/kkids.c
300         $(C2OBJ) -DAFS_PTHREAD_ENV $**
301
302 kautils.obj: $(KAUTH)/kautils.c
303         $(C2OBJ) -DAFS_PTHREAD_ENV $**
304
305 $(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
306         $(DEL) $(DESTDIR)\bin\kpasswd.exe
307         $(EXECONLINK)
308         $(EXEPREP)
309
310
311 ############################################################################
312 # generate versioninfo resources
313
314 afsshare.res: afsshare.rc AFS_component_version_number.h
315
316 fs.res: fs.rc AFS_component_version_number.h
317
318 symlink.res: symlink.rc AFS_component_version_number.h
319
320 klog.res: klog.rc AFS_component_version_number.h
321
322 tokens.res: tokens.rc AFS_component_version_number.h
323
324 unlog.res: unlog.rc AFS_component_version_number.h
325
326 afsd_service.res: afsd_service.rc AFS_component_version_number.h
327
328 afslogon.res: afslogon.rc AFS_component_version_number.h
329
330 afslog95.res: afslog95.rc AFS_component_version_number.h
331
332 libafsconf.res: libafsconf.rc AFS_component_version_number.h
333
334 clean::
335         $(DEL) *.res
336         $(DEL) afsrpc.h
337         $(DEL) afsrpc_?.*
338         $(DEL) $(EXELIBS)