732cd1835a8ddb038f61a46a0ea96f5e218b4a78
[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 RELDIR=libafsrpc
9 AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -DNOGDI -DWIN32_LEAN_AND_MEAN -DAFS_PTHREAD_ENV -DMAKEDEBUGCALL
10 !include ..\config\NTMakefile.$(SYS_NAME)
11 !include ..\config\NTMakefile.version
12
13 RX = ..\rx
14 RXSTAT = ..\rxstat
15 RXKAD = ..\rxkad
16 UTIL = ..\util
17 FSINT = ..\fsint
18 COMERR = ..\comerr
19 LWP = ..\lwp
20
21 # Additional debugging flag for RX.
22 !IF ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
23 AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -DRXDEBUG -DRXDEBUG_PACKET -DRX_TRACK_PACKETS -DRX_REFCOUNT_CHECK
24 !ENDIF
25
26 LIBFILE = $(DESTDIR)\lib\afsrpc.dll
27
28 # Object files by category.
29 MULTIOBJS = $(OUT)\rx_multi.obj
30
31 XDROBJS = $(OUT)\xdr.obj $(OUT)\xdr_array.obj $(OUT)\xdr_arrayn.obj $(OUT)\xdr_float.obj $(OUT)\xdr_mem.obj \
32         $(OUT)\xdr_rec.obj  $(OUT)\xdr_refernce.obj $(OUT)\xdr_rx.obj $(OUT)\xdr_update.obj \
33         $(OUT)\xdr_afsuuid.obj $(OUT)\xdr_int64.obj $(OUT)\xdr_int32.obj $(OUT)\xdr_len.obj
34
35 RXOBJS = $(OUT)\rx_event.obj $(OUT)\rx_user.obj $(OUT)\rx_pthread.obj \
36          $(OUT)\rx.obj $(OUT)\rx_clock_nt.obj $(OUT)\rx_null.obj \
37          $(OUT)\rx_globals.obj $(OUT)\rx_getaddr.obj $(OUT)\rx_misc.obj \
38          $(OUT)\rx_packet.obj $(OUT)\rx_rdwr.obj $(OUT)\rx_trace.obj \
39          $(OUT)\rx_xmit_nt.obj $(OUT)\rx_conncache.obj $(OUT)\rx_opaque.obj \
40          $(OUT)\rx_identity.obj $(OUT)\rx_stats.obj \
41          $(OUT)\rx_call.obj $(OUT)\rx_conn.obj $(OUT)\rx_peer.obj
42
43 RXSTATBJS = $(OUT)\rxstat.obj $(OUT)\rxstat.ss.obj $(OUT)\rxstat.xdr.obj $(OUT)\rxstat.cs.obj
44
45 LIBRXKAD_OBJS = $(OUT)\rxkad_client.obj $(OUT)\rxkad_server.obj $(OUT)\rxkad_common.obj $(OUT)\rxkad_errs.obj \
46         $(OUT)\ticket.obj $(OUT)\ticket5.obj $(OUT)\crc.obj $(OUT)\AFS_component_version_number.obj
47
48 LIBRXKAD_REGOBJS = $(OUT)\bg-fcrypt.obj
49
50 UTILOBJS = $(OUT)\winsock_nt.obj \
51            $(OUT)\pthread_glock.obj
52
53 COMERRBJS = $(OUT)\error_msg.obj $(OUT)\et_name.obj $(OUT)\com_err.obj
54
55 LWPOBJS = $(OUT)\lock.obj $(OUT)\fasttime.obj $(OUT)\threadname.obj
56
57 FSINTBJS = $(OUT)\afsint.cs.obj \
58            $(OUT)\afsint.xdr.obj \
59            $(OUT)\afscbint.cs.obj \
60            $(OUT)\afscbint.xdr.obj \
61            $(OUT)\afsaux.obj
62
63 DLLOBJS = $(MULTIOBJS) $(RXOBJS) $(XDROBJS) $(RXSTATBJS) $(LIBRXKAD_OBJS) \
64         $(LIBRXKAD_REGOBJS) $(UTILOBJS) $(COMERRBJS) \
65         $(LWPOBJS) $(OUT)\afsrpc.res
66
67 $(MULTIOBJS) $(RXOBJS) $(XDROBJS):$(RX)\$$(@B).c
68         $(C2OBJ) $** -I$(RX) 
69
70 $(RXSTATBJS):$(RXSTAT)\$$(@B).c
71         $(C2OBJ) $** -I$(RXSTAT)
72
73 $(LIBRXKAD_REGOBJS) $(LIBRXKAD_OBJS):$(RXKAD)\$$(@B).c
74         $(C2OBJ) $** -I$(RXKAD)
75
76 $(COMERRBJS):$(COMERR)\$$(@B).c
77         $(C2OBJ) $** -I$(COMERR)
78
79 $(FSINTBJS):$(FSINT)\$$(@B).c
80         $(C2OBJ) $** -I$(FSINT)
81
82 $(UTILOBJS):$(UTIL)\$$(@B).c
83         $(C2OBJ) $** -I$(UTIL)
84
85 $(LWPOBJS): $(LWP)\$$(@B).C
86         $(C2OBJ) $** -I$(LWP)
87
88 NTMAKE = nmake /nologo /f ntmakefile
89
90
91 DLLLIBS =\
92         $(DESTDIR)\lib\afspthread.lib \
93         $(DESTDIR)\lib\afs\mtafsutil.lib \
94         $(DESTDIR)\lib\afs\afsreg.lib \
95         $(DESTDIR)\lib\opr.lib \
96         $(DESTDIR)\lib\afshcrypto.lib \
97         $(DESTDIR)\lib\afsroken.lib
98
99 $(LIBFILE): $(DLLOBJS) $(DLLLIBS)
100         $(DLLCONLINK) /DEF:afsrpc.def iphlpapi.lib
101         $(_VC_MANIFEST_EMBED_DLL)
102         $(DLLPREP)
103         $(CODESIGN_USERLAND)
104         $(SYMSTORE_IMPORT)
105         $(MAKECYGLIB) --input-def afsrpc.def
106
107 # Definitions for generating versioninfo resources
108 $(OUT)\afsrpc.res: AFS_component_version_number.h
109
110 install: $(LIBFILE)
111
112 clean::
113         $(DEL) $(DESTDIR)\lib\afsrpc.dll $(DESTDIR)\lib\afsrpc.lib $(DESTDIR)\lib\afsrpc.exp