Windows: Permit build system to update symbol store
[openafs.git] / src / kauth / 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=kauth
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
18
19 INCFILES =\
20         $(INCFILEDIR)\kautils.h \
21         $(INCFILEDIR)\kauth.h \
22         $(INCFILEDIR)\kaport.h
23
24
25 ############################################################################
26 # build afskauth.lib
27
28 KAUTH_LIBFILE = $(DESTDIR)\lib\afs\afskauth.lib
29
30 KAUTH_LIBOBJS =\
31         $(OUT)\kauth.xdr.obj \
32         $(OUT)\kauth.cs.obj \
33         $(OUT)\kaaux.obj \
34         $(OUT)\client.obj \
35         $(OUT)\authclient.obj \
36         $(OUT)\token.obj \
37         $(OUT)\kautils.obj \
38         $(OUT)\kalocalcell.obj \
39         $(OUT)\kaerrors.obj \
40         $(OUT)\user_nt.obj \
41         $(OUT)\krb_tf.obj \
42         $(OUT)\AFS_component_version_number.obj
43
44 $(KAUTH_LIBFILE): $(KAUTH_LIBOBJS) 
45         $(LIBARCH)  
46
47 ############################################################################
48 # build afskauth.krb.lib
49
50 KAUTH_KRB_LIBFILE = $(DESTDIR)\lib\afs\afskauth.krb.lib
51
52 KAUTH_KRB_LIBOBJS =\
53         $(OUT)\kauth.xdr.obj \
54         $(OUT)\kauth.cs.obj \
55         $(OUT)\kaaux.obj \
56         $(OUT)\client.obj \
57         $(OUT)\authclient.obj \
58         $(OUT)\token.obj \
59         $(OUT)\kautils.obj \
60         $(OUT)\kalocalcell.obj \
61         $(OUT)\kaerrors.obj \
62         $(OUT)\user.krb.obj \
63         $(OUT)\krb_tf.obj \
64         $(OUT)\AFS_component_version_number.obj
65
66 $(KAUTH_KRB_LIBFILE): $(KAUTH_KRB_LIBOBJS) 
67         $(LIBARCH)  
68
69 #make user.krb.obj
70
71 user_nt.c : $(INCFILES) $(DESTDIR)/include/afs/vice.h
72
73 $(OUT)\user.krb.obj: user_nt.c
74         $(C2OBJ) $**  -DAFS_KERBEROS_ENV
75
76
77 # common libs
78 AFSLIBDIR = $(DESTDIR)\lib\afs
79 AFSLIBS =  \
80         $(AFSLIBDIR)\afsprot.lib \
81         $(AFSLIBDIR)\afsauth.lib \
82         $(AFSLIBDIR)\afscmd.lib \
83         $(AFSLIBDIR)\afscom_err.lib \
84         $(AFSLIBDIR)\afsutil.lib \
85         $(AFSLIBDIR)\afsaudit.lib \
86         $(DESTDIR)\lib\afs\afsreg.lib \
87         $(DESTDIR)\lib\afslwp.lib \
88         $(DESTDIR)\lib\afsdes.lib \
89         $(DESTDIR)\lib\afsrxstat.lib \
90         $(DESTDIR)\lib\afsrx.lib \
91         $(DESTDIR)\lib\afsubik.lib \
92         $(DESTDIR)\lib\afs\afseventlog.lib \
93         $(DESTDIR)\lib\afsrxkad.lib \
94         $(DESTDIR)\lib\libafsconf.lib
95         
96 TOKENLIB = $(DESTDIR)\lib\afs\afspioctl.lib
97
98 ############################################################################
99 # build kaserver
100
101 KASERVER = $(DESTDIR)\root.server\usr\afs\bin\kaserver.exe
102
103 KASERVER_OBJS =\
104         $(OUT)\kaserver.obj \
105         $(OUT)\kautils.obj \
106         $(OUT)\kalocalcell.obj \
107         $(OUT)\kadatabase.obj \
108         $(OUT)\krb_udp.obj \
109         $(OUT)\kaprocs.obj \
110         $(OUT)\kalog.obj \
111         $(OUT)\kauth.ss.obj \
112         $(OUT)\kauth.xdr.obj \
113         $(OUT)\kaaux.obj \
114         $(OUT)\kaauxdb.obj \
115         $(OUT)\kaserver.res
116
117 KASERVER_EXELIBS =\
118         $(DESTDIR)\lib\afs\afsprocmgmt.lib
119
120 $(KASERVER): $(KASERVER_OBJS) $(AFSLIBS) $(KASERVER_EXELIBS)
121         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
122         $(_VC_MANIFEST_EMBED_EXE)
123         $(EXEPREP) 
124         $(CODESIGN_USERLAND)
125         $(SYMSTORE_IMPORT)
126
127 #build $(OUT)\kadatabase.obj
128
129 $(OUT)\kadatabase.obj: kadatabase.c 
130         $(C2OBJ) $**  /DSPECIAL=1
131
132 #build $(OUT)\kaprocs.obj
133 $(OUT)\kaprocs.obj: kaprocs.c
134         $(C2OBJ) $**  /DSPECIAL=1
135
136 ############################################################################
137 # build kas
138
139 KAS = $(DESTDIR)\root.server\usr\afs\bin\kas.exe
140
141 KAS_OBJS =\
142         $(OUT)\kas.obj \
143         $(OUT)\admin_tools.obj \
144         $(OUT)\kkids.obj \
145         $(OUT)\kas.res
146         
147 $(KAS): $(KAS_OBJS) $(AFSLIBS) $(KAUTH_LIBFILE) $(TOKENLIB)
148         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
149         $(_VC_MANIFEST_EMBED_EXE)
150         $(EXEPREP) 
151         $(CODESIGN_USERLAND)
152         $(SYMSTORE_IMPORT)
153
154 ########### Misc Exes #######################################################
155 #kpasswd.exe
156 KPASSWD_EXEFILE = $(DESTDIR)\bin\kpasswd.exe
157
158 KPASSWD_OBJS =\
159         $(OUT)\kpasswd.obj \
160         $(OUT)\kkids.obj \
161         $(OUT)\kpasswd.res
162
163 $(KPASSWD_EXEFILE): $(KPASSWD_OBJS) $(AFSLIBS) $(KAUTH_LIBFILE) $(TOKENLIB)
164         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
165         $(_VC_MANIFEST_EMBED_EXE)
166         $(EXEPREP)
167         $(CODESIGN_USERLAND)
168         $(SYMSTORE_IMPORT)
169
170 #kpwvalid.exe
171 $(OUT)\kpwvalid.exe: $(OUT)\kpwvalid.obj $(AFSLIBS) $(KAUTH_LIBFILE)
172         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
173         $(_VC_MANIFEST_EMBED_EXE)
174         $(CODESIGN_USERLAND)
175         $(SYMSTORE_IMPORT)
176
177 #kdb.exe - Not implemented for NT - because dbm not available on NT
178 #kdb.exe: $(OUT)\kdb.obj $(AFSLIBS) $(KAUTH_LIBFILE) 
179 #       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
180 #       $(_VC_MANIFEST_EMBED_EXE)
181 #        $(CODESIGN_USERLAND)
182 #        $(SYMSTORE_IMPORT)
183
184 #rebuild.exe 
185 $(OUT)\rebuild.exe: $(OUT)\rebuild.obj $(OUT)\kautils.obj $(AFSLIBS) 
186         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
187         $(_VC_MANIFEST_EMBED_EXE)
188         $(CODESIGN_USERLAND)
189         $(SYMSTORE_IMPORT)
190
191 ############################################################################
192 # Definitions for generating versioninfo resources
193
194 $(OUT)\kaserver.res: AFS_component_version_number.h
195
196 $(OUT)\kas.res: AFS_component_version_number.h
197
198 $(OUT)\kpasswd.res: AFS_component_version_number.h
199
200 $(INCFILES):$$(@F)
201          $(COPY)  $** $(INCFILEDIR)\.
202
203 ############################################################################
204 # rxgen on kauth.rg
205
206 kauth.cs.c: kauth.rg kauth.h
207         $(RXGEN) -u -x -C -o $@ kauth.rg
208
209 kauth.ss.c: kauth.rg kauth.h
210         $(RXGEN) -x -S -o $@ kauth.rg
211
212 kauth.xdr.c: kauth.rg kauth.h
213         $(RXGEN) -x -c -o $@ kauth.rg
214
215 kauth.h: kauth.rg
216         $(RXGEN) -u -x -h -o $@ kauth.rg
217
218 ############################################################################
219 # compile_et on kaerrors.c 
220
221 kaerrors.c kautils.h: kaerrors.et kautils.p.h
222         $(DEL) kautils.h kaerrors.c
223         $(COMPILE_ET) kaerrors -h kautils
224
225 ############################################################################
226 # install 
227
228 install: $(INCFILES) $(KAUTH_LIBFILE) $(KAUTH_KRB_LIBFILE) $(KASERVER) $(KAS) \
229         $(KPASSWD_EXEFILE) \
230         $(OUT)\kpwvalid.exe $(OUT)\rebuild.exe  \
231         $(DESTDIR)\etc\kas.exe
232
233 install9X: $(INCFILES) $(KAUTH_LIBFILE) $(KAUTH_KRB_LIBFILE) \
234         $(KPASSWD_EXEFILE) 
235
236 # installation targets that depend on local targets
237 $(DESTDIR)\etc\kas.exe:  $(DESTDIR)\root.server\usr\afs\bin\kas.exe
238         $(COPY) $(DESTDIR)\root.server\usr\afs\bin\kas.exe \
239                                         $(DESTDIR)\etc\kas.exe
240
241
242 ############################################################################
243 # Local clean target; augments predefined clean target
244
245 clean::
246         $(DEL) $(KPASSWD_EXEFILE) $(INCFILES)
247         $(DEL) kauth.cs.c kauth.h kauth.ss.c kauth.xdr.c kautils.h
248         $(DEL) kaerrors.c
249
250 mkdir:
251