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