17118b378c16aae1f518cb04015e800898e83652
[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.obj \
57         $(OUT)\remote.obj \
58         $(OUT)\beacon.obj \
59         $(OUT)\recovery.obj \
60         $(OUT)\ubik.obj \
61         $(OUT)\uinit.obj \
62         $(OUT)\vote.obj \
63         $(OUT)\lock.obj \
64         $(OUT)\phys.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.obj \
69         $(OUT)\ubikclient.obj \
70         $(OUT)\uerrors_mt.obj   \
71         $(OUT)\AFS_component_version_number.obj
72
73 $(OUT)\uerrors_mt.obj:uerrors.c
74         $(C2OBJ) $** -DAFS_PTHREAD_ENV
75
76 $(OUT)\ubik_int_mt.cs.obj:ubik_int.cs.c
77         $(C2OBJ) $** -DAFS_PTHREAD_ENV
78
79 $(OUT)\ubik_int_mt.ss.obj:ubik_int.ss.c
80         $(C2OBJ) $** -DAFS_PTHREAD_ENV
81
82 $(OUT)\ubik_int_mt.xdr.obj:ubik_int.xdr.c
83         $(C2OBJ) $** -DAFS_PTHREAD_ENV
84
85 $(MT_LIBFILE): $(MT_LIBOBJS)  
86         $(LIBARCH) 
87
88 ############################################################################
89 # Definitions for building a EXE.
90
91 RS_UDBG_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\udebug.exe
92 CL_UDBG_EXEFILE = $(DESTDIR)\bin\udebug.exe
93
94 UDBG_EXEOBJS =\
95         $(OUT)\udebug.obj \
96         $(OUT)\udebug.res
97
98 UDBG_EXELIBS =\
99         $(DESTDIR)\lib\afsubik.lib \
100         $(DESTDIR)\lib\afsrx.lib \
101         $(DESTDIR)\lib\afs\afsreg.lib \
102         $(DESTDIR)\lib\afslwp.lib \
103         $(DESTDIR)\lib\afs\afscom_err.lib \
104         $(DESTDIR)\lib\afs\afscmd.lib \
105         $(DESTDIR)\lib\afs\afsutil.lib
106
107
108 $(RS_UDBG_EXEFILE): $(UDBG_EXEOBJS) $(UDBG_EXELIBS)  
109         $(EXECONLINK) iphlpapi.lib shell32.lib
110         $(_VC_MANIFEST_EMBED_EXE)
111         $(EXEPREP)  
112         $(CODESIGN_USERLAND)
113
114 $(CL_UDBG_EXEFILE): $(RS_UDBG_EXEFILE)
115         $(COPY) $** $@
116
117 ############################################################################
118 # generate versioninfo resources
119
120 $(OUT)\udebug.res: AFS_component_version_number.h
121 #       $(RC) $*.rc
122
123 ############################################################################
124 # rxgen on ubik_int.xg
125
126 $(INCFILES):$$(@F)
127          $(COPY)  $** $(INCFILEDIR)\.
128
129 ubik_int.cs.c: ubik_int.xg ubik_int.h
130         $(RXGEN) -x -C -o $@ ubik_int.xg
131
132 ubik_int.ss.c: ubik_int.xg ubik_int.h
133         $(RXGEN) -x -S -o $@ ubik_int.xg
134
135 ubik_int.xdr.c: ubik_int.xg ubik_int.h
136         $(RXGEN) -x -c -o $@ ubik_int.xg
137
138 ubik_int.h: ubik_int.xg
139         $(RXGEN) -x -h -o $@ ubik_int.xg
140
141 ############################################################################
142 # compile_et on uerrors.et
143
144 uerrors.c ubik.h: uerrors.et ubik.p.h
145         $(DEL)  ubik.h uerrors.c
146         $(COMPILE_ET) uerrors -h ubik
147
148 ############################################################################
149 # Install target; primary makefile target
150
151 install9X: $(INCFILES) $(LIBFILE)
152
153 install: $(INCFILES) $(LIBFILE) $(MT_LIBFILE) $(CL_UDBG_EXEFILE)
154
155
156 clean::
157         $(DEL) ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c 
158         $(DEL) uerrors.c $(INCFILES)
159         $(DEL) ubik_int.h ubik.h
160
161 ############################################################################
162 # test ubik
163
164 test tests: utst_server utst_client $(EXEFILE) 
165
166 utst_server: $(OUT)\utst_server.obj $(OUT)\utst_int.ss.obj $(OUT)\utst_int.xdr.obj  $(EXELIBS)
167         $(EXECONLINK) 
168         $(_VC_MANIFEST_EMBED_EXE)
169         $(CODESIGN_USERLAND)
170         
171 utst_client: $(OUT)\utst_client.obj $(OUT)\utst_int.cs.obj $(OUT)\utst_int.xdr.obj $(EXELIBS)
172         $(EXECONLINK) 
173         $(_VC_MANIFEST_EMBED_EXE)
174         $(CODESIGN_USERLAND)
175         
176 # rxgen on utst_int.xg
177 utst_int.ss.c utst_int.cs.c utst_int.xdr.c utst_int.h: utst_int.xg
178         $(RXGEN)  utst_int.xg
179
180 $(OUT)\utst_server.obj $(OUT)\utst_client.obj : utst_int.h 
181
182 mkdir:
183