8622554b31c1cd0a4167eca1aa0bb7910cdd9f70
[openafs.git] / src / volser / 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 AFSDEV_AUXCDEFINES = -DFSSYNC_BUILD_CLIENT
9
10 RELDIR=volser
11 !INCLUDE ..\config\NTMakefile.$(SYS_NAME)
12 !INCLUDE ..\config\NTMakefile.version
13
14 ############################################################################
15 # Definitions for installing header files
16
17 INCFILEDIR = $(DESTDIR)\include\afs  # header file install directory
18
19 INCFILES = \
20         $(INCFILEDIR)\volser_prototypes.h \
21         $(INCFILEDIR)\volser_internal.h \
22         $(INCFILEDIR)\vsutils_prototypes.h \
23         $(INCFILEDIR)\lockprocs_prototypes.h \
24         $(INCFILEDIR)\volser.h \
25         $(INCFILEDIR)\volint.h
26
27
28 LOCAL_INCFILES = \
29         volser.h \
30         volint.h
31
32
33 ############################################################################
34 # Build volser library.
35
36 LIBFILE = $(DESTDIR)\lib\afs\afsvolser.lib
37
38 LIBOBJS =\
39         $(OUT)\lockprocs.obj \
40         $(OUT)\volerr.obj \
41         $(OUT)\volint.cs.obj \
42         $(OUT)\volint.ss.obj \
43         $(OUT)\volint.xdr.obj \
44         $(OUT)\vsprocs.obj \
45         $(OUT)\vsutils.obj \
46         $(OUT)\AFS_component_version_number.obj 
47
48 $(LIBFILE): $(LIBOBJS)
49         $(LIBARCH)
50
51
52 ############################################################################
53 # External libraries
54
55 EXEC_LIBS = \
56         $(DESTDIR)\lib\afs\afscmd.lib \
57         $(DESTDIR)\lib\afs\afsvol.lib \
58         $(DESTDIR)\lib\afs\afsutil.lib \
59         $(DESTDIR)\lib\afs\afsdir.lib \
60         $(DESTDIR)\lib\afs\afsvol.lib \
61         $(DESTDIR)\lib\afs\afsaudit.lib \
62         $(DESTDIR)\lib\afs\afsauth.lib \
63         $(DESTDIR)\lib\afs\afsvldb.lib \
64         $(DESTDIR)\lib\afs\afskauth.lib \
65         $(DESTDIR)\lib/afs/afscom_err.lib \
66         $(DESTDIR)\lib\afs\afsusd.lib \
67         $(DESTDIR)\lib\afsrxkad.lib \
68         $(DESTDIR)\lib\afsrxstat.lib \
69         $(DESTDIR)\lib\afsrx.lib \
70         $(DESTDIR)\lib\afslwp.lib \
71         $(DESTDIR)\lib\afs\afsacl.lib \
72         $(DESTDIR)\lib\afs\afsreg.lib \
73         $(DESTDIR)\lib\afs\afseventlog.lib \
74         $(DESTDIR)\lib\libafsconf.lib \
75         $(DESTDIR)\lib\afs\afspioctl.lib \
76         $(DESTDIR)\lib\opr.lib \
77         $(DESTDIR)\lib\afshcrypto.lib \
78         $(DESTDIR)\lib\afsroken.lib
79
80
81 ############################################################################
82 # Build volserver
83
84 VOLSERVER_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\volserver.exe
85
86 VOLSERVER_EXEOBJS = \
87         $(OUT)\common.obj \
88         $(OUT)\dumpstuff.obj \
89         $(OUT)\physio.obj \
90         $(OUT)\volerr.obj \
91         $(OUT)\volint.cs.obj \
92         $(OUT)\volint.ss.obj \
93         $(OUT)\volint.xdr.obj \
94         $(OUT)\volmain.obj \
95         $(OUT)\volprocs.obj \
96         $(OUT)\voltrans.obj \
97         $(OUT)\vol_split.obj \
98         $(OUT)\volserver.res
99
100 VOLSERVER_EXELIBS = \
101         $(DESTDIR)\lib\afs\afsdir.lib \
102         $(DESTDIR)\lib\afs\afsprocmgmt.lib
103
104 $(VOLSERVER_EXEFILE): $(VOLSERVER_EXEOBJS) $(VOLSERVER_EXELIBS) $(EXEC_LIBS) $(HEIMDEPS)
105         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib $(HEIMLINKOPTS)
106         $(_VC_MANIFEST_EMBED_EXE)
107         $(EXEPREP) 
108         $(CODESIGN_USERLAND)
109         $(SYMSTORE_IMPORT)
110
111 ############################################################################
112 # Build vos
113
114 RS_VOS_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\vos.exe
115 CL_VOS_EXEFILE = $(DESTDIR)\etc\vos.exe
116
117 VOS_EXEOBJS = \
118         $(OUT)\vos.obj \
119         $(OUT)\vsprocs.obj \
120         $(OUT)\vsutils.obj \
121         $(OUT)\lockprocs.obj \
122         $(OUT)\volint.xdr.obj \
123         $(OUT)\volerr.obj \
124         $(OUT)\vos.res
125
126 VOS_EXELIBS = \
127         $(DESTDIR)\lib\afsubik.lib \
128         $(DESTDIR)\lib\afs\afsvolser.lib \
129         $(DESTDIR)\lib\afs\afsprocmgmt.lib \
130         $(DESTDIR)\lib\afs\afspioctl.lib
131
132 $(RS_VOS_EXEFILE): $(VOS_EXEOBJS) $(VOS_EXELIBS) $(EXEC_LIBS) $(HEIMDEPS)
133         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib $(HEIMLINKOPTS)
134         $(_VC_MANIFEST_EMBED_EXE)
135         $(EXEPREP) 
136         $(CODESIGN_USERLAND)
137         $(SYMSTORE_IMPORT)
138
139 $(CL_VOS_EXEFILE): $(RS_VOS_EXEFILE)
140         $(COPY)  $** $@
141
142 ############################################################################
143 # Generate versioninfo resources
144 $(OUT)\volserver.res: AFS_component_version_number.h
145
146 $(OUT)\vos.res: AFS_component_version_number.h
147
148 ############################################################################
149 # Definitions for generating files via RXGEN
150
151 $(INCFILES):$$(@F)
152          $(COPY)  $** $(INCFILEDIR)\.
153
154 volint.cs.c: volint.xg volint.h
155         $(RXGEN) -x -C -o $@ volint.xg
156
157 volint.ss.c: volint.xg volint.h
158         $(RXGEN) -x -S -o $@ volint.xg
159
160 volint.xdr.c: volint.xg volint.h
161         $(RXGEN) -x -c -o $@ volint.xg
162
163 volint.h: volint.xg
164         $(RXGEN) -x -h -o $@ volint.xg
165
166 ############################################################################
167 # Definitions for generating files via COMPILE_ET
168
169 volser.h volerr.c: volerr.et volser.p.h
170         $(DEL) volerr.c volser.h
171         $(COMPILE_ET) volerr -h volser
172
173
174
175
176 ############################################################################
177 # Install target; primary makefile target
178
179 install: $(LOCAL_INCFILES) $(LIBFILE) $(VOLSERVER_EXEFILE) $(CL_VOS_EXEFILE) \
180                 $(INCFILES)
181
182
183 ############################################################################
184 # Local clean target; augments predefined clean target
185
186 clean::
187         $(DEL) volerr.c volser.h $(INCFILES)
188         $(DEL) volint.cs.c volint.h volint.ss.c volint.xdr.c volser.h
189
190 mkdir:
191