# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
-
-# System calls.
-
-DESTDIR=@DESTDIR@
-SRCDIR=@SRCDIR@
-TOP_SRCDIR=@TOP_SRCDIR@
-SYS_NAME=@AFS_SYSNAME@
-
-SHELL = /bin/sh
-
-include ../config/Makefile.${SYS_NAME}
-
-UKERNELDIR=../libuafs/
-CFLAGS= ${DBUG} -I${TOP_SRCDIR}/config -I${SRCDIR}/include ${XCFLAGS}
-SFLAGS=-P -I${SRCDIR}/include
-LIBS= libsys.a ${SRCDIR}/lib/librx.a libsys.a ${SRCDIR}/lib/liblwp.a ${SRCDIR}/lib/afs/util.a ${XLIBS}
-UKSRCS=afsl.exp
-
-OBJECTS= afssyscalls.o syscall.o
+#
+# Portions Copyright (c) 2003 Apple Computer, Inc.
+
+srcdir=@srcdir@
+include @TOP_OBJDIR@/src/config/Makefile.config
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+
+CFLAGS=${DBUG} ${COMMON_INCL} ${XCFLAGS} ${ARCHFLAGS}
+SFLAGS=-I${TOP_INCDIR}
+LIBS=libsys.a ${TOP_LIBDIR}/librx.a libsys.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a ${XLIBS}
+
+OBJECTS= afssyscalls.o setpag.o pioctl.o glue.o \
+ AFS_component_version_number.o
+SHLIBOBJS = picobj/setpag.o picobj/glue.o syscall.o
RMTOBJS=rmtsysnet.o rmtsysc.o rmtsys.cs.o rmtsys.xdr.o rmtsys.ss.o rmtsyss.o
-include ../config/Makefile.version
+all: \
+ rmtsysd \
+ pagsh \
+ pagsh.krb \
+ ${TOP_INCDIR}/afs/afssyscalls.h \
+ ${TOP_INCDIR}/afs/afs.exp \
+ ${TOP_INCDIR}/afs/xfsattrs.h \
+ ${TOP_INCDIR}/afs/sys_prototypes.h \
+ ${TOP_LIBDIR}/afs.exp \
+ ${TOP_LIBDIR}/libsys.a \
+ ${KERNELDIR}/afs/xfsattrs.h \
+ ${UKERNELDIR}/afs/afsl.exp
+
+generated: \
+ rmtsys.cs.c rmtsys.ss.c rmtsys.xdr.c rmtsys.h \
+ Krmtsys.cs.c Krmtsys.xdr.c Krmtsys.h
+
+${TOP_INCDIR}/afs/afssyscalls.h: afssyscalls.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/rmtsys.h: rmtsys.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/afs.exp: afs.exp
+ @set -x; case ${SYS_NAME} in \
+ rs_aix* ) \
+ ${INSTALL_DATA} $? $@ ;; \
+ esac
-all: libsys.a ${DESTDIR}/etc/rmtsysd ${DESTDIR}/include/afs/afssyscalls.h \
- ${DESTDIR}/bin/pagsh ${DESTDIR}/bin/pagsh.krb
+${TOP_LIBDIR}/afs.exp: afs.exp
+ @set -x; case ${SYS_NAME} in \
+ rs_aix* ) \
+ ${INSTALL_DATA} $? $@ ;; \
+ esac
-${DESTDIR}/etc/rmtsysd: rmtsysd
- ${INSTALL} -s rmtsysd ${DESTDIR}/etc/rmtsysd
+${TOP_INCDIR}/afs/xfsattrs.h: xfsattrs.h
+ ${INSTALL_DATA} $? $@
-${DESTDIR}/bin/pagsh: pagsh
- ${INSTALL} -s pagsh ${DESTDIR}/bin/pagsh
+${TOP_INCDIR}/afs/sys_prototypes.h: sys_prototypes.h
+ ${INSTALL_DATA} $? $@
-${DESTDIR}/bin/pagsh.krb: pagsh.krb
- ${INSTALL} -s pagsh.krb ${DESTDIR}/bin/pagsh.krb
+${TOP_LIBDIR}/libsys.a: libsys.a
+ ${INSTALL_DATA} $? $@
-${DESTDIR}/include/afs/afssyscalls.h: afssyscalls.h
- ${INSTALL} afssyscalls.h ${DESTDIR}/include/afs/afssyscalls.h
+${UKERNELDIR}/afs/afsl.exp: afsl.exp
+ ${INSTALL} -d ${UKERNELDIR}/afs
+ @set -x; case ${SYS_NAME} in \
+ rs_aix* ) \
+ ${INSTALL_DATA} $? $@ ;; \
+ esac
-libsys.a: ${OBJECTS} ${RMTOBJS} AFS_component_version_number.o
- -$(RM) -f $@
- $(AR) crv $@ ${OBJECTS} ${RMTOBJS} AFS_component_version_number.o
- $(RANLIB) $@
- case "${SYS_NAME}" in \
- rs_aix*) \
- $(AR) crv $@ afsl.exp;; \
+${KERNELDIR}/afs/xfsattrs.h: xfsattrs.h
+ ${INSTALL} -d ${KERNELDIR}/afs
+ ${INSTALL_DATA} $? $@
+
+depinstall: \
+ ${TOP_INCDIR}/afs/afssyscalls.h \
+ ${TOP_INCDIR}/afs/rmtsys.h \
+ ${TOP_INCDIR}/afs/afs.exp \
+ ${TOP_INCDIR}/afs/xfsattrs.h \
+ ${TOP_INCDIR}/afs/sys_prototypes.h \
+ ${TOP_LIBDIR}/afs.exp \
+ ${KERNELDIR}/afs/xfsattrs.h \
+ ${UKERNELDIR}/afs/afsl.exp \
+ Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c rmtsys.h
+
+libsys.a: ${OBJECTS} ${RMTOBJS} syscall.o afsl.exp AFS_component_version_number.o
+ $(RM) -f $@
+ @set -e; set -x; case "$(SYS_NAME)" in \
+ sgi_* | hp_ux10*) \
+ ${AR} crv $@ ${OBJECTS} ${RMTOBJS} syscall.o ;; \
+ rs_aix*) \
+ ${AR} crv $@ ${OBJECTS} ${RMTOBJS} syscall.o afsl.exp ;; \
+ *) \
+ ${AR} crv $@ ${OBJECTS} ${RMTOBJS} ;; \
esac
+ $(RANLIB) $@
-system: install
+tests: pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
-kinstall:
- case "${SYS_NAME}" in \
- rs_aix*) \
- ${INSTALL} afs.exp ${DESTDIR}/lib/afs;; \
- sgi_6? ) \
- ${INSTALL} xfsattrs.h ../libafs/afs;; \
- *) \
- echo No $@ source here;; \
+syscall.o: syscall.s
+ @set -e; set -x; case "$(SYS_NAME)" in \
+ sgi_*) \
+ ${CC} ${CFLAGS} -c ${srcdir}/syscall.s; \
+ ;; \
+ rs_aix* | hp_ux10*) \
+ $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \
+ as -o syscall.o syscall.ss; \
+ $(RM) syscall.ss; \
+ ;; \
+ *) \
+ touch syscall.o ; \
+ ;; \
esac
-install: all kinstall ukinstall
- ${INSTALL} libsys.a ${DESTDIR}/lib/afs
- case "${SYS_NAME}" in \
- sgi_6? ) \
- ${INSTALL} xfsattrs.h ${DESTDIR}/include/afs;; \
- esac
+afssyscalls.o: afssyscalls.c afssyscalls.h
+ ${CCOBJ} ${CFLAGS} -c ${srcdir}/afssyscalls.c
-ukinstall webinstall: ${UKERNELDIR}/afs ${UKSRCS}
- ${INSTALL} ${UKSRCS} ${UKERNELDIR}/afs
+glue.o: glue.c afssyscalls.h
+ ${CCOBJ} ${CFLAGS} -c ${srcdir}/glue.c
-${UKERNELDIR}/afs:
- mkdir -p $@
+setpag.o: setpag.c afssyscalls.h
+ ${CCOBJ} ${CFLAGS} -c ${srcdir}/setpag.c
-tests: pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
+pioctl.o: pioctl.c afssyscalls.h
+ ${CCOBJ} ${CFLAGS} -c ${srcdir}/pioctl.c
-syscall.o: syscall.s
- case "$(SYS_NAME)" in \
- sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sunx86_54) \
- /usr/ccs/lib/cpp ${SFLAGS} syscall.s syscall.ss; \
- as -o syscall.o syscall.ss; \
- $(RM) syscall.ss;; \
- sgi_* |ppc_darwin* ) \
- ${CC} ${CFLAGS} -c syscall.s;; \
- alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux?? ) \
- ${AS} -P ${CFLAGS} -D_NO_PROTO -DMACH -DOSF -nostdinc -traditional -DASSEMBLER syscall.s; \
- ${AS} -o syscall.o syscall.i; \
- $(RM) -f syscall.ss syscall.i;; \
- hp_ux11? ) \
- touch syscall.o;; \
- i386_fbsd* ) \
- touch syscall.o;; \
- *) \
- /lib/cpp ${SFLAGS} syscall.s syscall.ss; \
- as -o syscall.o syscall.ss; \
- $(RM) syscall.ss;; \
- esac
+rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
+rmtsysd: AFS_component_version_number.o afs.exp afsl.exp
+rmtsys.cs.c: rmtsys.xg
+ ${RXGEN} -A -C -o $@ ${srcdir}/rmtsys.xg
-afssyscalls.o: afssyscalls.c afssyscalls.h
- ${CC} ${CFLAGS} -c afssyscalls.c
+rmtsys.ss.c: rmtsys.xg
+ ${RXGEN} -A -S -o $@ ${srcdir}/rmtsys.xg
-rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
-rmtsysd: AFS_component_version_number.o
+rmtsys.xdr.c: rmtsys.xg
+ ${RXGEN} -A -c -o $@ ${srcdir}/rmtsys.xg
+
+rmtsys.h: rmtsys.xg
+ ${RXGEN} -A -h -o $@ ${srcdir}/rmtsys.xg
+
+Krmtsys.cs.c: rmtsys.xg Krmtsys.h
+ ${RXGEN} -A -k -C -o Krmtsys.cs.c ${srcdir}/rmtsys.xg
-rmtsys.cs.c rmtsys.ss.c rmtsys.xdr.c rmtsys.h: rmtsys.xg
- ${SRCDIR}/bin/rxgen rmtsys.xg
+Krmtsys.xdr.c: rmtsys.xg
+ ${RXGEN} -A -k -c -o Krmtsys.xdr.c ${srcdir}/rmtsys.xg
+
+Krmtsys.h: rmtsys.xg
+ ${RXGEN} -A -k -h -o Krmtsys.h ${srcdir}/rmtsys.xg
rmtsysd: rmtsysd.o libsys.a
${CC} ${CFLAGS} -o rmtsysd rmtsysd.o ${LIBS}
-
-pagsh: libsys.a AFS_component_version_number.o
- ${CC} ${CFLAGS} -c pagsh.c
+pagsh: libsys.a AFS_component_version_number.o pagsh.c
+ ${CC} ${CFLAGS} -c ${srcdir}/pagsh.c
${CC} ${CFLAGS} -o pagsh pagsh.o ${LIBS}
-pagsh.krb: libsys.a
- ${CC} ${CFLAGS} -c pagsh.c -DAFS_KERBEROS_ENV
- ${CC} ${CFLAGS} -o pagsh.krb pagsh.o ${LIBS}
+pagsh.krb: libsys.a pagsh.c ${TOP_LIBDIR}/libauth.krb.a ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libdes.a
+ ${CC} ${CFLAGS} -o pagsh.krb.o -c ${srcdir}/pagsh.c -DAFS_KERBEROS_ENV
+ ${CC} ${CFLAGS} -o pagsh.krb pagsh.krb.o ${TOP_LIBDIR}/libauth.krb.a ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libdes.a ${LIBS}
+#
# Test programs.
+#
iinc: iinc.c
- case "${SYS_NAME}" in \
- sgi_6*) \
- $(CC) -o iinc ${CFLAGS} iinc.c libsys.a;; \
- *) \
- $(CC) -o iinc -I${SRCDIR}/include iinc.c ${LIBS} ${XLIBS};; \
- esac
+ $(CC) -o iinc ${CFLAGS} ${srcdir}/iinc.c ${LIBS}
+
idec: idec.c AFS_component_version_number.c
- case "${SYS_NAME}" in \
- sgi_6* ) \
- $(CC) -o idec ${CFLAGS} idec.c libsys.a;; \
- *) \
- $(CC) -o idec -I${SRCDIR}/include idec.c ${LIBS} ${XLIBS};; \
- esac
+ $(CC) -o idec ${CFLAGS} ${srcdir}/idec.c ${LIBS}
+
icreate:icreate.c AFS_component_version_number.c
- case "${SYS_NAME}" in \
- sgi_6* ) \
- $(CC) -o icreate ${CFLAGS} icreate.c libsys.a;; \
- *) \
- $(CC) -o icreate -I${SRCDIR}/include icreate.c ${XLIBS};; \
- esac
+ $(CC) -o icreate ${CFLAGS} ${srcdir}/icreate.c ${LIBS}
+
iopen: iopen.c AFS_component_version_number.c
- case "${SYS_NAME}" in \
- sgi_6* ) \
- $(CC) -o iopen ${CFLAGS} iopen.c libsys.a;; \
- *) \
- $(CC) -o iopen -I${SRCDIR}/include iopen.c ${XLIBS};; \
- esac
+ $(CC) -o iopen ${CFLAGS} ${srcdir}/iopen.c ${LIBS}
+
iread: iread.c AFS_component_version_number.c
- case "${SYS_NAME}" in \
- sgi_6* ) \
- ${CC} -o iread ${CFLAGS} iread.c libsys.a;; \
- *) \
- ${CC} -o iread -I${SRCDIR}/include iread.c ${XLIBS};; \
- esac
+ ${CC} -o iread ${CFLAGS} ${srcdir}/iread.c ${LIBS}
+
iwrite: iwrite.c AFS_component_version_number.c
- case "${SYS_NAME}" in \
- sgi_6* ) \
- ${CC} -o iwrite ${CFLAGS} iwrite.c libsys.a;; \
- *) \
- ${CC} -o iwrite -I${SRCDIR}/include iwrite.c ${XLIBS};; \
- esac
+ ${CC} -o iwrite ${CFLAGS} ${srcdir}/iwrite.c ${LIBS}
+
istat: istat.c AFS_component_version_number.c
- case "${SYS_NAME}" in \
- sgi_6* ) \
- $(CC) -o istat ${CFLAGS} istat.c libsys.a;; \
- *) \
- $(CC) -o istat -I${SRCDIR}/include istat.c ${XLIBS};; \
- esac
+ $(CC) -o istat ${CFLAGS} ${srcdir}/istat.c ${LIBS}
+
fixit: fixit.c AFS_component_version_number.c
- $(CC) -o fixit -IDEST/include fixit.c libsys.a
+ $(CC) -o fixit ${CFLAGS} ${srcdir}/fixit.c ${LIBS}
xfsinode: xfsinode.c AFS_component_version_number.c
- case "${SYS_NAME}" in \
+ @set -x; case "${SYS_NAME}" in \
sgi_62 | sgi_64 ) \
- $(CC) -o xfsinode ${CFLAGS} xfsinode.c libsys.a;; \
+ $(CC) -o xfsinode ${CFLAGS} ${srcdir}/xfsinode.c ${LIBS}
+ esac
+
+afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
+ @set -x; case ${SYS_NAME} in \
+ rs_aix[56]* ) \
+ cp -p ${srcdir}/afs5.exp afs.exp ;; \
+ rs_aix* ) \
+ cp -p ${srcdir}/afs4.exp afs.exp ;; \
+ * ) \
+ touch afs.exp ;; \
esac
+afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
+ @set -x; case ${SYS_NAME} in \
+ rs_aix[56]* ) \
+ cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
+ rs_aix* ) \
+ cp -p ${srcdir}/afsl4.exp afsl.exp ;; \
+ * ) \
+ touch afsl.exp ;; \
+ esac
+
+#
+# Installation targets
+#
+install: libsys.a rmtsysd afssyscalls.h pagsh pagsh.krb afs.exp xfsattrs.h
+ ${INSTALL} -d ${DESTDIR}${libdir}/afs
+ ${INSTALL} -d ${DESTDIR}${sbindir}
+ ${INSTALL} -d ${DESTDIR}${includedir}/afs
+ ${INSTALL_DATA} libsys.a ${DESTDIR}${libdir}/afs/libsys.a
+ ${INSTALL_PROGRAM} rmtsysd ${DESTDIR}${sbindir}/rmtsysd
+ ${INSTALL_DATA} afssyscalls.h ${DESTDIR}${includedir}/afs/afssyscalls.h
+ ${INSTALL_PROGRAM} pagsh ${DESTDIR}${bindir}/pagsh
+ ${INSTALL_PROGRAM} pagsh.krb ${DESTDIR}${bindir}/pagsh.krb
+ ${INSTALL_DATA} xfsattrs.h ${DESTDIR}${includedir}/afs/xfsattrs.h
+ @set -x; case ${SYS_NAME} in \
+ rs_aix*) \
+ ${INSTALL_DATA} afs.exp ${DESTDIR}${includedir}/afs/afs.exp;; \
+ esac
+dest: libsys.a rmtsysd afssyscalls.h pagsh pagsh.krb afs.exp xfsattrs.h
+ ${INSTALL} -d ${DEST}/lib/afs
+ ${INSTALL} -d ${DEST}/etc
+ ${INSTALL} -d ${DEST}/bin
+ ${INSTALL} -d ${DEST}/include/afs
+ ${INSTALL_DATA} libsys.a ${DEST}/lib/afs/libsys.a
+ ${INSTALL_PROGRAM} rmtsysd ${DEST}/etc/rmtsysd
+ ${INSTALL_PROGRAM} pagsh ${DEST}/bin/pagsh
+ ${INSTALL_PROGRAM} pagsh.krb ${DEST}/bin/pagsh.krb
+ ${INSTALL_DATA} afssyscalls.h ${DEST}/include/afs/afssyscalls.h
+ ${INSTALL_DATA} xfsattrs.h ${DEST}/include/afs/xfsattrs.h
+ @set -x; case ${SYS_NAME} in \
+ rs_aix*) \
+ ${INSTALL_DATA} afs.exp ${DEST}/include/afs/afs.exp ;; \
+ esac
+
+#
+# Misc targets
+#
+include ../config/Makefile.version
clean:
$(RM) -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
- rmtsysd AFS_component_version_number.c pagsh pagsh.krb
+ rmtsysd AFS_component_version_number.c pagsh pagsh.krb \
+ afs.exp afsl.exp libafssetpag.* Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c
+ $(RM) -rf picobj