afs: clarify cold and warm shutdown logic
[openafs.git] / src / tptserver / 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 # Override default definitions in NTMakefile.$(SYS_NAME) before including.
9
10 RELDIR=tptserver
11 !INCLUDE ..\config\NTMakefile.$(SYS_NAME)
12 !include ..\config\NTMakefile.version
13 AFSDEV_AUXCDEFINES = -DAFS_USE_GETTIMEOFDAY -DSUPERGROUPS -DAFS_PTHREAD_ENV
14
15 SRC_DIR = ..\ptserver
16
17 LWP = ..\lwp
18
19 ############################################################################
20 # Definitions for installing header files
21
22 INCFILEDIR = $(DESTDIR)\include
23
24 INCFILES =\
25         $(INCFILEDIR)\afs\ptserver.h \
26         $(INCFILEDIR)\afs\ptint.h \
27         $(INCFILEDIR)\afs\pterror.h \
28         ptopcodes.h \
29         $(INCFILEDIR)\afs\ptclient.h \
30         $(INCFILEDIR)\afs\ptuser.h
31
32 ############################################################################
33 # build afsprot.lib
34
35 LIBFILE = $(DESTDIR)\lib\afs\mtafsprot.lib
36
37 LIBOBJS =\
38         $(OUT)\ptuser.obj \
39         $(OUT)\pterror.obj \
40         $(OUT)\ptint.cs.obj \
41         $(OUT)\AFS_component_version_number.obj
42
43 PTINT_XDR_OBJ = $(OUT)\ptint.xdr.obj
44
45 $(LIBOBJS) $(PTINT_XDR_OBJ): $(SRC_DIR)\$$(@B).c
46         $(C2OBJ) -I$(SRC_DIR) $**
47
48 $(LIBFILE):  $(LIBOBJS) $(PTINT_XDR_OBJ)
49         $(LIBARCH)
50
51 ############################################################################
52 # build LWP objects
53
54 LWP_OBJS = $(OUT)\lock.obj $(OUT)\fasttime.obj $(OUT)\threadname.obj
55
56 $(LWP_OBJS): $(LWP)\$$(@B).C
57         $(C2OBJ) -I$(LWP) $**
58
59 ############################################################################
60 # build ptserver.exe
61
62 PTSERVER = $(DESTDIR)\root.server\usr\afs\bin\ptserver.exe
63
64 PTUTILS_OBJ = $(OUT)\ptutils.obj
65
66 UTILS_OBJ = $(OUT)\utils.obj
67
68 $(PTUTILS_OBJ) $(UTILS_OBJ): $(SRC_DIR)\$$(@B).c
69         $(C2OBJ) -I$(SRC_DIR) $**
70
71 PTSERVER_EXEOBJS =\
72         $(OUT)\ptint.ss.obj \
73         $(OUT)\ptserver.obj \
74         $(OUT)\ptprocs.obj
75
76 MAP_OBJ = $(OUT)\map.obj
77
78 PTSERVER_EXERES = $(OUT)\ptserver.res
79
80 $(PTSERVER_EXEOBJS) $(MAP_OBJ): $(SRC_DIR)\$$(@B).c
81         $(C2OBJ) -I$(SRC_DIR) $**
82
83 PTSERVER_EXELIBS =\
84         $(DESTDIR)\lib\afs\mtafsubik.lib \
85         $(DESTDIR)\lib\afsauthent.lib \
86         $(DESTDIR)\lib\afsrpc.lib \
87 #       $(DESTDIR)\lib\afsrxkad.lib \
88         $(DESTDIR)\lib\afsrxstat.lib \
89 #       $(DESTDIR)\lib\afsdes.lib \
90         $(DESTDIR)\lib\afs\afscom_err.lib \
91         $(DESTDIR)\lib\afs\mtafsutil.lib \
92         $(DESTDIR)\lib\afs\afsaudit.lib \
93         $(DESTDIR)\lib\afs\afseventlog.lib \
94         $(DESTDIR)\lib\afs\afsreg.lib \
95         $(DESTDIR)\lib\libafsconf.lib \
96         $(DESTDIR)\lib\afs\afspioctl.lib \
97         $(DESTDIR)\lib\afs\afsprocmgmt.lib \
98         $(DESTDIR)\lib\afspthread.lib \
99         $(DESTDIR)\lib\afsrfc3961.lib
100
101 $(PTSERVER): $(PTSERVER_EXEOBJS) $(PTUTILS_OBJ) $(PTINT_XDR_OBJ) $(UTILS_OBJ) $(MAP_OBJ) $(LWP_OBJS) $(PTSERVER_EXERES) $(RXKADOBJS) $(PTSERVER_EXELIBS)
102         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
103         $(_VC_MANIFEST_EMBED_EXE)
104         $(EXEPREP)
105         $(CODESIGN_USERLAND)
106         $(SYMSTORE_IMPORT)
107
108 ############################################################################
109 # build pts.exe
110
111 PTS = $(DESTDIR)\bin\pts.exe
112 PTCLIENT = $(DESTDIR)\bin\ptclient.exe
113 PT_UTIL  = $(DESTDIR)\bin\pt_util.exe
114
115 PTS_EXEOBJS =\
116         $(OUT)\pts.obj
117
118 $(PTS_EXEOBJS): $(SRC_DIR)\$$(@B).c
119         $(C2OBJ) -I$(SRC_DIR) $**
120
121 PTS_EXERES = $(OUT)\pts.res
122
123 PTCLIENT_EXEOBJS =\
124         $(OUT)\ptclient.obj \
125         $(OUT)\display.obj
126
127 $(PTCLIENT_EXEOBJS): $(SRC_DIR)\$$(@B).c
128         $(C2OBJ) -I$(SRC_DIR) $**
129
130 PTCLIENT_EXERES = $(OUT)\ptclient.res
131
132 PT_UTIL_EXEOBJS = \
133         $(OUT)\pt_util.obj \
134         $(OUT)\ptubik.obj
135
136 $(PT_UTIL_EXEOBJS): $(SRC_DIR)\$$(@B).c
137         $(C2OBJ) -I$(SRC_DIR) $**
138
139 PT_UTIL_EXERES = $(OUT)\pt_util.res
140
141 PTS_EXELIBS =\
142         $(DESTDIR)\lib\afsauthent.lib \
143         $(DESTDIR)\lib\afsrxkad.lib \
144         $(DESTDIR)\lib\afsdes.lib \
145         $(DESTDIR)\lib\afsrpc.lib \
146         $(DESTDIR)\lib\afs\afsauth.lib \
147         $(DESTDIR)\lib\afs\afscom_err.lib \
148         $(DESTDIR)\lib\afs\mtafsutil.lib \
149         $(DESTDIR)\lib\afs\mtafsubik.lib \
150         $(DESTDIR)\lib\afs\afscmd.lib \
151         $(DESTDIR)\lib\afs\afsreg.lib \
152         $(DESTDIR)\lib\afs\afseventlog.lib \
153         $(DESTDIR)\lib\afs\afspioctl.lib \
154         $(DESTDIR)\lib\libafsconf.lib \
155         $(DESTDIR)\lib\afspthread.lib
156
157 $(PTS): $(PTS_EXEOBJS) $(PTINT_XDR_OBJ) $(OUT)\ptuser.obj $(OUT)\pterror.obj $(PTS_EXELIBS)
158         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
159         $(_VC_MANIFEST_EMBED_EXE)
160         $(EXEPREP)
161         $(CODESIGN_USERLAND)
162         $(SYMSTORE_IMPORT)
163
164 $(PTCLIENT): $(PTCLIENT_EXEOBJS) $(PTINT_XDR_OBJ) $(OUT)\ptuser.obj $(OUT)\pterror.obj $(PTS_EXELIBS)
165         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
166         $(_VC_MANIFEST_EMBED_EXE)
167         $(EXEPREP)
168         $(CODESIGN_USERLAND)
169         $(SYMSTORE_IMPORT)
170
171 $(PT_UTIL): $(PT_UTIL_EXEOBJS) $(PTUTILS_OBJ) $(UTILS_OBJ) $(MAP_OBJ) $(PTINT_XDR_OBJ) $(OUT)\ptuser.obj $(OUT)\pterror.obj $(PTS_EXELIBS)
172         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
173         $(_VC_MANIFEST_EMBED_EXE)
174         $(EXEPREP)
175         $(CODESIGN_USERLAND)
176         $(SYMSTORE_IMPORT)
177
178
179 ############################################################################
180 # generate versioninfo resources
181
182 $(OUT)\ptserver.res: AFS_component_version_number.h
183
184 $(OUT)\pts.res: AFS_component_version_number.h
185
186 $(OUT)\ptclient.res: AFS_component_version_number.h
187
188 $(OUT)\pt_util.res: AFS_component_version_number.h
189
190 ############################################################################
191 # install pts, ptserver and mtafsprot.lib
192
193 install: $(LIBFILE) $(PTSERVER) $(PTS) $(PTCLIENT) $(PT_UTIL) $(OUT)\readgroup.exe \
194         $(OUT)\readpwd.exe  $(OUT)\testpt.exe $(OUT)\db_verify.exe  \
195         $(DESTDIR)\root.server\usr\afs\bin\pts.exe \
196         $(DESTDIR)\root.server\usr\afs\bin\ptclient.exe \
197         $(DESTDIR)\root.server\usr\afs\bin\pt_util.exe \
198         $(INCFILEDIR)\afs\prserver.h $(INCFILEDIR)\afs\print.h \
199         $(INCFILEDIR)\afs\prerror.h $(INCFILEDIR)\afs\prclient.h
200
201 install_libutils: $(LIBFILE) $(PTS)
202
203 # install various exe's and header files
204 $(DESTDIR)\root.server\usr\afs\bin\pts.exe: $(PTS)
205         $(COPY) $(PTS) $(DESTDIR)\root.server\usr\afs\bin\pts.exe
206
207 $(DESTDIR)\root.server\usr\afs\bin\ptclient.exe: $(PTCLIENT)
208         $(COPY) $(PTCLIENT) $(DESTDIR)\root.server\usr\afs\bin\ptclient.exe
209
210 $(DESTDIR)\root.server\usr\afs\bin\pt_util.exe: $(PT_UTIL)
211         $(COPY) $(PT_UTIL) $(DESTDIR)\root.server\usr\afs\bin\pt_util.exe
212
213 $(INCFILEDIR)\afs\prserver.h: $(INCFILEDIR)\afs\ptserver.h
214         $(COPY) $(INCFILEDIR)\afs\ptserver.h $(INCFILEDIR)\afs\prserver.h
215
216 $(INCFILEDIR)\afs\print.h: $(INCFILEDIR)\afs\ptint.h
217         $(COPY) $(INCFILEDIR)\afs\ptint.h    $(INCFILEDIR)\afs\print.h
218
219 $(INCFILEDIR)\afs\prerror.h: $(INCFILEDIR)\afs\pterror.h
220         $(COPY) $(INCFILEDIR)\afs\pterror.h  $(INCFILEDIR)\afs\prerror.h
221
222 $(INCFILEDIR)\afs\prclient.h: $(INCFILEDIR)\afs\ptclient.h
223         $(COPY) $(INCFILEDIR)\afs\ptclient.h $(INCFILEDIR)\afs\prclient.h
224         $(ECHO) #define ERROR_TABLE_BASE_pr ERROR_TABLE_BASE_PT >> $(INCFILEDIR)\afs\prclient.h
225
226 ############################################################################
227 # clean up
228
229 clean::
230         $(DEL) $(OUT)\readgroup.exe $(OUT)\readpwd.exe $(OUT)\db_verify.exe $(OUT)\testpt.exe
231         $(DEL) $(PTS) $(PTCLIENT) $(PT_UTIL)
232
233 ############################################################################
234 # tests?
235 TEST_LIBS = $(PTS_EXELIBS)
236
237 TEST_OBJS = \
238         $(OUT)\readgroup.obj \
239         $(OUT)\readpwd.obj \
240         $(OUT)\testpt.obj \
241         $(OUT)\db_verify.obj
242
243 $(TEST_OBJS): $(SRC_DIR)\$$(@B).c
244         $(C2OBJ) -I$(SRC_DIR) $**
245
246 $(OUT)\readgroup.exe: $(OUT)\readgroup.obj $(LIBFILE) $(TEST_LIBS)
247         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
248         $(_VC_MANIFEST_EMBED_EXE)
249         $(CODESIGN_USERLAND)
250         $(SYMSTORE_IMPORT)
251
252 $(OUT)\readpwd.exe: $(OUT)\readpwd.obj $(LIBFILE) $(TEST_LIBS)
253         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
254         $(_VC_MANIFEST_EMBED_EXE)
255         $(CODESIGN_USERLAND)
256         $(SYMSTORE_IMPORT)
257
258 $(OUT)\testpt.exe: $(OUT)\testpt.obj $(LIBFILE) $(TEST_LIBS)
259         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
260         $(_VC_MANIFEST_EMBED_EXE)
261         $(CODESIGN_USERLAND)
262         $(SYMSTORE_IMPORT)
263
264 $(OUT)\db_verify.exe: $(OUT)\db_verify.obj $(OUT)\pterror.obj $(OUT)\display.obj $(LIBFILE) $(TEST_LIBS)
265         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
266         $(_VC_MANIFEST_EMBED_EXE)
267         $(CODESIGN_USERLAND)
268         $(SYMSTORE_IMPORT)
269
270 mkdir: