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