UKERNEL: Build linktest with COMMON_CFLAGS
[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.a: $(LT_objs)
197         $(LT_LDLIB_static) $(LT_objs)
198
199 libuafs_pic.la: libuafs.a $(LT_objs)
200         $(LT_LDLIB_pic) $(LT_objs)
201
202 setup_perllib:
203         ${INSTALL} -d ${TOP_LIBDIR}/perl
204         ${INSTALL} -d ${TOP_LIBDIR}/perl/AFS
205
206 ${TOP_LIBDIR}/perl/ukernel.so: setup_perllib PERLUAFS/ukernel.so
207         ${INSTALL_DATA} PERLUAFS/ukernel.so $@
208
209 ${TOP_LIBDIR}/perl/AFS/ukernel.pm: setup_perllib PERLUAFS/ukernel.pm
210         ${INSTALL_DATA} PERLUAFS/ukernel.pm $@
211
212 LIBUAFS_BUILD_PERL: ${TOP_LIBDIR}/perl/ukernel.so ${TOP_LIBDIR}/perl/AFS/ukernel.pm
213
214 linktest: libuafs.a
215         $(CC) $(COMMON_CFLAGS) $(TEST_CFLAGS) $(TEST_LDFLAGS) \
216                 $(LDFLAGS_roken) $(LDFLAGS_hcrypto) -o linktest \
217                 ${srcdir}/linktest.c $(MODULE_INCLUDE) -DUKERNEL \
218                 libuafs.a ${TOP_LIBDIR}/libcmd.a \
219                 ${TOP_LIBDIR}/libafsutil.a $(TOP_LIBDIR)/libopr.a \
220                 $(LIB_hcrypto) $(LIB_roken) $(LIB_crypt) $(TEST_LIBS) $(XLIBS)
221
222 # Compilation rules
223
224 # These files are for the user space library
225 afs_atomlist.lo: $(TOP_SRCDIR)/util/afs_atomlist.c
226         $(LT_CCRULE) $(TOP_SRCDIR)/util/afs_atomlist.c
227 afs_lhash.lo: $(TOP_SRCDIR)/util/afs_lhash.c
228         $(LT_CCRULE) $(TOP_SRCDIR)/util/afs_lhash.c
229 afs_analyze.lo: $(TOP_SRC_AFS)/afs_analyze.c
230         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_analyze.c
231 afs_axscache.lo: $(TOP_SRC_AFS)/afs_axscache.c
232         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_axscache.c
233 afs_buffer.lo: $(TOP_SRC_AFS)/afs_buffer.c
234         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_buffer.c
235 afs_bypasscache.lo: $(TOP_SRC_AFS)/afs_bypasscache.c
236         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_bypasscache.c
237 afs_cell.lo: $(TOP_SRC_AFS)/afs_cell.c
238         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_cell.c
239 afs_conn.lo: $(TOP_SRC_AFS)/afs_conn.c
240         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_conn.c
241 afs_dcache.lo: $(TOP_SRC_AFS)/afs_dcache.c
242         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_dcache.c
243 afs_dynroot.lo: $(TOP_SRC_AFS)/afs_dynroot.c
244         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_dynroot.c
245 afs_disconnected.lo: $(TOP_SRC_AFS)/afs_disconnected.c
246         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_disconnected.c
247 afs_error.lo: $(TOP_SRC_AFS)/afs_error.c
248         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_error.c
249 afs_init.lo: $(TOP_SRC_AFS)/afs_init.c
250         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_init.c
251 afs_mariner.lo: $(TOP_SRC_AFS)/afs_mariner.c
252         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_mariner.c
253 afs_osidnlc.lo: $(TOP_SRC_AFS)/afs_osidnlc.c
254         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_osidnlc.c
255 afs_osi.lo: $(TOP_SRC_AFS)/afs_osi.c
256         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_osi.c
257 afs_osi_pag.lo: $(TOP_SRC_AFS)/afs_osi_pag.c
258         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_osi_pag.c
259 afs_segments.lo: $(TOP_SRC_AFS)/afs_segments.c
260         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_segments.c
261 afs_server.lo: $(TOP_SRC_AFS)/afs_server.c
262         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_server.c
263 afs_tokens.lo: $(TOP_SRC_AFS)/afs_tokens.c
264         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_tokens.c
265 afs_user.lo: $(TOP_SRC_AFS)/afs_user.c
266         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_user.c
267 afs_util.lo: $(TOP_SRC_AFS)/afs_util.c
268         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_util.c
269 afs_vcache.lo: $(TOP_SRC_AFS)/afs_vcache.c
270         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_vcache.c
271 afs_warn.lo: $(TOP_SRC_AFS)/afs_warn.c
272         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_warn.c
273 afs_osi_uio.lo: $(TOP_SRC_AFS)/afs_osi_uio.c
274         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_osi_uio.c
275 afs_vnop_access.lo: $(TOP_SRC_VNOPS)/afs_vnop_access.c
276         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_access.c
277 afs_vnop_attrs.lo: $(TOP_SRC_VNOPS)/afs_vnop_attrs.c
278         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_attrs.c
279 afs_vnop_create.lo: $(TOP_SRC_VNOPS)/afs_vnop_create.c
280         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_create.c
281 afs_vnop_dirops.lo: $(TOP_SRC_VNOPS)/afs_vnop_dirops.c
282         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_dirops.c
283 afs_vnop_fid.lo: $(TOP_SRC_VNOPS)/afs_vnop_fid.c
284         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_fid.c
285 afs_vnop_flock.lo: $(TOP_SRC_VNOPS)/afs_vnop_flock.c
286         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_flock.c
287 afs_vnop_link.lo: $(TOP_SRC_VNOPS)/afs_vnop_link.c
288         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_link.c
289 afs_vnop_lookup.lo: $(TOP_SRC_VNOPS)/afs_vnop_lookup.c
290         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_lookup.c
291 afs_vnop_open.lo: $(TOP_SRC_VNOPS)/afs_vnop_open.c
292         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_open.c
293 afs_vnop_read.lo: $(TOP_SRC_VNOPS)/afs_vnop_read.c
294         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_read.c
295 afs_vnop_readdir.lo: $(TOP_SRC_VNOPS)/afs_vnop_readdir.c
296         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_readdir.c
297 afs_vnop_remove.lo: $(TOP_SRC_VNOPS)/afs_vnop_remove.c
298         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_remove.c
299 afs_vnop_rename.lo: $(TOP_SRC_VNOPS)/afs_vnop_rename.c
300         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_rename.c
301 afs_vnop_strategy.lo: $(TOP_SRC_VNOPS)/afs_vnop_strategy.c
302         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_strategy.c
303 afs_vnop_symlink.lo: $(TOP_SRC_VNOPS)/afs_vnop_symlink.c
304         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_symlink.c
305 afs_vnop_write.lo: $(TOP_SRC_VNOPS)/afs_vnop_write.c
306         $(LT_CCRULE) $(TOP_SRC_VNOPS)/afs_vnop_write.c
307 afs_volume.lo: $(TOP_SRC_AFS)/afs_volume.c
308         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_volume.c
309 rx_rdwr.lo: $(TOP_SRC_RX)/rx_rdwr.c
310         $(LT_CCRULE) $(TOP_SRC_RX)/rx_rdwr.c
311 afs_cbqueue.lo: $(TOP_SRC_AFS)/afs_cbqueue.c
312         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_cbqueue.c
313 afs_callback.lo: $(TOP_SRC_AFS)/afs_callback.c
314         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_callback.c
315 afs_chunk.lo: $(TOP_SRC_AFS)/afs_chunk.c
316         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_chunk.c
317 afs_daemons.lo: $(TOP_SRC_AFS)/afs_daemons.c
318         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_daemons.c
319 afs_dir.lo:     $(TOP_SRCDIR)/dir/dir.c
320         $(LT_CCRULE) $(TOP_SRCDIR)/dir/dir.c
321 AFS_component_version_number.lo: AFS_component_version_number.c
322         $(LT_CCRULE) AFS_component_version_number.c
323 afs_lock.lo: $(TOP_SRC_AFS)/afs_lock.c
324         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_lock.c
325 afs_memcache.lo: $(TOP_SRC_AFS)/afs_memcache.c
326         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_memcache.c
327 afs_fetchstore.lo: $(TOP_SRC_AFS)/afs_fetchstore.c
328         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_fetchstore.c
329 afs_stat.lo: $(TOP_SRC_AFS)/afs_stat.c
330         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_stat.c
331 fcrypt.lo:      $(TOP_SRC_RXKAD)/fcrypt.c
332         $(LT_CCRULE) $(TOP_SRC_RXKAD)/fcrypt.c
333 crypt_conn.lo: $(TOP_SRC_RXKAD)/crypt_conn.c
334         $(LT_CCRULE) $(TOP_SRC_RXKAD)/crypt_conn.c
335 rxkad_client.lo: $(TOP_SRC_RXKAD)/rxkad_client.c
336         $(LT_CCRULE) $(TOP_SRC_RXKAD)/rxkad_client.c
337 rxkad_common.lo: $(TOP_SRC_RXKAD)/rxkad_common.c
338         $(LT_CCRULE) $(TOP_SRC_RXKAD)/rxkad_common.c
339 afs_exporter.lo: $(TOP_SRCDIR)/afs/afs_exporter.c
340         $(LT_CCRULE) $(TOP_SRCDIR)/afs/afs_exporter.c
341 afs_nfsclnt.lo: $(TOP_SRC_AFS)/afs_nfsclnt.c
342         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_nfsclnt.c
343 rx.lo: $(TOP_SRC_RX)/rx.c
344         $(LT_CCRULE) $(TOP_SRC_RX)/rx.c
345 rx_clock.lo: $(TOP_SRC_RX)/rx_clock.c
346         $(LT_CCRULE) $(TOP_SRC_RX)/rx_clock.c
347 rx_event.lo: $(TOP_SRC_RX)/rx_event.c
348         $(LT_CCRULE) $(TOP_SRC_RX)/rx_event.c
349 rx_globals.lo: $(TOP_SRC_RX)/rx_globals.c
350         $(LT_CCRULE) $(TOP_SRC_RX)/rx_globals.c
351 rx_identity.lo: $(TOP_SRC_RX)/rx_identity.c
352         $(LT_CCRULE) $(TOP_SRC_RX)/rx_identity.c
353 rx_misc.lo: $(TOP_SRC_RX)/rx_misc.c
354         $(LT_CCRULE) $(TOP_SRC_RX)/rx_misc.c
355 rx_multi.lo: $(TOP_SRC_RX)/rx_multi.c
356         $(LT_CCRULE) $(TOP_SRC_RX)/rx_multi.c
357 rx_null.lo: $(TOP_SRC_RX)/rx_null.c
358         $(LT_CCRULE) $(TOP_SRC_RX)/rx_null.c
359 rx_opaque.lo: $(TOP_SRC_RX)/rx_opaque.c
360         $(LT_CCRULE) $(TOP_SRC_RX)/rx_opaque.c
361 rx_getaddr.lo: $(TOP_SRC_RX)/rx_getaddr.c
362         $(LT_CCRULE) $(TOP_SRC_RX)/rx_getaddr.c
363 rx_stats.lo: $(TOP_SRC_RX)/rx_stats.c
364         $(LT_CCRULE) $(TOP_SRC_RX)/rx_stats.c
365 rx_packet.lo: $(TOP_SRC_RX)/rx_packet.c
366         $(LT_CCRULE) $(TOP_SRC_RX)/rx_packet.c
367 rx_conncache.lo: $(TOP_SRCDIR)/rx/rx_conncache.c
368         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_conncache.c
369 rx_call.lo: $(TOP_SRCDIR)/rx/rx_call.c
370         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_call.c
371 rx_conn.lo: $(TOP_SRCDIR)/rx/rx_conn.c
372         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_conn.c
373 rx_peer.lo: $(TOP_SRCDIR)/rx/rx_peer.c
374         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_peer.c
375 xdr_rx.lo: $(TOP_SRC_RX)/xdr_rx.c
376         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_rx.c
377 xdr_int32.lo: $(TOP_SRC_RX)/xdr_int32.c
378         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_int32.c
379 xdr_int64.lo: $(TOP_SRC_RX)/xdr_int64.c
380         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_int64.c
381 afs_usrops.lo: $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
382         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
383 afsd.lo: $(TOP_SRCDIR)/afsd/afsd.c
384         $(LT_CCRULE) $(TOP_SRCDIR)/afsd/afsd.c @CFLAGS_NOERROR@
385 afsd_uafs.lo: $(TOP_SRC_AFS)/UKERNEL/afsd_uafs.c
386         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/afsd_uafs.c
387 afs_uuid.lo: $(TOP_SRCDIR)/util/uuid.c
388         $(LT_CCRULE) $(TOP_SRCDIR)/util/uuid.c
389 assert.lo: $(TOP_SRCDIR)/opr/assert.c
390         $(LT_CCRULE) $(TOP_SRCDIR)/opr/assert.c
391 xdr_afsuuid.lo: $(TOP_SRCDIR)/rx/xdr_afsuuid.c
392         $(LT_CCRULE) $(TOP_SRCDIR)/rx/xdr_afsuuid.c
393 xdr_update.lo: $(TOP_SRCDIR)/rx/xdr_update.c
394         $(LT_CCRULE) $(TOP_SRCDIR)/rx/xdr_update.c
395 xdr_refernce.lo: $(TOP_SRCDIR)/rx/xdr_refernce.c
396         $(LT_CCRULE) $(TOP_SRCDIR)/rx/xdr_refernce.c
397 xdr.lo: $(TOP_SRCDIR)/rx/xdr.c
398         $(LT_CCRULE) $(TOP_SRCDIR)/rx/xdr.c
399 osi_vnodeops.lo: $(TOP_SRC_AFS)/UKERNEL/osi_vnodeops.c
400         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_vnodeops.c
401 osi_vm.lo: $(TOP_SRC_AFS)/UKERNEL/osi_vm.c
402         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_vm.c
403 osi_groups.lo: $(TOP_SRC_AFS)/UKERNEL/osi_groups.c
404         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_groups.c
405 osi_gcpags.lo: $(TOP_SRC_AFS)/UKERNEL/osi_gcpags.c
406         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_gcpags.c
407 osi_vcache.lo: $(TOP_SRC_AFS)/UKERNEL/osi_vcache.c
408         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_vcache.c
409 Kcallback.ss.lo: $(TOP_OBJ_FSINT)/Kcallback.ss.c
410         $(LT_CCRULE) $(TOP_OBJ_FSINT)/Kcallback.ss.c
411 Kvice.xdr.lo: $(TOP_OBJ_FSINT)/Kvice.xdr.c
412         $(LT_CCRULE) $(TOP_OBJ_FSINT)/Kvice.xdr.c
413 Kvice.cs.lo: $(TOP_OBJ_FSINT)/Kvice.cs.c
414         $(LT_CCRULE) $(TOP_OBJ_FSINT)/Kvice.cs.c
415 xdr_arrayn.lo: $(TOP_SRC_RX)/xdr_arrayn.c
416         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_arrayn.c
417 xdr_array.lo: $(TOP_SRC_RX)/xdr_array.c
418         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_array.c
419 Kvldbint.cs.lo: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
420         $(LT_CCRULE) $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
421 Kvldbint.xdr.lo: $(TOP_OBJ_VLSERVER)/Kvldbint.xdr.c
422         $(LT_CCRULE) $(TOP_OBJ_VLSERVER)/Kvldbint.xdr.c
423 rx_kmutex.lo: $(TOP_SRC_RX)/UKERNEL/rx_kmutex.c
424         $(LT_CCRULE) $(TOP_SRC_RX)/UKERNEL/rx_kmutex.c
425 rx_knet.lo: $(TOP_SRC_RX)/UKERNEL/rx_knet.c
426         $(LT_CCRULE) $(TOP_SRC_RX)/UKERNEL/rx_knet.c
427 rx_kcommon.lo: $(TOP_SRCDIR)/rx/rx_kcommon.c
428         $(LT_CCRULE) $(TOP_SRCDIR)/rx/rx_kcommon.c
429 afs_call.lo: $(TOP_SRC_AFS)/afs_call.c
430         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_call.c -DAFS_NONFSTRANS
431 afs_icl.lo: $(TOP_SRC_AFS)/afs_icl.c
432         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_icl.c -DAFS_NONFSTRANS
433 afs_pioctl.lo: $(TOP_SRC_AFS)/afs_pioctl.c
434         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_pioctl.c -DAFS_NONFSTRANS
435 afs_syscall.lo: $(TOP_SRC_AFS)/afs_syscall.c
436         $(LT_CCRULE) $(TOP_SRC_AFS)/afs_syscall.c @CFLAGS_NOERROR@ -DAFS_NONFSTRANS
437 osi_vfsops.lo: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
438         $(LT_CCRULE) $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c -DAFS_NONFSTRANS
439 ktc.lo:         $(TOP_SRCDIR)/auth/ktc.c
440         $(LT_CCRULE) $(TOP_SRCDIR)/auth/ktc.c @CFLAGS_NOERROR@
441 cellconfig.lo: $(TOP_SRCDIR)/auth/cellconfig.c
442         $(LT_CCRULE) $(TOP_SRCDIR)/auth/cellconfig.c
443 keys.lo: $(TOP_SRCDIR)/auth/keys.c
444         $(LT_CCRULE) $(TOP_SRCDIR)/auth/keys.c
445 casestrcpy.lo: $(TOP_SRCDIR)/opr/casestrcpy.c
446         $(LT_CCRULE) $(TOP_SRCDIR)/opr/casestrcpy.c
447 realms.lo: $(TOP_SRCDIR)/auth/realms.c
448         $(LT_CCRULE) $(TOP_SRCDIR)/auth/realms.c
449 dirpath.lo: $(TOP_SRCDIR)/util/dirpath.c
450         $(LT_CCRULE) $(TOP_SRCDIR)/util/dirpath.c
451 fileutil.lo: $(TOP_SRCDIR)/util/fileutil.c
452         $(LT_CCRULE) $(TOP_SRCDIR)/util/fileutil.c
453 netrestrict.lo: $(TOP_SRCDIR)/auth/netrestrict.c
454         $(LT_CCRULE) $(TOP_SRCDIR)/auth/netrestrict.c
455 rxstat.lo: $(TOP_SRC_RXSTAT)/rxstat.c
456         $(LT_CCRULE) $(TOP_SRC_RXSTAT)/rxstat.c
457 Krxstat.ss.lo: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
458         $(LT_CCRULE) $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
459 Krxstat.xdr.lo: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
460         $(LT_CCRULE) $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
461 token.xdr.lo: $(TOP_OBJ_AUTH)/token.xdr.c
462         $(LT_CCRULE) $(TOP_OBJ_AUTH)/token.xdr.c
463 token.lo: $(TOP_SRCDIR)/auth/token.c
464         $(LT_CCRULE) $(TOP_SRCDIR)/auth/token.c
465 xdr_mem.lo: $(TOP_SRC_RX)/xdr_mem.c
466         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_mem.c
467 xdr_len.lo: $(TOP_SRC_RX)/xdr_len.c
468         $(LT_CCRULE) $(TOP_SRC_RX)/xdr_len.c
469
470 $(PERLUAFS)/ukernel.pm: $(PERLUAFS)/ukernel_swig_perl.c
471 $(PERLUAFS)/ukernel_swig_perl.c: ${srcdir}/ukernel_swig.i
472         mkdir -p $(PERLUAFS)
473         $(SWIG) -perl5 -o $@ ${srcdir}/ukernel_swig.i
474
475 $(PERLUAFS)/ukernel_swig_perl.o: $(PERLUAFS)/ukernel_swig_perl.c
476         ${CC} -c ${CPPFLAGS} ${UAFS_CFLAGS} $(SWIG_PERL_CFLAGS) \
477                 $(MODULE_INCLUDE) -DUKERNEL $(SHLIB_CFLAGS) -o $@ \
478                 $(PERLUAFS)/ukernel_swig_perl.c
479
480 $(PERLUAFS)/ukernel.so: $(PERLUAFS)/ukernel_swig_perl.o libuafs_pic.la
481         ${TOP_OBJDIR}/src/config/shlib-build -d $(srcdir) -p -f $@ -- \
482                 $(SWIG_PERL_LDFLAGS) $(LDFLAGS) \
483                 $(PERLUAFS)/ukernel_swig_perl.o \
484                 .libs/libuafs_pic.a ${TOP_LIBDIR}/libcmd_pic.a \
485                 ${TOP_LIBDIR}/libafsutil_pic.a \
486                 $(TOP_LIBDIR)/libopr_pic.a \
487                 $(LDFLAGS_roken) $(LDFLAGS_hcrypto) $(LIB_hcrypto) \
488                 $(LIB_roken) $(LIB_crypt) \
489                 $(XLIBS)
490
491 clean:
492         $(LT_CLEAN)
493         -$(RM) -rf PERLUAFS afs afsint config rx
494         -$(RM) -rf h
495         -$(RM) -f linktest $(AFS_OS_CLEAN)
496
497 install: libuafs.a libuafs_pic.la @LIBUAFS_BUILD_PERL@
498         ${INSTALL} -d ${DESTDIR}${libdir}
499         ${INSTALL_DATA} libuafs.a ${DESTDIR}${libdir}/libuafs.a
500         ${INSTALL_DATA} .libs/libuafs_pic.a ${DESTDIR}${libdir}/libuafs_pic.a
501         if [ "x$(LIBUAFS_BUILD_PERL)" != "x" ] ; then \
502                 ${INSTALL} -d ${DESTDIR}${libdir}/perl; \
503                 ${INSTALL} -d ${DESTDIR}${libdir}/perl/AFS; \
504                 ${INSTALL_DATA} PERLUAFS/ukernel.so ${DESTDIR}${libdir}/perl/ukernel.so; \
505                 ${INSTALL_DATA} PERLUAFS/ukernel.pm ${DESTDIR}${libdir}/perl/AFS/ukernel.pm; \
506         fi;
507
508 dest: $(TOP_INCDIR)/afs/param.h $(TOP_INCDIR)/afs/stds.h \
509                 $(TOP_INCDIR)/afs/afs_sysnames.h \
510                 $(TOP_INCDIR)/afs/afs_stats.h \
511                 $(TOP_SRCDIR)/afs/sysincludes.h \
512                 $(TOP_SRCDIR)/afs/UKERNEL/afs_usrops.h \
513                 libuafs.a libuafs_pic.la \
514                 @LIBUAFS_BUILD_PERL@
515         ${INSTALL} -d ${DEST}/root.perf/include/afs
516         ${INSTALL} -d ${DEST}/root.perf/lib
517         ${INSTALL_DATA} $(TOP_INCDIR)/afs/param.h \
518                 ${DEST}/root.perf/include/afs/param.h
519         ${INSTALL_DATA} $(TOP_INCDIR)/afs/stds.h \
520                 ${DEST}/root.perf/include/afs/stds.h
521         ${INSTALL_DATA} $(TOP_INCDIR)/afs/afs_sysnames.h \
522                 ${DEST}/root.perf/include/afs/afs_sysnames.h
523         ${INSTALL_DATA} $(TOP_INCDIR)/afs/afs_stats.h \
524                 ${DEST}/root.perf/include/afs/afs_stats.h
525         ${INSTALL_DATA} $(TOP_SRCDIR)/afs/UKERNEL/sysincludes.h \
526                 ${DEST}/root.perf/include/afs/sysincludes.h
527         ${INSTALL_DATA} $(TOP_SRCDIR)/afs/UKERNEL/afs_usrops.h \
528                 ${DEST}/root.perf/include/afs/afs_usrops.h
529         ${INSTALL_DATA} libuafs.a ${DEST}/root.perf/lib/libuafs.a
530         ${INSTALL_DATA} .libs/libuafs_pic.a ${DEST}/root.perf/lib/libuafs_pic.a
531         if [ "x$(LIBUAFS_BUILD_PERL)" != "x" ] ; then \
532                 ${INSTALL} -d ${DEST}/root.perf/lib/perl; \
533                 ${INSTALL} -d ${DEST}/root.perf/lib/perl/AFS; \
534                 ${INSTALL_DATA} PERLUAFS/ukernel.so ${DEST}/root.perf/lib/perl/ukernel.so; \
535                 ${INSTALL_DATA} PERLUAFS/ukernel.pm ${DEST}/root.perf/lib/perl/AFS/ukernel.pm; \
536         fi;
537
538 #
539 # Common directory and other build targets
540 #
541
542 h: $(TOP_SRC_AFS)/*.c $(TOP_SRC_VNOPS)/*.c $(TOP_SRC_RX)/*.c
543         -$(RM) -rf h
544         @TOP_SRCDIR@/libuafs/make_h_tree $(TOP_SRC_AFS) $(TOP_SRC_VNOPS) \
545                 $(TOP_SRC_RX)
546
547 include ${TOP_OBJDIR}/src/config/Makefile.version