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