b93d5501775976457a9bbc2a7c0ab2b56fdec99f
[openafs.git] / src / libuafs / Makefile.common.in
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 # Common elements for Makefiles for all system types.
9 #
10
11 # Each MakefileProto includes Makefile.config, so we should only need
12 # minor tweaks here.
13 MODULE_CFLAGS=${UAFS_CFLAGS} -DKERNEL -I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBG} $(XCFLAGS)
14
15 LT_objs = \
16         afs_atomlist.lo \
17         afs_lhash.lo \
18         afs_analyze.lo \
19         afs_error.lo \
20         afs_axscache.lo  \
21         afs_buffer.lo   \
22         afs_bypasscache.lo \
23         afs_callback.lo \
24         afs_cbqueue.lo    \
25         afs_cell.lo \
26         afs_chunk.lo            \
27         afs_conn.lo \
28         afs_daemons.lo  \
29         afs_dcache.lo \
30         afs_dir.lo              \
31         afs_disconnected.lo     \
32         afs_dynroot.lo \
33         afs_icl.lo \
34         afs_init.lo \
35         afs_lock.lo     \
36         afs_mariner.lo \
37         afs_memcache.lo \
38         afs_fetchstore.lo       \
39         afs_osidnlc.lo  \
40         afs_osi_pag.lo \
41         afs_segments.lo \
42         afs_server.lo \
43         afs_stat.lo \
44         afs_syscall.lo \
45         afs_tokens.lo \
46         afs_user.lo \
47         afs_util.lo \
48         afs_vcache.lo \
49         afs_warn.lo \
50         afs_osi_uio.lo \
51         afs_vnop_access.lo \
52         afs_vnop_attrs.lo \
53         afs_vnop_create.lo \
54         afs_vnop_dirops.lo \
55         afs_vnop_fid.lo \
56         afs_vnop_flock.lo \
57         afs_vnop_link.lo \
58         afs_vnop_lookup.lo \
59         afs_vnop_open.lo \
60         afs_vnop_read.lo \
61         afs_vnop_readdir.lo \
62         afs_vnop_remove.lo \
63         afs_vnop_rename.lo \
64         afs_vnop_strategy.lo \
65         afs_vnop_symlink.lo \
66         afs_vnop_write.lo \
67         afs_volume.lo \
68         afs_call.lo \
69         afs_pioctl.lo \
70         osi_vfsops.lo \
71         afs_usrops.lo \
72         afsd.lo \
73         afsd_uafs.lo \
74         xdr.lo \
75         xdr_afsuuid.lo \
76         xdr_update.lo \
77         xdr_refernce.lo \
78         afs_uuid.lo \
79         assert.lo \
80         osi_vnodeops.lo \
81         osi_vm.lo \
82         osi_groups.lo \
83         osi_gcpags.lo \
84         osi_vcache.lo \
85         Kvice.xdr.lo \
86         xdr_array.lo \
87         xdr_arrayn.lo \
88         Kvice.cs.lo \
89         fcrypt.lo \
90         rx.lo \
91         rx_rdwr.lo \
92         rx_clock.lo \
93         rx_event.lo \
94         rx_globals.lo \
95         rx_identity.lo \
96         rx_kmutex.lo \
97         rx_knet.lo \
98         rx_kcommon.lo \
99         rx_misc.lo \
100         rx_multi.lo \
101         rx_null.lo \
102         rx_opaque.lo \
103         rx_getaddr.lo \
104         rx_stats.lo \
105         rx_packet.lo \
106         rx_conncache.lo \
107         rx_call.lo \
108         rx_conn.lo \
109         rx_peer.lo \
110         xdr_rx.lo \
111         Kvldbint.cs.lo \
112         Kvldbint.xdr.lo \
113         Kcallback.ss.lo \
114         crypt_conn.lo \
115         AFS_component_version_number.lo \
116         afs_exporter.lo \
117         rxkad_client.lo \
118         rxkad_common.lo \
119         casestrcpy.lo \
120         dirpath.lo \
121         fileutil.lo \
122         netrestrict.lo \
123         cellconfig.lo \
124         keys.lo \
125         realms.lo \
126         ktc.lo \
127         Krxstat.ss.lo \
128         Krxstat.xdr.lo \
129         rxstat.lo \
130         xdr_int32.lo \
131         xdr_int64.lo \
132         token.xdr.lo \
133         token.lo \
134         xdr_mem.lo \
135         xdr_len.lo
136
137 INCLUDE=  -I. -I${ISYSROOT}/usr/include -I${TOP_OBJDIR}/src/config
138 PERLUAFS = PERLUAFS
139 AFS     =../afs
140 RX      =../rx
141 AFSINT=../afsint
142 LIB     =../lib
143 SWIG_PERL_CFLAGS = -fPIC `perl -MExtUtils::Embed -e ccopts`
144 SWIG_PERL_LDFLAGS = -fPIC `perl -MExtUtils::Embed -e ldopts`
145 SWIG = @SWIG@
146 LIBUAFS_BUILD_PERL = @LIBUAFS_BUILD_PERL@
147
148 TOP_OBJ_AUTH = ${TOP_OBJDIR}/src/auth
149 TOP_OBJ_FSINT = ${TOP_OBJDIR}/src/fsint
150 TOP_OBJ_RXSTAT = ${TOP_OBJDIR}/src/rxstat
151 TOP_OBJ_VLSERVER = ${TOP_OBJDIR}/src/vlserver
152
153 TOP_SRC_AFS = ${TOP_SRCDIR}/afs
154 TOP_SRC_AUTH = ${TOP_SRCDIR}/auth
155 TOP_SRC_RXSTAT = ${TOP_SRCDIR}/rxstat
156 TOP_SRC_FSINT = ${TOP_SRCDIR}/fsint
157 TOP_SRC_RX = ${TOP_SRCDIR}/rx
158 TOP_SRC_VNOPS = ${TOP_SRCDIR}/afs/VNOPS
159 TOP_SRC_RXKAD = ${TOP_SRCDIR}/rxkad
160
161 MODULE_INCLUDE = -I. -I.. -I../nfs \
162         -I${TOP_SRCDIR} \
163         -I${TOP_SRCDIR}/afs \
164         -I${TOP_SRCDIR}/afs/UKERNEL \
165         -I${TOP_SRCDIR}/config \
166         -I${TOP_SRCDIR}/rx \
167         -I${TOP_SRCDIR}/rx/UKERNEL \
168         -I${TOP_SRCDIR}/rxkad \
169         -I${TOP_SRCDIR}/util \
170         -I${TOP_OBJDIR}/src \
171         -I${TOP_OBJDIR}/src/afs \
172         -I${TOP_OBJDIR}/src/afs/UKERNEL \
173         -I${TOP_OBJDIR}/src/rxkad \
174         -I${TOP_OBJDIR}/src/config \
175         -I${TOP_OBJDIR}/src/fsint \
176         -I${TOP_OBJDIR}/src/vlserver \
177         -I${TOP_OBJDIR}/src/libuafs \
178         -I${TOP_OBJDIR}/src/auth \
179         -I${TOP_INCDIR}/afs \
180         -I${TOP_INCDIR} \
181         @INCLUDE_libintl@
182
183 # Build rules - CC and CFLAGS are defined in system specific MakefileProtos.
184
185 all: ${TOP_LIBDIR}/libuafs.a \
186         ${TOP_LIBDIR}/libuafs_pic.a linktest @LIBUAFS_BUILD_PERL@
187
188 ${TOP_LIBDIR}/libuafs.a: libuafs.a
189         ${INSTALL_DATA} libuafs.a $@
190
191 ${TOP_LIBDIR}/libuafs_pic.a: libuafs_pic.la
192         ${INSTALL_DATA} .libs/libuafs_pic.a $@
193
194 $(LT_objs): h
195
196 libuafs.la: $(LT_objs)
197         $(LT_LDLIB_shlib) $(LT_objs)
198
199 libuafs.a: $(LT_objs)
200         $(LT_LDLIB_static) $(LT_objs)
201
202 libuafs_pic.la: libuafs.a $(LT_objs)
203         $(LT_LDLIB_pic) $(LT_objs)
204
205 setup_perllib:
206         ${INSTALL} -d ${TOP_LIBDIR}/perl
207         ${INSTALL} -d ${TOP_LIBDIR}/perl/AFS
208
209 ${TOP_LIBDIR}/perl/ukernel.so: setup_perllib PERLUAFS/ukernel.so
210         ${INSTALL_DATA} PERLUAFS/ukernel.so $@
211
212 ${TOP_LIBDIR}/perl/AFS/ukernel.pm: setup_perllib PERLUAFS/ukernel.pm
213         ${INSTALL_DATA} PERLUAFS/ukernel.pm $@
214
215 LIBUAFS_BUILD_PERL: ${TOP_LIBDIR}/perl/ukernel.so ${TOP_LIBDIR}/perl/AFS/ukernel.pm
216
217 linktest: libuafs.a
218         $(CC) $(CFLAGS) $(TEST_CFLAGS) $(TEST_LDFLAGS) \
219                 $(LDFLAGS_roken) $(LDFLAGS_hcrypto) -o linktest \
220                 ${srcdir}/linktest.c $(MODULE_INCLUDE) -DUKERNEL \
221                 libuafs.a ${TOP_LIBDIR}/libcmd.a \
222                 ${TOP_LIBDIR}/libafsutil.a $(TOP_LIBDIR)/libopr.a \
223                 $(LIB_hcrypto) $(LIB_roken) $(LIB_crypt) $(TEST_LIBS) $(XLIBS)
224
225 # Compilation rules
226
227 # These files are for the user space library
228 afs_atomlist.lo: $(TOP_SRCDIR)/util/afs_atomlist.c
229         $(LT_CCRULE) $(TOP_SRCDIR)/util/afs_atomlist.c
230 afs_lhash.lo: $(TOP_SRCDIR)/util/afs_lhash.c
231         $(LT_CCRULE) $(TOP_SRCDIR)/util/afs_lhash.c
232 afs_analyze.lo: $(TOP_SRC_AFS)/afs_analyze.c
233         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_analyze.c
234 afs_axscache.lo: $(TOP_SRC_AFS)/afs_axscache.c
235         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_axscache.c
236 afs_buffer.lo: $(TOP_SRC_AFS)/afs_buffer.c
237         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_buffer.c
238 afs_bypasscache.lo: $(TOP_SRC_AFS)/afs_bypasscache.c
239         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_bypasscache.c
240 afs_cell.lo: $(TOP_SRC_AFS)/afs_cell.c
241         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_cell.c
242 afs_conn.lo: $(TOP_SRC_AFS)/afs_conn.c
243         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_conn.c
244 afs_dcache.lo: $(TOP_SRC_AFS)/afs_dcache.c
245         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_dcache.c
246 afs_dynroot.lo: $(TOP_SRC_AFS)/afs_dynroot.c
247         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_dynroot.c
248 afs_disconnected.lo: $(TOP_SRC_AFS)/afs_disconnected.c
249         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_disconnected.c
250 afs_error.lo: $(TOP_SRC_AFS)/afs_error.c
251         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_error.c
252 afs_init.lo: $(TOP_SRC_AFS)/afs_init.c
253         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_init.c
254 afs_mariner.lo: $(TOP_SRC_AFS)/afs_mariner.c
255         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_mariner.c
256 afs_osidnlc.lo: $(TOP_SRC_AFS)/afs_osidnlc.c
257         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_osidnlc.c
258 afs_osi.lo: $(TOP_SRC_AFS)/afs_osi.c
259         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_osi.c
260 afs_osi_pag.lo: $(TOP_SRC_AFS)/afs_osi_pag.c
261         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_osi_pag.c
262 afs_segments.lo: $(TOP_SRC_AFS)/afs_segments.c
263         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_segments.c
264 afs_server.lo: $(TOP_SRC_AFS)/afs_server.c
265         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_server.c
266 afs_tokens.lo: $(TOP_SRC_AFS)/afs_tokens.c
267         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_tokens.c
268 afs_user.lo: $(TOP_SRC_AFS)/afs_user.c
269         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_user.c
270 afs_util.lo: $(TOP_SRC_AFS)/afs_util.c
271         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_util.c
272 afs_vcache.lo: $(TOP_SRC_AFS)/afs_vcache.c
273         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_vcache.c
274 afs_warn.lo: $(TOP_SRC_AFS)/afs_warn.c
275         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_warn.c
276 afs_osi_uio.lo: $(TOP_SRC_AFS)/afs_osi_uio.c
277         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_osi_uio.c
278 afs_vnop_access.lo: $(TOP_SRC_VNOPS)/afs_vnop_access.c
279         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_access.c
280 afs_vnop_attrs.lo: $(TOP_SRC_VNOPS)/afs_vnop_attrs.c
281         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_attrs.c
282 afs_vnop_create.lo: $(TOP_SRC_VNOPS)/afs_vnop_create.c
283         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_create.c
284 afs_vnop_dirops.lo: $(TOP_SRC_VNOPS)/afs_vnop_dirops.c
285         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_dirops.c
286 afs_vnop_fid.lo: $(TOP_SRC_VNOPS)/afs_vnop_fid.c
287         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_fid.c
288 afs_vnop_flock.lo: $(TOP_SRC_VNOPS)/afs_vnop_flock.c
289         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_flock.c
290 afs_vnop_link.lo: $(TOP_SRC_VNOPS)/afs_vnop_link.c
291         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_link.c
292 afs_vnop_lookup.lo: $(TOP_SRC_VNOPS)/afs_vnop_lookup.c
293         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_lookup.c
294 afs_vnop_open.lo: $(TOP_SRC_VNOPS)/afs_vnop_open.c
295         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_open.c
296 afs_vnop_read.lo: $(TOP_SRC_VNOPS)/afs_vnop_read.c
297         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_read.c
298 afs_vnop_readdir.lo: $(TOP_SRC_VNOPS)/afs_vnop_readdir.c
299         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_readdir.c
300 afs_vnop_remove.lo: $(TOP_SRC_VNOPS)/afs_vnop_remove.c
301         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_remove.c
302 afs_vnop_rename.lo: $(TOP_SRC_VNOPS)/afs_vnop_rename.c
303         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_rename.c
304 afs_vnop_strategy.lo: $(TOP_SRC_VNOPS)/afs_vnop_strategy.c
305         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_strategy.c
306 afs_vnop_symlink.lo: $(TOP_SRC_VNOPS)/afs_vnop_symlink.c
307         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_symlink.c
308 afs_vnop_write.lo: $(TOP_SRC_VNOPS)/afs_vnop_write.c
309         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_write.c
310 afs_volume.lo: $(TOP_SRC_AFS)/afs_volume.c
311         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_volume.c
312 rx_rdwr.lo: $(TOP_SRC_RX)/rx_rdwr.c
313         $(LT_CCRULE) $(TOP_SRC_RX)/rx_rdwr.c
314 afs_cbqueue.lo: $(TOP_SRC_AFS)/afs_cbqueue.c
315         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_cbqueue.c
316 afs_callback.lo: $(TOP_SRC_AFS)/afs_callback.c
317         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_callback.c
318 afs_chunk.lo: $(TOP_SRC_AFS)/afs_chunk.c
319         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_chunk.c
320 afs_daemons.lo: $(TOP_SRC_AFS)/afs_daemons.c
321         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_daemons.c
322 afs_dir.lo:     $(TOP_SRCDIR)/dir/dir.c
323         $(LT_CCRULE) $(TOP_SRCDIR)/dir/dir.c
324 AFS_component_version_number.lo: AFS_component_version_number.c
325         $(LT_CCRULE) AFS_component_version_number.c
326 afs_lock.lo: $(TOP_SRC_AFS)/afs_lock.c
327         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_lock.c
328 afs_memcache.lo: $(TOP_SRC_AFS)/afs_memcache.c
329         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_memcache.c
330 afs_fetchstore.lo: $(TOP_SRC_AFS)/afs_fetchstore.c
331         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_fetchstore.c
332 afs_stat.lo: $(TOP_SRC_AFS)/afs_stat.c
333         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_stat.c
334 fcrypt.lo:      $(TOP_SRC_RXKAD)/fcrypt.c
335         $(LT_CCRULE) $(TOP_SRC_RXKAD)/fcrypt.c
336 crypt_conn.lo: $(TOP_SRC_RXKAD)/crypt_conn.c
337         $(LT_CCRULE) $(TOP_SRC_RXKAD)/crypt_conn.c
338 rxkad_client.lo: $(TOP_SRC_RXKAD)/rxkad_client.c
339         $(LT_CCRULE) $(TOP_SRC_RXKAD)/rxkad_client.c
340 rxkad_common.lo: $(TOP_SRC_RXKAD)/rxkad_common.c
341         $(LT_CCRULE) $(TOP_SRC_RXKAD)/rxkad_common.c
342 afs_exporter.lo: $(TOP_SRCDIR)/afs/afs_exporter.c
343         $(LT_CCRULE) $(TOP_SRCDIR)/afs/afs_exporter.c
344 afs_nfsclnt.lo: $(TOP_SRC_AFS)/afs_nfsclnt.c
345         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_nfsclnt.c
346 rx.lo: $(TOP_SRC_RX)/rx.c
347         $(LT_CCRULE) $(TOP_SRC_RX)/rx.c
348 rx_clock.lo: $(TOP_SRC_RX)/rx_clock.c
349         $(LT_CCRULE) $(TOP_SRC_RX)/rx_clock.c
350 rx_event.lo: $(TOP_SRC_RX)/rx_event.c
351         $(LT_CCRULE) $(TOP_SRC_RX)/rx_event.c
352 rx_globals.lo: $(TOP_SRC_RX)/rx_globals.c
353         $(LT_CCRULE) $(TOP_SRC_RX)/rx_globals.c
354 rx_identity.lo: $(TOP_SRC_RX)/rx_identity.c
355         $(LT_CCRULE) $(TOP_SRC_RX)/rx_identity.c
356 rx_misc.lo: $(TOP_SRC_RX)/rx_misc.c
357         $(LT_CCRULE) $(TOP_SRC_RX)/rx_misc.c
358 rx_multi.lo: $(TOP_SRC_RX)/rx_multi.c
359         $(LT_CCRULE) $(TOP_SRC_RX)/rx_multi.c
360 rx_null.lo: $(TOP_SRC_RX)/rx_null.c
361         $(LT_CCRULE) $(TOP_SRC_RX)/rx_null.c
362 rx_opaque.lo: $(TOP_SRC_RX)/rx_opaque.c
363         $(LT_CCRULE) $(TOP_SRC_RX)/rx_opaque.c
364 rx_getaddr.lo: $(TOP_SRC_RX)/rx_getaddr.c
365         $(LT_CCRULE) $(TOP_SRC_RX)/rx_getaddr.c
366 rx_stats.lo: $(TOP_SRC_RX)/rx_stats.c
367         $(LT_CCRULE) $(TOP_SRC_RX)/rx_stats.c
368 rx_packet.lo: $(TOP_SRC_RX)/rx_packet.c
369         $(LT_CCRULE) $(TOP_SRC_RX)/rx_packet.c
370 rx_conncache.lo: $(TOP_SRCDIR)/rx/rx_conncache.c
371         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_conncache.c
372 rx_call.lo: $(TOP_SRCDIR)/rx/rx_call.c
373         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_call.c
374 rx_conn.lo: $(TOP_SRCDIR)/rx/rx_conn.c
375         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_conn.c
376 rx_peer.lo: $(TOP_SRCDIR)/rx/rx_peer.c
377         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_peer.c
378 xdr_rx.lo: $(TOP_SRC_RX)/xdr_rx.c
379         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_rx.c
380 xdr_int32.lo: $(TOP_SRC_RX)/xdr_int32.c
381         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_int32.c
382 xdr_int64.lo: $(TOP_SRC_RX)/xdr_int64.c
383         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_int64.c
384 afs_usrops.lo: $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
385         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
386 afsd.lo: $(TOP_SRCDIR)/afsd/afsd.c
387         $(LT_CCRULE) $(TOP_SRCDIR)/afsd/afsd.c @CFLAGS_NOERROR@
388 afsd_uafs.lo: $(TOP_SRC_AFS)/UKERNEL/afsd_uafs.c
389         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/afsd_uafs.c
390 afs_uuid.lo: $(TOP_SRCDIR)/util/uuid.c
391         $(LT_CCRULE) $(TOP_SRCDIR)/util/uuid.c
392 assert.lo: $(TOP_SRCDIR)/opr/assert.c
393         $(LT_CCRULE) $(TOP_SRCDIR)/opr/assert.c
394 xdr_afsuuid.lo: $(TOP_SRCDIR)/rx/xdr_afsuuid.c
395         $(LT_CCRULE) $(TOP_SRCDIR)/rx/xdr_afsuuid.c
396 xdr_update.lo: $(TOP_SRCDIR)/rx/xdr_update.c
397         $(LT_CCRULE) $(TOP_SRCDIR)/rx/xdr_update.c
398 xdr_refernce.lo: $(TOP_SRCDIR)/rx/xdr_refernce.c
399         $(LT_CCRULE) $(TOP_SRCDIR)/rx/xdr_refernce.c
400 xdr.lo: $(TOP_SRCDIR)/rx/xdr.c
401         $(LT_CCRULE) $(TOP_SRCDIR)/rx/xdr.c
402 osi_vnodeops.lo: $(TOP_SRC_AFS)/UKERNEL/osi_vnodeops.c
403         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_vnodeops.c
404 osi_vm.lo: $(TOP_SRC_AFS)/UKERNEL/osi_vm.c
405         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_vm.c
406 osi_groups.lo: $(TOP_SRC_AFS)/UKERNEL/osi_groups.c
407         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_groups.c
408 osi_gcpags.lo: $(TOP_SRC_AFS)/UKERNEL/osi_gcpags.c
409         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_gcpags.c
410 osi_vcache.lo: $(TOP_SRC_AFS)/UKERNEL/osi_vcache.c
411         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_vcache.c
412 Kcallback.ss.lo: $(TOP_OBJ_FSINT)/Kcallback.ss.c
413         $(LT_CCRULE) $(TOP_OBJ_FSINT)/Kcallback.ss.c
414 Kvice.xdr.lo: $(TOP_OBJ_FSINT)/Kvice.xdr.c
415         $(LT_CCRULE) $(TOP_OBJ_FSINT)/Kvice.xdr.c
416 Kvice.cs.lo: $(TOP_OBJ_FSINT)/Kvice.cs.c
417         $(LT_CCRULE) $(TOP_OBJ_FSINT)/Kvice.cs.c
418 xdr_arrayn.lo: $(TOP_SRC_RX)/xdr_arrayn.c
419         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_arrayn.c
420 xdr_array.lo: $(TOP_SRC_RX)/xdr_array.c
421         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_array.c
422 Kvldbint.cs.lo: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
423         $(LT_CCRULE) $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
424 Kvldbint.xdr.lo: $(TOP_OBJ_VLSERVER)/Kvldbint.xdr.c
425         $(LT_CCRULE) $(TOP_OBJ_VLSERVER)/Kvldbint.xdr.c
426 rx_kmutex.lo: $(TOP_SRC_RX)/UKERNEL/rx_kmutex.c
427         $(LT_CCRULE) $(TOP_SRC_RX)/UKERNEL/rx_kmutex.c
428 rx_knet.lo: $(TOP_SRC_RX)/UKERNEL/rx_knet.c
429         $(LT_CCRULE) $(TOP_SRC_RX)/UKERNEL/rx_knet.c
430 rx_kcommon.lo: $(TOP_SRCDIR)/rx/rx_kcommon.c
431         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_kcommon.c
432 afs_call.lo: $(TOP_SRC_AFS)/afs_call.c
433         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_call.c -DAFS_NONFSTRANS
434 afs_icl.lo: $(TOP_SRC_AFS)/afs_icl.c
435         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_icl.c -DAFS_NONFSTRANS
436 afs_pioctl.lo: $(TOP_SRC_AFS)/afs_pioctl.c
437         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_pioctl.c -DAFS_NONFSTRANS
438 afs_syscall.lo: $(TOP_SRC_AFS)/afs_syscall.c
439         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_syscall.c @CFLAGS_NOERROR@ -DAFS_NONFSTRANS
440 osi_vfsops.lo: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
441         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c -DAFS_NONFSTRANS
442 ktc.lo:         $(TOP_SRCDIR)/auth/ktc.c
443         $(LT_CCRULE) $(TOP_SRCDIR)/auth/ktc.c @CFLAGS_NOERROR@
444 cellconfig.lo: $(TOP_SRCDIR)/auth/cellconfig.c
445         $(LT_CCRULE) $(TOP_SRCDIR)/auth/cellconfig.c
446 keys.lo: $(TOP_SRCDIR)/auth/keys.c
447         $(LT_CCRULE) $(TOP_SRCDIR)/auth/keys.c
448 casestrcpy.lo: $(TOP_SRCDIR)/opr/casestrcpy.c
449         $(LT_CCRULE) $(TOP_SRCDIR)/opr/casestrcpy.c
450 realms.lo: $(TOP_SRCDIR)/auth/realms.c
451         $(LT_CCRULE) $(TOP_SRCDIR)/auth/realms.c
452 dirpath.lo: $(TOP_SRCDIR)/util/dirpath.c
453         $(LT_CCRULE) $(TOP_SRCDIR)/util/dirpath.c
454 fileutil.lo: $(TOP_SRCDIR)/util/fileutil.c
455         $(LT_CCRULE) $(TOP_SRCDIR)/util/fileutil.c
456 netrestrict.lo: $(TOP_SRCDIR)/auth/netrestrict.c
457         $(LT_CCRULE) $(TOP_SRCDIR)/auth/netrestrict.c
458 rxstat.lo: $(TOP_SRC_RXSTAT)/rxstat.c
459         $(LT_CCRULE) $(TOP_SRC_RXSTAT)/rxstat.c
460 Krxstat.ss.lo: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
461         $(LT_CCRULE) $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
462 Krxstat.xdr.lo: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
463         $(LT_CCRULE) $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
464 token.xdr.lo: $(TOP_OBJ_AUTH)/token.xdr.c
465         $(LT_CCRULE) $(TOP_OBJ_AUTH)/token.xdr.c
466 token.lo: $(TOP_SRCDIR)/auth/token.c
467         $(LT_CCRULE) $(TOP_SRCDIR)/auth/token.c
468 xdr_mem.lo: $(TOP_SRC_RX)/xdr_mem.c
469         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_mem.c
470 xdr_len.lo: $(TOP_SRC_RX)/xdr_len.c
471         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_len.c
472
473 $(PERLUAFS)/ukernel.pm: $(PERLUAFS)/ukernel_swig_perl.c
474 $(PERLUAFS)/ukernel_swig_perl.c: ${srcdir}/ukernel_swig.i
475         mkdir -p $(PERLUAFS)
476         $(SWIG) -perl5 -o $@ ${srcdir}/ukernel_swig.i
477
478 $(PERLUAFS)/ukernel_swig_perl.o: $(PERLUAFS)/ukernel_swig_perl.c
479         ${CC} -c ${CPPFLAGS} ${UAFS_CFLAGS} $(SWIG_PERL_CFLAGS) \
480                 $(MODULE_INCLUDE) -DUKERNEL $(SHLIB_CFLAGS) -o $@ \
481                 $(PERLUAFS)/ukernel_swig_perl.c
482
483 $(PERLUAFS)/ukernel.so: $(PERLUAFS)/ukernel_swig_perl.o libuafs_pic.la
484         ${TOP_OBJDIR}/src/config/shlib-build -d $(srcdir) -p -f $@ -- \
485                 $(SWIG_PERL_LDFLAGS) $(LDFLAGS) \
486                 $(PERLUAFS)/ukernel_swig_perl.o \
487                 .libs/libuafs_pic.a ${TOP_LIBDIR}/libcmd_pic.a \
488                 ${TOP_LIBDIR}/libafsutil_pic.a \
489                 $(TOP_LIBDIR)/libopr_pic.a \
490                 $(LDFLAGS_roken) $(LDFLAGS_hcrypto) $(LIB_hcrypto) \
491                 $(LIB_roken) $(LIB_crypt) \
492                 $(XLIBS)
493
494 clean:
495         $(LT_CLEAN)
496         -$(RM) -rf PERLUAFS afs afsint config rx
497         -$(RM) -rf h
498         -$(RM) -f linktest $(AFS_OS_CLEAN)
499
500 install: libuafs.a libuafs_pic.la @LIBUAFS_BUILD_PERL@
501         ${INSTALL} -d ${DESTDIR}${libdir}
502         ${INSTALL_DATA} libuafs.a ${DESTDIR}${libdir}/libuafs.a
503         ${INSTALL_DATA} .libs/libuafs_pic.a ${DESTDIR}${libdir}/libuafs_pic.a
504         if [ "x$(LIBUAFS_BUILD_PERL)" != "x" ] ; then \
505                 ${INSTALL} -d ${DESTDIR}${libdir}/perl; \
506                 ${INSTALL} -d ${DESTDIR}${libdir}/perl/AFS; \
507                 ${INSTALL_DATA} PERLUAFS/ukernel.so ${DESTDIR}${libdir}/perl/ukernel.so; \
508                 ${INSTALL_DATA} PERLUAFS/ukernel.pm ${DESTDIR}${libdir}/perl/AFS/ukernel.pm; \
509         fi;
510
511 dest: $(TOP_INCDIR)/afs/param.h $(TOP_INCDIR)/afs/stds.h \
512                 $(TOP_INCDIR)/afs/afs_sysnames.h \
513                 $(TOP_INCDIR)/afs/afs_stats.h \
514                 $(TOP_SRCDIR)/afs/sysincludes.h \
515                 $(TOP_SRCDIR)/afs/UKERNEL/afs_usrops.h \
516                 libuafs.a libuafs_pic.la \
517                 @LIBUAFS_BUILD_PERL@
518         ${INSTALL} -d ${DEST}/root.perf/include/afs
519         ${INSTALL} -d ${DEST}/root.perf/lib
520         ${INSTALL_DATA} $(TOP_INCDIR)/afs/param.h \
521                 ${DEST}/root.perf/include/afs/param.h
522         ${INSTALL_DATA} $(TOP_INCDIR)/afs/stds.h \
523                 ${DEST}/root.perf/include/afs/stds.h
524         ${INSTALL_DATA} $(TOP_INCDIR)/afs/afs_sysnames.h \
525                 ${DEST}/root.perf/include/afs/afs_sysnames.h
526         ${INSTALL_DATA} $(TOP_INCDIR)/afs/afs_stats.h \
527                 ${DEST}/root.perf/include/afs/afs_stats.h
528         ${INSTALL_DATA} $(TOP_SRCDIR)/afs/UKERNEL/sysincludes.h \
529                 ${DEST}/root.perf/include/afs/sysincludes.h
530         ${INSTALL_DATA} $(TOP_SRCDIR)/afs/UKERNEL/afs_usrops.h \
531                 ${DEST}/root.perf/include/afs/afs_usrops.h
532         ${INSTALL_DATA} libuafs.a ${DEST}/root.perf/lib/libuafs.a
533         ${INSTALL_DATA} .libs/libuafs_pic.a ${DEST}/root.perf/lib/libuafs_pic.a
534         if [ "x$(LIBUAFS_BUILD_PERL)" != "x" ] ; then \
535                 ${INSTALL} -d ${DEST}/root.perf/lib/perl; \
536                 ${INSTALL} -d ${DEST}/root.perf/lib/perl/AFS; \
537                 ${INSTALL_DATA} PERLUAFS/ukernel.so ${DEST}/root.perf/lib/perl/ukernel.so; \
538                 ${INSTALL_DATA} PERLUAFS/ukernel.pm ${DEST}/root.perf/lib/perl/AFS/ukernel.pm; \
539         fi;
540
541 #
542 # Common directory and other build targets
543 #
544
545 h: $(TOP_SRC_AFS)/*.c $(TOP_SRC_VNOPS)/*.c $(TOP_SRC_RX)/*.c
546         -$(RM) -rf h
547         @TOP_SRCDIR@/libuafs/make_h_tree $(TOP_SRC_AFS) $(TOP_SRC_VNOPS) \
548                 $(TOP_SRC_RX)
549
550 include ${TOP_OBJDIR}/src/config/Makefile.version