pull-prototypes-to-head-20020821
[openafs.git] / src / libafs / 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 SHELL=/bin/sh
11 INCLUDE= -I.  -I/usr/include -I${TOP_OBJDIR}/src/config
12 AFS     =../afs
13 RX      =../rx
14 AFSINT  =../afsint
15
16 # Build rules - CC and CFLAGS are defined in system specific MakefileProtos.
17 .c.i:
18         $(CC) $(CFLAGS) -P -c $<
19
20 .c.o:
21         $(CC) $(CFLAGS) -c $<
22 CRULE1= $(CC) $(CFLAGS) -c $?
23 CRULE2= $(CC) $(OPTF) $(CFLAGS) -c $?
24 CRULE3= $(CC) $(OPTF2) $(CFLAGS) -c $?
25 CRULE4= $(CC) $(DBG) $(CFLAGS) -c $?
26
27 system: all
28
29 kinstall:       install
30 install:        all $(INSTDIRS)
31 dest:           all $(DESTDIRS)
32
33 all:    setup $(COMPDIRS)
34
35 single_compdir single_instdir single_destdir:
36         cd $(KOBJ) ; \
37         echo $(MAKE) DESTDIR=${DESTDIR} $@_libafs; \
38         $(MAKE) DESTDIR=${DESTDIR}  $@_libafs
39
40 single_compdir_libafs: libafs
41 single_instdir_libafs: install_libafs
42 single_destdir_libafs: dest_libafs
43
44 AFSAOBJS = \
45         afs_atomlist.o \
46         afs_lhash.o \
47         afs_analyze.o \
48         afs_axscache.o  \
49         afs_buffer.o    \
50         afs_callback.o  \
51         afs_cbqueue.o    \
52         afs_cell.o \
53         afs_chunk.o             \
54         afs_conn.o \
55         afs_daemons.o   \
56         afs_dcache.o \
57         afs_dir.o               \
58         afs_dynroot.o           \
59         afs_init.o \
60         afs_lock.o      \
61         afs_mariner.o \
62         afs_memcache.o  \
63         afs_osi.o               \
64         afs_osidnlc.o   \
65         afs_osi_alloc.o \
66         afs_osi_pag.o \
67         afs_osi_uio.o \
68         afs_osi_vget.o \
69         afs_segments.o \
70         afs_server.o \
71         afs_stat.o \
72         afs_user.o \
73         afs_util.o \
74         afs_vcache.o \
75         afs_vnop_access.o \
76         afs_vnop_attrs.o \
77         afs_vnop_create.o \
78         afs_vnop_dirops.o \
79         afs_vnop_fid.o \
80         afs_vnop_flock.o \
81         afs_vnop_link.o \
82         afs_vnop_lookup.o \
83         afs_vnop_open.o \
84         afs_vnop_read.o \
85         afs_vnop_readdir.o \
86         afs_vnop_remove.o \
87         afs_vnop_rename.o \
88         afs_vnop_strategy.o \
89         afs_vnop_symlink.o \
90         afs_vnop_write.o \
91         afs_volume.o \
92         afsaux.o                \
93         Kvice.xdr.o     \
94         xdr_arrayn.o    \
95         xdr_array.o     \
96         xdr_int32.o     \
97         xdr_int64.o     \
98         Kvice.cs.o      \
99         fcrypt.o                \
100         rx.o            \
101         rx_rdwr.o       \
102         rx_clock.o      \
103         rx_event.o      \
104         rx_globals.o    \
105         rx_kmutex.o     \
106         rx_knet.o       \
107         rx_kcommon.o    \
108         rx_misc.o       \
109         rx_null.o       \
110         rx_getaddr.o    \
111         rx_packet.o     \
112         xdr_rx.o        \
113         Kvldbint.cs.o   \
114         Kvldbint.xdr.o  \
115         Kcallback.ss.o  \
116         Krxstat.ss.o    \
117         Krxstat.xdr.o   \
118         rxstat.o        \
119         crypt_conn.o    \
120         AFS_component_version_number.o\
121         afs_exporter.o  \
122         rxkad_client.o  \
123         rxkad_common.o  \
124         xdr_afsuuid.o   \
125         xdr.o           \
126         afs_uuid.o $(AFS_OS_OBJS)
127
128 # These next two allow nfs and nonfs builds to occur in the same directory.
129 AFSNFSOBJS = \
130         afs_nfsclnt.o   \
131         afs_nfsdisp.o   \
132         afs_call_nfs.o \
133         afs_pioctl_nfs.o \
134         $(AFS_OS_NFSOBJS)
135
136 AFSNONFSOBJS = \
137         afs_call.o \
138         afs_pioctl.o \
139         $(AFS_OS_NONFSOBJS)
140
141
142 # Compilation rules
143 # These files are to be optimized
144 afs_atomlist.o: $(AFS)/afs_atomlist.c
145         $(CRULE2)
146 afs_lhash.o: $(AFS)/afs_lhash.c
147         $(CRULE2)
148 afs_analyze.o: $(AFS)/afs_analyze.c
149         $(CRULE2)
150 afs_axscache.o: $(AFS)/afs_axscache.c
151         $(CRULE2)
152 afs_buffer.o: $(AFS)/afs_buffer.c
153         $(CRULE2)
154 afs_cell.o: $(AFS)/afs_cell.c
155         $(CRULE2)
156 afs_conn.o: $(AFS)/afs_conn.c
157         $(CRULE2)
158 afs_dcache.o: $(AFS)/afs_dcache.c
159         $(CRULE2)
160 afs_dynroot.o:  $(AFS)/afs_dynroot.c
161         $(CRULE2)
162 afs_init.o: $(AFS)/afs_init.c
163         $(CRULE2)
164 afs_mariner.o: $(AFS)/afs_mariner.c
165         $(CRULE2)
166 afs_osidnlc.o: $(AFS)/afs_osidnlc.c
167         $(CRULE2)
168 afs_osi.o:      $(AFS)/afs_osi.c
169         $(CRULE2)
170 afs_osi_alloc.o: $(AFS)/afs_osi_alloc.c
171         $(CRULE2)
172 afs_osi_pag.o: $(AFS)/afs_osi_pag.c
173         $(CRULE2)
174 afs_osi_sleep.o: $(AFS)/afs_osi_sleep.c
175         $(CRULE2)
176 afs_osi_vnhold.o: $(AFS)/afs_osi_vnhold.c
177         $(CRULE2)
178 afs_osi_uio.o: $(AFS)/afs_osi_uio.c
179         $(CRULE2)
180 afs_osi_vget.o: $(AFS)/afs_osi_vget.c
181         $(CRULE1)
182 afs_segments.o: $(AFS)/afs_segments.c
183         $(CRULE2)
184 afs_server.o: $(AFS)/afs_server.c
185         $(CRULE2)
186 afs_user.o: $(AFS)/afs_user.c
187         $(CRULE2)
188 afs_util.o: $(AFS)/afs_util.c
189         $(CRULE2)
190 afs_vcache.o: $(AFS)/afs_vcache.c
191         $(CRULE2)
192 afs_vnop_access.o: $(AFS)/afs_vnop_access.c
193         $(CRULE1)
194 afs_vnop_attrs.o: $(AFS)/afs_vnop_attrs.c
195         $(CRULE1)
196 afs_vnop_create.o: $(AFS)/afs_vnop_create.c
197         $(CRULE1)
198 afs_vnop_dirops.o: $(AFS)/afs_vnop_dirops.c
199         $(CRULE1)
200 afs_vnop_fid.o: $(AFS)/afs_vnop_fid.c
201         $(CRULE1)
202 afs_vnop_flock.o: $(AFS)/afs_vnop_flock.c
203         $(CRULE1)
204 afs_vnop_link.o: $(AFS)/afs_vnop_link.c
205         $(CRULE1)
206 afs_vnop_lookup.o: $(AFS)/afs_vnop_lookup.c
207         $(CRULE1)
208 afs_vnop_open.o: $(AFS)/afs_vnop_open.c
209         $(CRULE1)
210 afs_vnop_read.o: $(AFS)/afs_vnop_read.c
211         $(CRULE1)
212 afs_vnop_readdir.o: $(AFS)/afs_vnop_readdir.c
213         $(CRULE1)
214 afs_vnop_remove.o: $(AFS)/afs_vnop_remove.c
215         $(CRULE1)
216 afs_vnop_rename.o: $(AFS)/afs_vnop_rename.c
217         $(CRULE1)
218 afs_vnop_strategy.o: $(AFS)/afs_vnop_strategy.c
219         $(CRULE1)
220 afs_vnop_symlink.o: $(AFS)/afs_vnop_symlink.c
221         $(CRULE1)
222 afs_vnop_write.o: $(AFS)/afs_vnop_write.c
223         $(CRULE1)
224 afs_volume.o: $(AFS)/afs_volume.c
225         $(CRULE2)
226 rx_rdwr.o: $(RX)/rx_rdwr.c
227         $(CRULE2)
228 afs_uuid.o: $(AFS)/afs_uuid.c
229         $(CRULE2)
230 xdr_afsuuid.o: $(RX)/xdr_afsuuid.c
231         $(CRULE2)
232
233 # these files are not to be optimized - subject to change.
234 afs_cbqueue.o: $(AFS)/afs_cbqueue.c
235         $(CRULE1)
236 afs_callback.o: $(AFS)/afs_callback.c
237         $(CRULE1)
238 afs_chunk.o: $(AFS)/afs_chunk.c
239         $(CRULE1)
240 afs_daemons.o: $(AFS)/afs_daemons.c
241         $(CRULE1)
242 afs_dir.o:      $(AFS)/afs_dir.c
243         $(CRULE1)
244 AFS_component_version_number.o: $(AFS)/AFS_component_version_number.c
245         $(CRULE1)
246 afs_lock.o: $(AFS)/afs_lock.c
247         $(CRULE1)
248 afs_memcache.o: $(AFS)/afs_memcache.c
249         $(CRULE1)
250 afs_stat.o: $(AFS)/afs_stat.c
251         $(CRULE1)
252 fcrypt.o:       $(AFS)/fcrypt.c
253         $(CRULE1)
254 crypt_conn.o: $(AFS)/crypt_conn.c
255         $(CRULE1)
256 rxkad_client.o: $(AFS)/rxkad_client.c
257         $(CRULE1)
258 rxkad_common.o: $(AFS)/rxkad_common.c
259         $(CRULE1)
260 afs_exporter.o: $(AFS)/afs_exporter.c
261         $(CRULE1)
262 afs_nfsclnt.o: $(AFS)/afs_nfsclnt.c
263         $(CRULE1)
264 afs_nfsdisp.o: $(AFS)/afs_nfsdisp.c
265         $(CRULE1)
266 rx.o: $(RX)/rx.c
267         $(CRULE1)
268 rx_clock.o: $(RX)/rx_clock.c
269         $(CRULE1)
270 rx_event.o: $(RX)/rx_event.c
271         $(CRULE1)
272 rx_globals.o: $(RX)/rx_globals.c
273         $(CRULE1)
274 rx_misc.o: $(RX)/rx_misc.c
275         $(CRULE1)
276 rx_null.o: $(RX)/rx_null.c
277         $(CRULE1)
278 rx_getaddr.o: $(RX)/rx_getaddr.c
279         $(CRULE1)
280 rx_packet.o: $(RX)/rx_packet.c
281         $(CRULE1)
282 xdr_rx.o: $(RX)/xdr_rx.c
283         $(CRULE1)
284 afs_ncrops.o: $(AFS)/afs_ncrops.c
285         $(CRULE1)
286 afs_aixops.o: $(AFS)/afs_aixops.c
287         $(CRULE1)
288 afs_aix_subr.o: $(AFS)/afs_aix_subr.c
289         $(CRULE1)
290 afs_hp_subr.o: $(AFS)/afs_hp_subr.c
291         $(CRULE1)
292 afs_gfsops.o: $(AFS)/afs_gfsops.c
293         $(CRULE1)
294 afs_gfs_subr.o: $(AFS)/afs_gfs_subr.c
295         $(CRULE1)
296 Kcallback.ss.o: $(AFSINT)/Kcallback.ss.c
297         $(CRULE1)
298 rxstat.o: $(AFSINT)/rxstat.c
299         $(CRULE1)
300 Krxstat.ss.o: $(AFSINT)/Krxstat.ss.c
301         $(CRULE1)
302 Krxstat.xdr.o: $(AFSINT)/Krxstat.xdr.c
303         $(CRULE1)
304 Kvice.xdr.o: $(AFSINT)/Kvice.xdr.c
305         $(CRULE1)
306 Kvice.cs.o: $(AFSINT)/Kvice.cs.c
307         $(CRULE1)
308 afsaux.o: $(AFSINT)/afsaux.c
309         $(CRULE1)
310 xdr_arrayn.o: $(RX)/xdr_arrayn.c
311         $(CRULE1)
312 xdr_array.o: $(RX)/xdr_array.c
313         $(CRULE1)
314 xdr_int32.o: $(RX)/xdr_int32.c
315         $(CRULE1)
316 xdr_int64.o: $(RX)/xdr_int64.c
317         $(CRULE1)
318 xdr.o: $(RX)/xdr.c
319         $(CRULE1)
320 Kvldbint.cs.o: $(AFSINT)/Kvldbint.cs.c
321         $(CRULE1)
322 Kvldbint.xdr.o: $(AFSINT)/Kvldbint.xdr.c
323         $(CRULE1) -DAFS_UUID_XG
324 afs_main.o: $(AFS)/afs_main.c
325         $(CRULE1)
326 rx_kmutex.o: $(RX)/rx_kmutex.c
327         $(CRULE1)
328 rx_knet.o: $(RX)/rx_knet.c
329         $(CRULE1)
330 rx_kcommon.o: $(RX)/rx_kcommon.c
331         $(CRULE1)
332
333 # Files which do not contain NFS translator code.
334 afs_call.o: $(AFS)/afs_call.c
335         $(CRULE1) -DAFS_NONFSTRANS
336 afs_pioctl.o: $(AFS)/afs_pioctl.c
337         $(CRULE1) -DAFS_NONFSTRANS
338
339 # NFS Translator versions of the above code.
340 afs_call_nfs.o: $(AFS)/afs_call.c
341         $(CRULE1) -o afs_call_nfs.o
342 afs_pioctl_nfs.o:       $(AFS)/afs_pioctl.c
343         $(CRULE1) -o afs_pioctl_nfs.o
344
345
346
347 clean:
348         -$(RM) -rf STATIC* MODLOAD*
349         -$(RM) -rf  h net netinet rpc ufs machine inet nfs sys afs afsint asm asm-generic config rx linux
350
351