f8131dd31d3a41e0db3939562de0c9ebe5d5a2d4
[openafs.git] / src / libafsrpc / 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 RX = ..\rx
12 RXSTAT = ..\rxstat
13 RXKAD = ..\rxkad
14 DES = ..\des
15 UTIL = ..\util
16 FSINT = ..\fsint
17 COMERR = ..\comerr
18
19 # Additional debugging flag for RX.
20 AFSDEV_AUXCDEFINES = -DRXDEBUG -DAFS_PTHREAD_ENV
21
22 LIBFILE = $(DESTDIR)\lib\afsrpc.dll
23
24 # Object files by category.
25 MULTIOBJS = rx_multi.obj
26
27 XDROBJS = xdr.obj xdr_array.obj xdr_arrayn.obj xdr_float.obj xdr_mem.obj \
28         xdr_rec.obj  xdr_refernce.obj xdr_rx.obj xdr_update.obj \
29         xdr_afsuuid.obj xdr_int64.obj
30
31 RXOBJS = rx_event.obj rx_user.obj rx_pthread.obj rx.obj \
32         rx_null.obj rx_globals.obj rx_getaddr.obj rx_misc.obj rx_packet.obj \
33         rx_rdwr.obj rx_trace.obj rx_xmit_nt.obj rx_conncache.obj 
34
35 RXSTATOBJS = rxstat.obj rxstat.ss.obj rxstat.xdr.obj rxstat.cs.obj
36
37 LIBRXKAD_OBJS = rxkad_client.obj rxkad_server.obj rxkad_common.obj ticket.obj \
38         AFS_component_version_number.obj
39
40 LIBRXKAD_REGOBJS = fcrypt.obj crypt_conn.obj
41
42 DESOBJS = des.obj cbc_encrypt.obj pcbc_encrypt.obj cksum.obj new_rnd_key.obj \
43         key_sched.obj debug_decl.obj quad_cksum.obj key_parity.obj \
44         weak_key.obj strng_to_key.obj misc.obj util.obj
45
46 UTILOBJS = casestrcpy.obj winsock_nt.obj
47
48 COMERROBJS = error_msg.obj et_name.obj com_err.obj
49
50 FSINTOBJS = afsint.cs.obj afsint.xdr.obj afscbint.cs.obj afscbint.xdr.obj \
51         afsaux.obj
52
53 DLLOBJS = $(MULTIOBJS) $(RXOBJS) $(XDROBJS) $(RXSTATOBJS) $(LIBRXKAD_OBJS) \
54         $(DESOBJS) $(LIBRXKAD_REGOBJS) $(UTILOBJS) $(COMERROBJS) \
55         $(FSINTOBJS) afsrpc.res
56
57 rx_multi.obj: $(RX)\rx_multi.c
58         $(C2OBJ) $(RX)\rx_multi.c
59
60 xdr.obj: $(RX)\xdr.c
61         $(C2OBJ) $(RX)\xdr.c
62
63 xdr_array.obj: $(RX)\xdr_array.c
64         $(C2OBJ) $(RX)\xdr_array.c
65
66 xdr_arrayn.obj: $(RX)\xdr_arrayn.c
67         $(C2OBJ) $(RX)\xdr_arrayn.c
68
69 xdr_float.obj: $(RX)\xdr_float.c
70         $(C2OBJ) $(RX)\xdr_float.c
71
72 xdr_mem.obj: $(RX)\xdr_mem.c
73         $(C2OBJ) $(RX)\xdr_mem.c
74
75 xdr_rec.obj: $(RX)\xdr_rec.c
76         $(C2OBJ) $(RX)\xdr_rec.c
77
78 xdr_refernce.obj: $(RX)\xdr_refernce.c
79         $(C2OBJ) $(RX)\xdr_refernce.c
80
81 xdr_rx.obj: $(RX)\xdr_rx.c
82         $(C2OBJ) $(RX)\xdr_rx.c
83
84 xdr_update.obj: $(RX)\xdr_update.c
85         $(C2OBJ) $(RX)\xdr_update.c
86
87 xdr_afsuuid.obj: $(RX)\xdr_afsuuid.c
88         $(C2OBJ) $(RX)\xdr_afsuuid.c
89
90 xdr_int64.obj: $(RX)\xdr_int64.c
91         $(C2OBJ) $(RX)\xdr_int64.c
92
93 rx_event.obj: $(RX)\rx_event.c
94         $(C2OBJ) $(RX)\rx_event.c
95
96 rx_user.obj: $(RX)\rx_user.c
97         $(C2OBJ) $(RX)\rx_user.c
98
99 rx_pthread.obj: $(RX)\rx_pthread.c
100         $(C2OBJ) $(RX)\rx_pthread.c
101
102 rx.obj: $(RX)\rx.c
103         $(C2OBJ) $(RX)\rx.c
104
105 rx_null.obj: $(RX)\rx_null.c
106         $(C2OBJ) $(RX)\rx_null.c
107
108 rx_globals.obj: $(RX)\rx_globals.c
109         $(C2OBJ) $(RX)\rx_globals.c
110
111 rx_getaddr.obj: $(RX)\rx_getaddr.c
112         $(C2OBJ) $(RX)\rx_getaddr.c
113
114 rx_misc.obj: $(RX)\rx_misc.c
115         $(C2OBJ) $(RX)\rx_misc.c
116
117 rx_packet.obj: $(RX)\rx_packet.c
118         $(C2OBJ) $(RX)\rx_packet.c
119
120 rx_rdwr.obj: $(RX)\rx_rdwr.c
121         $(C2OBJ) $(RX)\rx_rdwr.c
122
123 rx_trace.obj: $(RX)\rx_trace.c
124         $(C2OBJ) $(RX)\rx_trace.c
125
126 rx_xmit_nt.obj: $(RX)\rx_xmit_nt.c
127         $(C2OBJ) $(RX)\rx_xmit_nt.c
128
129 rx_conncache.obj: $(RX)\rx_conncache.c
130         $(C2OBJ) $(RX)\rx_conncache.c
131
132 rxstat.cs.obj:$(RXSTAT)\rxstat.cs.c
133         $(C2OBJ) $(RXSTAT)\rxstat.cs.c
134
135 rxstat.ss.obj:$(RXSTAT)\rxstat.ss.c
136         $(C2OBJ) $(RXSTAT)\rxstat.ss.c
137
138 rxstat.xdr.obj:$(RXSTAT)\rxstat.xdr.c
139         $(C2OBJ) $(RXSTAT)\rxstat.xdr.c
140
141 rxstat.obj:$(RXSTAT)\rxstat.c
142         $(C2OBJ) $(RXSTAT)\rxstat.c
143
144 rxkad_client.obj:$(RXKAD)\rxkad_client.c
145         $(C2OBJ) $(RXKAD)\rxkad_client.c
146
147 rxkad_server.obj:$(RXKAD)\rxkad_server.c
148         $(C2OBJ) $(RXKAD)\rxkad_server.c
149
150 rxkad_common.obj:$(RXKAD)\rxkad_common.c
151         $(C2OBJ) $(RXKAD)\rxkad_common.c
152
153 ticket.obj:$(RXKAD)\ticket.c
154         $(C2OBJ) $(RXKAD)\ticket.c
155
156 fcrypt.obj:$(RXKAD)\fcrypt.c
157         $(C2OBJ) $(RXKAD)\fcrypt.c
158
159 crypt_conn.obj:$(RXKAD)\crypt_conn.c
160         $(C2OBJ) $(RXKAD)\crypt_conn.c
161
162 AFS_component_version_number.obj:$(RXKAD)\AFS_component_version_number.c
163         $(C2OBJ) $(RXKAD)\AFS_component_version_number.c
164
165 fcrypt_x.obj:$(RXKAD)\fcrypt.c
166         $(C2OBJ) $(RXKAD)\fcrypt.c /Fofcrypt_x.obj
167
168 crypt_conn_x.obj:$(RXKAD)\crypt_conn.c
169         $(C2OBJ) $(RXKAD)\crypt_conn.c /Focrypt_conn_x.obj
170
171 des.obj:$(DES)\des.c
172         $(C2OBJ) $(DES)\des.c
173
174 cbc_encrypt.obj:$(DES)\cbc_encrypt.c
175         $(C2OBJ) $(DES)\cbc_encrypt.c
176
177 pcbc_encrypt.obj:$(DES)\pcbc_encrypt.c
178         $(C2OBJ) $(DES)\pcbc_encrypt.c
179
180 cksum.obj:$(DES)\cksum.c
181         $(C2OBJ) $(DES)\cksum.c
182
183 new_rnd_key.obj:$(DES)\new_rnd_key.c
184         $(C2OBJ) $(DES)\new_rnd_key.c
185
186 key_sched.obj:$(DES)\key_sched.c
187         $(C2OBJ) $(DES)\key_sched.c
188
189 debug_decl.obj:$(DES)\debug_decl.c
190         $(C2OBJ) $(DES)\debug_decl.c
191
192 quad_cksum.obj:$(DES)\quad_cksum.c
193         $(C2OBJ) $(DES)\quad_cksum.c
194
195 key_parity.obj:$(DES)\key_parity.c
196         $(C2OBJ) $(DES)\key_parity.c
197
198 weak_key.obj:$(DES)\weak_key.c
199         $(C2OBJ) $(DES)\weak_key.c
200
201 strng_to_key.obj:$(DES)\strng_to_key.c
202         $(C2OBJ) $(DES)\strng_to_key.c
203
204 misc.obj:$(DES)\misc.c
205         $(C2OBJ) -DDONT_INCL_MAIN $(DES)\misc.c
206
207 util.obj:$(DES)\util.c
208         $(C2OBJ) $(DES)\util.c
209
210 des_x.obj:$(DES)\des.c
211         $(C2OBJ) $(DES)\des.c /Fodes_x.obj
212
213 cbc_crypt_x.obj:$(DES)\cbc_encrypt.c
214         $(C2OBJ) $(DES)\cbc_encrypt.c /Focbc_crypt_x.obj
215
216 pcbc_crypt_x.obj:$(DES)\pcbc_encrypt.c
217         $(C2OBJ) $(DES)\pcbc_encrypt.c /Fopcbc_crypt_x.obj
218
219 cksum_x.obj:$(DES)\cksum.c
220         $(C2OBJ) $(DES)\cksum.c /Focksum_x.obj
221
222 nrnd_key_x.obj:$(DES)\new_rnd_key.c
223         $(C2OBJ) $(DES)\new_rnd_key.c /Fonrnd_key_x.obj
224
225 error_msg.obj:$(COMERR)\error_msg.c
226         $(C2OBJ) $(COMERR)\error_msg.c
227
228 et_name.obj:$(COMERR)\et_name.c
229         $(C2OBJ) $(COMERR)\et_name.c
230
231 com_err.obj:$(COMERR)\com_err.c
232         $(C2OBJ) $(COMERR)\com_err.c
233
234 casestrcpy.obj:$(UTIL)\casestrcpy.c
235         $(C2OBJ) $(UTIL)\casestrcpy.c
236
237 winsock_nt.obj:$(UTIL)\winsock_nt.c
238         $(C2OBJ) $(UTIL)\winsock_nt.c
239
240 afsint.cs.obj:$(FSINT)\afsint.cs.c
241         $(C2OBJ) $(FSINT)\afsint.cs.c
242
243 afsint.xdr.obj:$(FSINT)\afsint.xdr.c
244         $(C2OBJ) $(FSINT)\afsint.xdr.c
245
246 afscbint.cs.obj:$(FSINT)\afscbint.cs.c
247         $(C2OBJ) $(FSINT)\afscbint.cs.c
248
249 afscbint.xdr.obj:$(FSINT)\afscbint.xdr.c
250         $(C2OBJ) $(FSINT)\afscbint.xdr.c
251
252 afsaux.obj:$(FSINT)\afsaux.c
253         $(C2OBJ) $(FSINT)\afsaux.c
254
255 NTMAKE = nmake /nologo /f ntmakefile
256
257
258 DLLLIBS =\
259 !IF (("$(SYS_NAME)"=="i386_win95" ) || ("$(SYS_NAME)"=="I386_WIN95" ))
260         $(DESTDIR)\lib\win95\afspthread.lib \
261 !ELSE
262         $(DESTDIR)\lib\afspthread.lib \
263 !ENDIF
264         $(DESTDIR)\lib\afs\afsutil.lib \
265         $(DESTDIR)\lib\afs\afsreg.lib
266
267 $(DESTDIR)\lib\afsrpc.dll: $(DLLOBJS) $(DLLLIBS)
268         $(DLLCONLINK) /DEF:afsrpc.def
269         $(DLLPREP)
270
271 # Definitions for generating versioninfo resources
272 afsrpc.res: afsrpc.rc AFS_component_version_number.h
273         $(RC) $*.rc
274
275
276 install:
277 !       IF (EXIST(..\..\src\des\NTMakefile))
278                 $(NTMAKE) $(LIBFILE)
279 !       else
280                 $(NTMAKE) libstub
281 !       endif
282
283 install9x: install
284
285 !IF (EXIST(..\..\src\des\NTMakefile))
286 !ELSE IF (EXIST(..\..\DESLIB))
287 DESPAR = ..\..\DESLIB\dest
288 !ELSE IF (EXIST(..\..\..\DESLIB))
289 DESPAR = ..\..\..\DESLIB\dest
290 !ELSE
291 !ERROR Must create DESLIB link in the same directory as PARENT link.
292 !ENDIF
293
294 libstub:
295         $(COPY) $(DESPAR)\lib\afsrpc.dll \
296                 $(DESTDIR)\lib\afsrpc.dll
297         $(COPY) $(DESPAR)\lib\afsrpc.lib \
298                 $(DESTDIR)\lib\afsrpc.lib
299         $(COPY) $(DESPAR)\lib\afsrpc.exp \
300                 $(DESTDIR)\lib\afsrpc.exp
301
302 clean::
303         $(DEL) $(DESTDIR)\lib\afsrpc.dll $(DESTDIR)\lib\afsrpc.lib $(DESTDIR)\lib\afsrpc.exp