srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
-
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
# OS specific object files:
AFS_OS_OBJS = \
osi_assem.o \
osi_config.o \
+ osi_gcpags.o \
osi_groups.o \
osi_file.o \
osi_inode.o \
osi_vfsops_iauth.o \
osi_vnodeops_iauth.o
+AFS_OS_CLEAN = \
+ *.exp \
+ export.h
+
# System specific build commands
STRIP = /bin/strip
DBUG = -g
IMPORTS = -bI:/lib/kernex.exp -bI:/lib/syscalls.exp -bI:/lib/sockets.exp \
-bI:/lib/netinet.exp \
- -bI:${TOP_LIBDIR}/extras.exp -bI:${TOP_LIBDIR}/export.exp
+ -bI:${TOP_LIBDIR}/extras.exp
+IMPORTS32 = -bI:${TOP_LIBDIR}/export.exp
+IMPORTS64 = -bI:${TOP_LIBDIR}/export64.exp
KDEFS = -U_IBMR2 -D_POWER -D_AIX -DNLS -D_NLS -DMSG -D__STR31__ -Daiws \
-D_POWER_RS -D_POWER_PC -D_POWER_RS1 -D_POWER_RS2 -D_POWER_RSC \
-D_POWER_601 -D_POWER_603 -D_POWER_604 -D_THREADS -M -D_KERNEL \
-DGETMOUNT -H8 -DAFS -DAFS_COMMON -D_VOPS -D_SUN -DKERNEL
LDSTUFF= -b"binder:/usr/lib/bind glink:/usr/lib/glink.o" -bnoentry -b h:4 \
-D0 -T512
+LDSTUFF64= -b"binder:/usr/lib/bind glink:/usr/lib/glink64.o" -bnoentry -b h:4 \
+ -D0 -T512
LDFLAGS = -m -eafs_config -bexport:${TOP_LIBDIR}/afs.exp ${IMPORTS} \
- -lsys -lcsys
+ -lsys -lcsys ${KLDOPTS}
CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(KDEFS) $(KOPTS) ${DBUG}
# Name of directory to hold object files and libraries.
-KOBJ = MODLOAD
+KOBJ = MODLOAD MODLOAD64
# This tells Makefile.common to use it's single directory build target.
-COMPDIRS = single_compdir
-INSTDIRS = single_instdir
-DESTDIRS = single_destdir
+COMPDIRS = aix_compdirs
+INSTDIRS = aix_instdirs
+DESTDIRS = aix_destdirs
+
+<rs_aix42>
+KMODS=32
+<rs_aix50 rs_aix51 rs_aix52 rs_aix53>
+KMODS=32 64
+<rs_aix61>
+KMODS=64
+<all>
include Makefile.common
setup:
- -mkdir $(KOBJ)
- -$(RM) $(KOBJ)/Makefile $(KOBJ)/Makefile.common $(KOBJ)/config
- ln -fs ../Makefile $(KOBJ)/Makefile
- ln -fs ../Makefile.common $(KOBJ)/Makefile.common
- ln -fs ../config $(KOBJ)/config
-$(RM) -f h net netinet rpc ufs nfs machine sys
ln -fs /usr/include/sys h
ln -fs /usr/include/net net
ln -fs /usr/include/sys sys
ln -fs /usr/include/nfs nfs
ln -fs /usr/include/jfs ufs
-
+ for m in ${KMODS} ; do \
+ KDIR=MODLOAD-$$m ; \
+ mkdir -p $${KDIR} ; \
+ ln -fs ../Makefile $${KDIR}/Makefile ; \
+ ln -fs ../Makefile.common $${KDIR}/Makefile.common ; \
+ ln -fs ../config $${KDIR}/config ; \
+ done
+
+${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
+ for m in ${KMODS} ; do \
+ KDIR=MODLOAD-$$m ; \
+ echo Building in directory: $${KDIR} ; \
+ if [ "$$m" = "32" ] ; then \
+ KOPTS="-q32" ; \
+ KLDOPTS="-b32" ; \
+ KASOPTS="32" ; \
+ TARG="afs.ext.32" ; \
+ elif [ "$$m" = "64" ] ; then \
+ KOPTS="-q64 -DAFS_64BIT_KERNEL -D__64BIT_KERNEL" ; \
+ KLDOPTS="-b64" ; \
+ KASOPTS="64" ; \
+ TARG="afs.ext.64" ; \
+ fi ; \
+ cd $${KDIR} ; \
+ $(MAKE) DEST="$${DEST}" KOPTS="$${KOPTS}" KLDOPTS="$${KLDOPTS}" KASOPTS="$${KASOPTS}" $@_$${TARG} || exit $$?; \
+ cd ../ ; \
+ done
+
+aix_compdirs_afs.ext.32: afs.ext.32
+aix_compdirs_afs.ext.64: afs.ext.64
+aix_instdirs_afs.ext.32: install_afs.ext.32
+aix_instdirs_afs.ext.64: install_afs.ext.64
+aix_destdirs_afs.ext.32: dest_afs.ext.32
+aix_destdirs_afs.ext.64: dest_afs.ext.64
+
+dest_afs.ext.32: afs.ext.32
+ ${INSTALL} -d $(DEST)/root.client/usr/vice/etc/dkload
+ $(INSTALL) -m 644 afs.ext.32 $(DEST)/root.client/usr/vice/etc/dkload/afs.ext.32
+ -${STRIP} -X 32 $(DEST)/root.client/usr/vice/etc/dkload/afs.ext.32
+ $(INSTALL) -m 644 afs.ext.32.map $(DEST)/root.client/usr/vice/etc/dkload/afs.ext.32.map
+ echo Install for 32-bit Kernel Complete
+
+dest_afs.ext.64: afs.ext.64
+ ${INSTALL} -d $(DEST)/root.client/usr/vice/etc/dkload
+ $(INSTALL) -m 644 afs.ext.64 $(DEST)/root.client/usr/vice/etc/dkload/afs.ext.64
+ -${STRIP} -X 64 $(DEST)/root.client/usr/vice/etc/dkload/afs.ext.32
+ $(INSTALL) -m 644 afs.ext.64.map $(DEST)/root.client/usr/vice/etc/dkload/afs.ext.64.map
+ echo Install for 64-bit Kernel Complete
+
+install_afs.ext.32: afs.ext.32
+ ${INSTALL} -d $(DESTDIR)$(afskerneldir)
+ $(INSTALL) -m 644 afs.ext.32 $(DESTDIR)$(afskerneldir)/afs.ext.32
+ -${STRIP} -X 32 $(DESTDIR)$(afskerneldir)/afs.ext.32
+ $(INSTALL) -m 644 afs.ext.32.map $(DESTDIR)$(afskerneldir)/afs.ext.32.map
+ echo Install for 32-bit Kernel Complete
+
+install_afs.ext.64: afs.ext.64
+ ${INSTALL} -d $(DESTDIR)$(afskerneldir)
+ $(DESTDIR)$(afskerneldir)/afs.ext.64
+ $(INSTALL) -m 644 afs.ext.64 $(DESTDIR)$(afskerneldir)/afs.ext.64
+ -${STRIP} -X 64 $(DESTDIR)$(afskerneldir)/afs.ext.64
+ $(INSTALL) -m 644 afs.ext.64.map $(DESTDIR)$(afskerneldir)/afs.ext.64.map
+ echo Install for 64-bit Kernel Complete
# Standard AFS->NFS translator support is removed in AFS 3.5 in favor of
# the iauth authentication mechanism. The model was changed by IBM in the
# later 4.1.x (if they are ever made) and AIX 4.2.1 (and later AIX 4.2.x if
# they are ever made. AIX 4.3 also uses the iauth translator.
-LIBAFSIAUTH = afs.ext.iauth
-LIBAFS = afs.ext
+LIBAFSIAUTH = afs.ext.32.iauth
DEST_LIBAFSIAUTH = $(DEST)/root.client/usr/vice/etc/dkload/$(LIBAFSIAUTH)
-DEST_LIBAFS = $(DEST)/root.client/usr/vice/etc/dkload/$(LIBAFS)
INST_LIBAFSIAUTH = ${DESTDIR}${afskerneldir}/$(LIBAFSIAUTH)
-INST_LIBAFS = ${DESTDIR}${afskerneldir}/$(LIBAFS)
-$(DEST_LIBAFS): $(LIBAFS)
- $(INSTALL) -f $? $@
- -${STRIP} $@
- $(INSTALL) -f $?.map $@.map
-
$(DEST_LIBAFSIAUTH): $(LIBAFSIAUTH)
- $(INSTALL) -f $? $@
- -${STRIP} $@
- $(INSTALL) -f $?.map $@.map
-
-$(INST_LIBAFS): $(LIBAFS)
- $(INSTALL) -f $? $@
- -${STRIP} $@
- $(INSTALL) -f $?.map $@.map
-
+
$(INST_LIBAFSIAUTH): $(LIBAFSIAUTH)
- $(INSTALL) -f $? $@
- -${STRIP} $@
- $(INSTALL) -f $?.map $@.map
-
+
$(LIBAFSIAUTH): $(AFSAOBJS) $(AFSIAUTHOBJS)
${LD} ${LDSTUFF} -bloadmap:afs.ext.iauth.loadmap \
- -bmap:afs.ext.iauth.map -o afs.ext.iauth \
- ${AFSAOBJS} ${AFSIAUTHOBJS} ${LIBS} ${LDFLAGS}
-
-$(LIBAFS): $(AFSAOBJS) $(AFSNOIAUTHOBJS)
- ${LD} ${LDSTUFF} -bloadmap:afs.ext.loadmap \
- -bmap:afs.ext.map -o afs.ext \
- ${AFSAOBJS} $(AFSNOIAUTHOBJS) ${LIBS} ${LDFLAGS}
-
-libafs: $(LIBAFS) $(LIBAFSIAUTH)
-install_libafs: $(INST_LIBAFS) $(INST_LIBAFSIAUTH)
-dest_libafs: $(DEST_LIBAFS) $(DEST_LIBAFSIAUTH)
-
-
-osi_assem.o: ${AFS}/osi_assem.s
- ${AS} -o osi_assem.o ${AFS}/osi_assem.s
-osi_config.o: $(AFS)/osi_config.c
- $(CRULE1)
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1)
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1)
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1)
-osi_misc.o: $(AFS)/osi_misc.c
- $(CRULE1)
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1)
-osi_timeout.o: $(AFS)/osi_timeout.c
- $(CRULE1)
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1)
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1)
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1)
+ -bmap:afs.ext.iauth.map -o afs.ext.iauth \
+ ${AFSAOBJS} ${AFSIAUTHOBJS} ${LIBS} ${LDFLAGS} ${IMPORTS32}
+
+afs.ext.32: $(AFSAOBJS) $(AFSNOIAUTHOBJS)
+ ${LD} ${LDSTUFF} -bloadmap:afs.ext.32.loadmap \
+ -bmap:afs.ext.32.map -o afs.ext.32 \
+ ${AFSAOBJS} ${AFSNOIAUTHOBJS} ${LIBS} \
+ ${LDFLAGS} ${IMPORTS32}
+
+afs.ext.64: $(AFSAOBJS) $(AFSNOIAUTHOBJS)
+ ${LD} ${LDSTUFF64} -b64 -bloadmap:afs.ext.64.loadmap \
+ -bmap:afs.ext.64.map -o afs.ext.64 \
+ ${AFSAOBJS} ${AFSNOIAUTHOBJS} ${LIBS} \
+ ${LDFLAGS} ${IMPORTS64}
+
+libafs: $(LIBAFS) $(LIBAFS64) $(LIBAFSIAUTH)
+
+install_libafs: $(INST_LIBAFSIAUTH)
+ ${INSTALL} -d ${DESTDIR}${afskerneldir}
+ $(INSTALL) -m 644 $(LIBAFSIAUTH) $(INST_LIBAFSIAUTH)
+ -${STRIP} $(INST_LIBAFSIAUTH)
+ $(INSTALL) -m 644 $(LIBAFSIAUTH).map $(INST_LIBAFSIAUTH).map
+
+dest_libafs: $(DEST_LIBAFSIAUTH)
+ ${INSTALL} -d $(DEST)/root.client/usr/vice/etc/dkload
+ $(INSTALL) -m 644 $(LIBAFSIAUTH) $(DEST_LIBAFSIAUTH)
+ -${STRIP} $(DEST_LIBAFSIAUTH)
+ $(INSTALL) -m 644 $(LIBAFSIAUTH).map $(DEST_LIBAFSIAUTH).map
+
+osi_assem.o: osi_assem.s
+ ${AS} -a${KASOPTS} -o osi_assem.o osi_assem.s
+osi_assem.s: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_assem32.s $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_assem64.s
+ case bit${KASOPTS} in \
+ bit64 ) \
+ cp -p $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_assem64.s osi_assem.s ;; \
+ * ) \
+ cp -p $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_assem32.s osi_assem.s ;; \
+ esac
# Build rules for iauth objects.
-afs_call_iauth.o: $(AFS)/afs_call.c
+afs_call_iauth.o: $(TOP_SRCDIR)/afs/afs_call.c
$(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_call_iauth.o
-afs_nfsclnt_iauth.o: $(AFS)/afs_nfsclnt.c
+afs_nfsclnt_iauth.o: $(TOP_SRCDIR)/afs/afs_nfsclnt.c
$(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_nfsclnt_iauth.o
-afs_pioctl_iauth.o: $(AFS)/afs_pioctl.c
+afs_pioctl_iauth.o: $(TOP_SRCDIR)/afs/afs_pioctl.c
$(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_pioctl_iauth.o
-osi_vfsops_iauth.o: $(AFS)/osi_vfsops.c
+osi_vfsops_iauth.o: $(TOP_SRCDIR)/afs/osi_vfsops.c
$(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o osi_vfsops_iauth.o
-osi_vnodeops_iauth.o: $(AFS)/osi_vnodeops.c
+osi_vnodeops_iauth.o: $(TOP_SRCDIR)/afs/osi_vnodeops.c
$(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o osi_vnodeops_iauth.o