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