ubik: make ContactQuorum_* routines static
[openafs.git] / src / ubik / 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=ubik
9 !INCLUDE ..\config\NTMakefile.$(SYS_NAME)
10 !INCLUDE ..\config\NTMakefile.version
11
12 ############################################################################
13 # Install header files
14
15 INCFILEDIR = $(DESTDIR)\include
16
17 INCFILES =\
18         $(INCFILEDIR)\ubik.h \
19         $(INCFILEDIR)\ubik_int.h
20
21 install_headers: $(INCFILES)
22
23 ############################################################################
24 # install afsubik.lib
25
26 LIBFILE = $(DESTDIR)\lib\afsubik.lib
27
28 LIBOBJS =\
29         $(OUT)\disk.obj \
30         $(OUT)\remote.obj \
31         $(OUT)\beacon.obj \
32         $(OUT)\recovery.obj \
33         $(OUT)\ubik.obj \
34         $(OUT)\uinit.obj \
35         $(OUT)\vote.obj \
36         $(OUT)\lock.obj \
37         $(OUT)\phys.obj \
38         $(OUT)\ubik_int.cs.obj \
39         $(OUT)\ubik_int.ss.obj \
40         $(OUT)\ubik_int.xdr.obj \
41         $(OUT)\ubikcmd.obj \
42         $(OUT)\ubikclient.obj \
43         $(OUT)\uerrors.obj      \
44         $(OUT)\AFS_component_version_number.obj
45
46
47 $(LIBFILE): $(LIBOBJS)
48         $(LIBARCH)
49
50 ############################################################################
51 # build mtafsubik.lib
52
53 MT_LIBFILE = $(DESTDIR)\lib\afs\mtafsubik.lib
54
55 MT_LIBOBJS =\
56         $(OUT)\disk_mt.obj \
57         $(OUT)\remote_mt.obj \
58         $(OUT)\beacon_mt.obj \
59         $(OUT)\recovery_mt.obj \
60         $(OUT)\ubik_mt.obj \
61         $(OUT)\uinit_mt.obj \
62         $(OUT)\vote_mt.obj \
63         $(OUT)\lock_mt.obj \
64         $(OUT)\phys_mt.obj \
65         $(OUT)\ubik_int_mt.cs.obj \
66         $(OUT)\ubik_int_mt.ss.obj \
67         $(OUT)\ubik_int_mt.xdr.obj \
68         $(OUT)\ubikcmd_mt.obj \
69         $(OUT)\ubikclient_mt.obj \
70         $(OUT)\uerrors_mt.obj   \
71         $(OUT)\AFS_component_version_number.obj
72
73 $(OUT)\disk_mt.obj:disk.c
74         $(C2OBJ) $** -DAFS_PTHREAD_ENV
75
76 $(OUT)\remote_mt.obj:remote.c
77         $(C2OBJ) $** -DAFS_PTHREAD_ENV
78
79 $(OUT)\beacon_mt.obj:beacon.c
80         $(C2OBJ) $** -DAFS_PTHREAD_ENV
81
82 $(OUT)\recovery_mt.obj:recovery.c
83         $(C2OBJ) $** -DAFS_PTHREAD_ENV
84
85 $(OUT)\ubik_mt.obj:ubik.c
86         $(C2OBJ) $** -DAFS_PTHREAD_ENV
87
88 $(OUT)\uinit_mt.obj:uinit.c
89         $(C2OBJ) $** -DAFS_PTHREAD_ENV
90
91 $(OUT)\vote_mt.obj:vote.c
92         $(C2OBJ) $** -DAFS_PTHREAD_ENV
93
94 $(OUT)\lock_mt.obj:lock.c
95         $(C2OBJ) $** -DAFS_PTHREAD_ENV
96
97 $(OUT)\phys_mt.obj:phys.c
98         $(C2OBJ) $** -DAFS_PTHREAD_ENV
99
100 $(OUT)\uerrors_mt.obj:uerrors.c
101         $(C2OBJ) $** -DAFS_PTHREAD_ENV
102
103 $(OUT)\ubik_int_mt.cs.obj:ubik_int.cs.c
104         $(C2OBJ) $** -DAFS_PTHREAD_ENV
105
106 $(OUT)\ubik_int_mt.ss.obj:ubik_int.ss.c
107         $(C2OBJ) $** -DAFS_PTHREAD_ENV
108
109 $(OUT)\ubik_int_mt.xdr.obj:ubik_int.xdr.c
110         $(C2OBJ) $** -DAFS_PTHREAD_ENV
111
112 $(OUT)\ubikcmd_mt.obj:ubikcmd.c
113         $(C2OBJ) $** -DAFS_PTHREAD_ENV
114
115 $(OUT)\ubikclient_mt.obj:ubikclient.c
116         $(C2OBJ) $** -DAFS_PTHREAD_ENV
117
118 $(MT_LIBFILE): $(MT_LIBOBJS)
119         $(LIBARCH)
120
121 ############################################################################
122 # Definitions for building a EXE.
123
124 RS_UDBG_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\udebug.exe
125 CL_UDBG_EXEFILE = $(DESTDIR)\bin\udebug.exe
126
127 UDBG_EXEOBJS =\
128         $(OUT)\udebug.obj \
129         $(OUT)\udebug.res
130
131 UDBG_EXELIBS =\
132         $(DESTDIR)\lib\afsubik.lib \
133         $(DESTDIR)\lib\afsrx.lib \
134         $(DESTDIR)\lib\afshcrypto.lib \
135         $(DESTDIR)\lib\afs\afsreg.lib \
136         $(DESTDIR)\lib\afslwp.lib \
137         $(DESTDIR)\lib\afs\afscom_err.lib \
138         $(DESTDIR)\lib\afs\afscmd.lib \
139         $(DESTDIR)\lib\afs\afsutil.lib \
140         $(DESTDIR)\lib\opr.lib \
141         $(DESTDIR)\lib\afsroken.lib
142
143
144 $(RS_UDBG_EXEFILE): $(UDBG_EXEOBJS) $(UDBG_EXELIBS)
145         $(EXECONLINK) iphlpapi.lib shell32.lib
146         $(_VC_MANIFEST_EMBED_EXE)
147         $(EXEPREP)
148         $(CODESIGN_USERLAND)
149         $(SYMSTORE_IMPORT)
150
151 $(CL_UDBG_EXEFILE): $(RS_UDBG_EXEFILE)
152         $(COPY) $** $@
153
154 ############################################################################
155 # generate versioninfo resources
156
157 $(OUT)\udebug.res: AFS_component_version_number.h
158 #       $(RC) $*.rc
159
160 ############################################################################
161 # rxgen on ubik_int.xg
162
163 $(INCFILES):$$(@F)
164          $(COPY)  $** $(INCFILEDIR)\.
165
166 ubik_int.cs.c: ubik_int.xg ubik_int.h
167         $(RXGEN) -x -C -o $@ ubik_int.xg
168
169 ubik_int.ss.c: ubik_int.xg ubik_int.h
170         $(RXGEN) -x -S -o $@ ubik_int.xg
171
172 ubik_int.xdr.c: ubik_int.xg ubik_int.h
173         $(RXGEN) -x -c -o $@ ubik_int.xg
174
175 ubik_int.h: ubik_int.xg
176         $(RXGEN) -x -h -o $@ ubik_int.xg
177
178 ############################################################################
179 # compile_et on uerrors.et
180
181 uerrors.c ubik.h: uerrors.et ubik.p.h
182         $(DEL)  ubik.h uerrors.c
183         $(COMPILE_ET) uerrors -h ubik
184
185 ############################################################################
186 # Install target; primary makefile target
187
188 install: $(INCFILES) $(LIBFILE) $(MT_LIBFILE) $(CL_UDBG_EXEFILE)
189
190 clean::
191         $(DEL) ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c
192         $(DEL) uerrors.c $(INCFILES)
193         $(DEL) ubik_int.h ubik.h
194
195 ############################################################################
196 # test ubik
197
198 test tests: utst_server utst_client $(EXEFILE)
199
200 utst_server: $(OUT)\utst_server.obj $(OUT)\utst_int.ss.obj $(OUT)\utst_int.xdr.obj  $(EXELIBS)
201         $(EXECONLINK)
202         $(_VC_MANIFEST_EMBED_EXE)
203         $(CODESIGN_USERLAND)
204         $(SYMSTORE_IMPORT)
205
206 utst_client: $(OUT)\utst_client.obj $(OUT)\utst_int.cs.obj $(OUT)\utst_int.xdr.obj $(EXELIBS)
207         $(EXECONLINK)
208         $(_VC_MANIFEST_EMBED_EXE)
209         $(CODESIGN_USERLAND)
210         $(SYMSTORE_IMPORT)
211
212 # rxgen on utst_int.xg
213 utst_int.ss.c utst_int.cs.c utst_int.xdr.c utst_int.h: utst_int.xg
214         $(RXGEN)  utst_int.xg
215
216 $(OUT)\utst_server.obj $(OUT)\utst_client.obj : utst_int.h
217
218 mkdir:
219