ubik: make uphys_close 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\afs\afsreg.lib \
135         $(DESTDIR)\lib\afslwp.lib \
136         $(DESTDIR)\lib\afs\afscom_err.lib \
137         $(DESTDIR)\lib\afs\afscmd.lib \
138         $(DESTDIR)\lib\afs\afsutil.lib
139
140
141 $(RS_UDBG_EXEFILE): $(UDBG_EXEOBJS) $(UDBG_EXELIBS)  
142         $(EXECONLINK) iphlpapi.lib shell32.lib
143         $(_VC_MANIFEST_EMBED_EXE)
144         $(EXEPREP)  
145         $(CODESIGN_USERLAND)
146         $(SYMSTORE_IMPORT)
147
148 $(CL_UDBG_EXEFILE): $(RS_UDBG_EXEFILE)
149         $(COPY) $** $@
150
151 ############################################################################
152 # generate versioninfo resources
153
154 $(OUT)\udebug.res: AFS_component_version_number.h
155 #       $(RC) $*.rc
156
157 ############################################################################
158 # rxgen on ubik_int.xg
159
160 $(INCFILES):$$(@F)
161          $(COPY)  $** $(INCFILEDIR)\.
162
163 ubik_int.cs.c: ubik_int.xg ubik_int.h
164         $(RXGEN) -x -C -o $@ ubik_int.xg
165
166 ubik_int.ss.c: ubik_int.xg ubik_int.h
167         $(RXGEN) -x -S -o $@ ubik_int.xg
168
169 ubik_int.xdr.c: ubik_int.xg ubik_int.h
170         $(RXGEN) -x -c -o $@ ubik_int.xg
171
172 ubik_int.h: ubik_int.xg
173         $(RXGEN) -x -h -o $@ ubik_int.xg
174
175 ############################################################################
176 # compile_et on uerrors.et
177
178 uerrors.c ubik.h: uerrors.et ubik.p.h
179         $(DEL)  ubik.h uerrors.c
180         $(COMPILE_ET) uerrors -h ubik
181
182 ############################################################################
183 # Install target; primary makefile target
184
185 install: $(INCFILES) $(LIBFILE) $(MT_LIBFILE) $(CL_UDBG_EXEFILE)
186
187 clean::
188         $(DEL) ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c 
189         $(DEL) uerrors.c $(INCFILES)
190         $(DEL) ubik_int.h ubik.h
191
192 ############################################################################
193 # test ubik
194
195 test tests: utst_server utst_client $(EXEFILE) 
196
197 utst_server: $(OUT)\utst_server.obj $(OUT)\utst_int.ss.obj $(OUT)\utst_int.xdr.obj  $(EXELIBS)
198         $(EXECONLINK) 
199         $(_VC_MANIFEST_EMBED_EXE)
200         $(CODESIGN_USERLAND)
201         $(SYMSTORE_IMPORT)
202         
203 utst_client: $(OUT)\utst_client.obj $(OUT)\utst_int.cs.obj $(OUT)\utst_int.xdr.obj $(EXELIBS)
204         $(EXECONLINK) 
205         $(_VC_MANIFEST_EMBED_EXE)
206         $(CODESIGN_USERLAND)
207         $(SYMSTORE_IMPORT)
208         
209 # rxgen on utst_int.xg
210 utst_int.ss.c utst_int.cs.c utst_int.xdr.c utst_int.h: utst_int.xg
211         $(RXGEN)  utst_int.xg
212
213 $(OUT)\utst_server.obj $(OUT)\utst_client.obj : utst_int.h 
214
215 mkdir:
216