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