1 # Copyright 2000, International Business Machines Corporation and others.
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
8 # Common elements for Makefiles for all system types.
11 INCLUDE= -I. -I/usr/include -I${TOP_OBJDIR}/src/config
13 TOP_OBJ_FSINT = ${TOP_OBJDIR}/src/fsint
14 TOP_OBJ_RXSTAT = ${TOP_OBJDIR}/src/rxstat
15 TOP_OBJ_VLSERVER = ${TOP_OBJDIR}/src/vlserver
17 TOP_SRC_AFS = ${TOP_SRCDIR}/afs
18 TOP_SRC_RXSTAT = ${TOP_SRCDIR}/rxstat
19 TOP_SRC_FSINT = ${TOP_SRCDIR}/fsint
20 TOP_SRC_RX = ${TOP_SRCDIR}/rx
21 TOP_SRC_VNOPS = ${TOP_SRCDIR}/afs/VNOPS
22 TOP_SRC_RXKAD = ${TOP_SRCDIR}/rxkad
24 COMMON_INCLUDE = -I. -I.. -I../nfs \
27 -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
28 -I${TOP_SRCDIR}/config \
29 -I${TOP_SRCDIR}/rx/${MKAFS_OSTYPE} \
30 -I${TOP_SRCDIR}/rxkad \
31 -I${TOP_SRCDIR}/util \
33 -I${TOP_OBJDIR}/src/afs \
34 -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
35 -I${TOP_OBJDIR}/src/util \
36 -I${TOP_OBJDIR}/src/rxkad \
37 -I${TOP_OBJDIR}/src/config \
38 -I${TOP_OBJDIR}/src/fsint \
39 -I${TOP_OBJDIR}/src/vlserver \
43 # Build rules - CC and CFLAGS are defined in system specific MakefileProtos.
45 $(CC) $(COMMON_INCLUDE) $(CFLAGS) -P -c $<
48 $(CC) $(COMMON_INCLUDE) $(CFLAGS) -c $<
49 CRULE1= $(CC) $(COMMON_INCLUDE) $(CFLAGS) -c $?
50 CRULE2= $(CC) $(COMMON_INCLUDE) $(OPTF) $(CFLAGS) -c $?
51 CRULE3= $(CC) $(COMMON_INCLUDE) $(OPTF2) $(CFLAGS) -c $?
52 CRULE4= $(CC) $(COMMON_INCLUDE) $(DBG) $(CFLAGS) -c $?
56 install: all $(INSTDIRS)
59 all: setup $(COMPDIRS)
61 single_compdir single_instdir single_destdir:
63 echo $(MAKE) DESTDIR=${DESTDIR} $@_libafs; \
64 $(MAKE) DESTDIR=${DESTDIR} $@_libafs
66 single_compdir_libafs: depsrcs libafs
67 single_instdir_libafs: install_libafs
68 single_destdir_libafs: dest_libafs
70 # placeholder for any sources that are built prior to compiling libafs
116 afs_vnop_strategy.o \
147 AFS_component_version_number.o\
153 afs_uuid.o $(AFS_OS_OBJS)
155 # These next two allow nfs and nonfs builds to occur in the same directory.
171 # These files are to be optimized
172 afs_base64.o: $(TOP_SRC_AFS)/afs_base64.c
174 afs_atomlist.o: $(TOP_SRCDIR)/util/afs_atomlist.c
176 afs_lhash.o: $(TOP_SRCDIR)/util/afs_lhash.c
178 afs_analyze.o: $(TOP_SRC_AFS)/afs_analyze.c
180 afs_axscache.o: $(TOP_SRC_AFS)/afs_axscache.c
182 afs_buffer.o: $(TOP_SRC_AFS)/afs_buffer.c
184 afs_cell.o: $(TOP_SRC_AFS)/afs_cell.c
186 afs_conn.o: $(TOP_SRC_AFS)/afs_conn.c
188 afs_dcache.o: $(TOP_SRC_AFS)/afs_dcache.c
190 afs_dynroot.o: $(TOP_SRC_AFS)/afs_dynroot.c
192 afs_init.o: $(TOP_SRC_AFS)/afs_init.c
194 afs_mariner.o: $(TOP_SRC_AFS)/afs_mariner.c
196 afs_osidnlc.o: $(TOP_SRC_AFS)/afs_osidnlc.c
198 afs_osi.o: $(TOP_SRC_AFS)/afs_osi.c
200 afs_osi_alloc.o: $(TOP_SRC_AFS)/afs_osi_alloc.c
202 afs_osi_pag.o: $(TOP_SRC_AFS)/afs_osi_pag.c
204 afs_osi_uio.o: $(TOP_SRC_AFS)/afs_osi_uio.c
206 afs_osi_vget.o: $(TOP_SRC_AFS)/afs_osi_vget.c
208 afs_segments.o: $(TOP_SRC_AFS)/afs_segments.c
210 afs_server.o: $(TOP_SRC_AFS)/afs_server.c
212 afs_user.o: $(TOP_SRC_AFS)/afs_user.c
214 afs_util.o: $(TOP_SRC_AFS)/afs_util.c
216 afs_vcache.o: $(TOP_SRC_AFS)/afs_vcache.c
218 afs_vnop_access.o: $(TOP_SRC_VNOPS)/afs_vnop_access.c
220 afs_vnop_attrs.o: $(TOP_SRC_VNOPS)/afs_vnop_attrs.c
222 afs_vnop_create.o: $(TOP_SRC_VNOPS)/afs_vnop_create.c
224 afs_vnop_dirops.o: $(TOP_SRC_VNOPS)/afs_vnop_dirops.c
226 afs_vnop_fid.o: $(TOP_SRC_VNOPS)/afs_vnop_fid.c
228 afs_vnop_flock.o: $(TOP_SRC_VNOPS)/afs_vnop_flock.c
230 afs_vnop_link.o: $(TOP_SRC_VNOPS)/afs_vnop_link.c
232 afs_vnop_lookup.o: $(TOP_SRC_VNOPS)/afs_vnop_lookup.c
234 afs_vnop_open.o: $(TOP_SRC_VNOPS)/afs_vnop_open.c
236 afs_vnop_read.o: $(TOP_SRC_VNOPS)/afs_vnop_read.c
238 afs_vnop_readdir.o: $(TOP_SRC_VNOPS)/afs_vnop_readdir.c
240 afs_vnop_remove.o: $(TOP_SRC_VNOPS)/afs_vnop_remove.c
242 afs_vnop_rename.o: $(TOP_SRC_VNOPS)/afs_vnop_rename.c
244 afs_vnop_strategy.o: $(TOP_SRC_VNOPS)/afs_vnop_strategy.c
246 afs_vnop_symlink.o: $(TOP_SRC_VNOPS)/afs_vnop_symlink.c
248 afs_vnop_write.o: $(TOP_SRC_VNOPS)/afs_vnop_write.c
250 afs_volume.o: $(TOP_SRC_AFS)/afs_volume.c
252 rx_rdwr.o: $(TOP_SRC_RX)/rx_rdwr.c
254 afs_uuid.o: $(TOP_SRCDIR)/util/uuid.c
255 $(CRULE2) -o afs_uuid.o
256 xdr_afsuuid.o: $(TOP_SRCDIR)/rx/xdr_afsuuid.c
259 # these files are not to be optimized - subject to change.
260 afs_cbqueue.o: $(TOP_SRC_AFS)/afs_cbqueue.c
262 afs_callback.o: $(TOP_SRC_AFS)/afs_callback.c
264 afs_chunk.o: $(TOP_SRC_AFS)/afs_chunk.c
266 afs_daemons.o: $(TOP_SRC_AFS)/afs_daemons.c
268 afs_dir.o: $(TOP_SRCDIR)/dir/dir.c
269 $(CRULE1) -o afs_dir.o
270 AFS_component_version_number.o: AFS_component_version_number.c
272 afs_lock.o: $(TOP_SRC_AFS)/afs_lock.c
274 afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
276 afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
278 bg-fcrypt.o: $(TOP_SRC_RXKAD)/bg-fcrypt.c
280 rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
282 rxkad_common.o: $(TOP_SRC_RXKAD)/rxkad_common.c
284 afs_exporter.o: $(TOP_SRC_AFS)/afs_exporter.c
286 afs_nfsclnt.o: $(TOP_SRC_AFS)/afs_nfsclnt.c
288 afs_nfsdisp.o: $(TOP_SRC_AFS)/afs_nfsdisp.c
290 rx.o: $(TOP_SRC_RX)/rx.c
292 rx_clock.o: $(TOP_SRC_RX)/rx_clock.c
294 rx_event.o: $(TOP_SRC_RX)/rx_event.c
296 rx_globals.o: $(TOP_SRC_RX)/rx_globals.c
298 rx_misc.o: $(TOP_SRC_RX)/rx_misc.c
300 rx_null.o: $(TOP_SRC_RX)/rx_null.c
302 rx_getaddr.o: $(TOP_SRC_RX)/rx_getaddr.c
304 rx_packet.o: $(TOP_SRC_RX)/rx_packet.c
306 xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c
308 Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c
310 rxstat.o: $(TOP_SRC_RXSTAT)/rxstat.c
312 Krxstat.ss.o: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
314 Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
316 Kvice.xdr.o: $(TOP_OBJ_FSINT)/Kvice.xdr.c
318 Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
320 afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
322 xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
324 xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
326 xdr_int32.o: $(TOP_SRC_RX)/xdr_int32.c
328 xdr_int64.o: $(TOP_SRC_RX)/xdr_int64.c
330 xdr.o: $(TOP_SRC_RX)/xdr.c
332 Kvldbint.cs.o: ${TOP_OBJ_VLSERVER}/Kvldbint.cs.c
334 Kvldbint.xdr.o: ${TOP_OBJ_VLSERVER}/Kvldbint.xdr.c
335 $(CRULE1) -DAFS_UUID_XG
336 rx_kmutex.o: $(TOP_SRC_RX)/${MKAFS_OSTYPE}/rx_kmutex.c
338 rx_knet.o: $(TOP_SRC_RX)/${MKAFS_OSTYPE}/rx_knet.c
340 rx_kcommon.o: $(TOP_SRC_RX)/rx_kcommon.c
343 # Files which do not contain NFS translator code.
344 afs_call.o: $(TOP_SRC_AFS)/afs_call.c
345 $(CRULE1) -DAFS_NONFSTRANS
346 afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
347 $(CRULE1) -DAFS_NONFSTRANS
349 # NFS Translator versions of the above code.
350 afs_call_nfs.o: $(TOP_SRC_AFS)/afs_call.c
351 $(CRULE1) -o afs_call_nfs.o
352 afs_pioctl_nfs.o: $(TOP_SRC_AFS)/afs_pioctl.c
353 $(CRULE1) -o afs_pioctl_nfs.o
355 # Files which are specific to particular architectures/targets
356 # but have common build rules. Place here instead of duplicating
357 # in the per-platform Makefiles.
358 osi_groups.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_groups.c
360 osi_inode.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_inode.c
362 osi_file.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_file.c
364 osi_sleep.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_sleep.c
366 osi_misc.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_misc.c
368 osi_vfsops_nfs.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_vfsops_nfs.c
369 $(CRULE1) -o osi_vfsops_nfs.o
370 osi_vfsops.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_vfsops.c
371 $(CRULE1) -DAFS_NONFSTRANS
372 osi_vm.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_vm.c
374 osi_vnodeops.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_vnodeops.c
376 osi_debug.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_debug.c
378 osi_module.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_module.c
380 osi_sysctl.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_sysctl.c
382 osi_alloc.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_alloc.c
384 osi_cred.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_cred.c
386 osi_idbg.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_idbg.c
388 osi_config.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_config.c
390 osi_timeout.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_timeout.c
396 -$(RM) -rf STATIC* MODLOAD*
397 -$(RM) -rf h net netinet rpc ufs machine inet nfs sys afs afsint asm asm-generic config rx linux
399 include ${TOP_OBJDIR}/src/config/Makefile.version