srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
+include @TOP_OBJDIR@/src/config/Makefile.shared
+
# API version. When something changes, increment as appropriate.
# Ignore at your own risk.
MAJOR = 1
-MINOR = 0
+MINOR = 1
-CC = ${MT_CC}
-INCLUDES = -I. -I${srcdir} -I../sys
-CFLAGS = ${COMMON_CFLAGS} ${INCLUDES} ${MT_CFLAGS} ${SHLIB_CFLAGS}
+MODULE_INCLUDE = -I. -I${srcdir} -I../sys
+SFLAGS = -I${TOP_INCDIR}
SYS = ${srcdir}/../sys
-SYSOBJS = glue.o pioctl.o setpag.o syscall.o
+SYSOBJS = glue.o pioctl.o setpag.o
LIBOBJS = kopenafs.o ${SYSOBJS} AFS_component_version_number.o
LIBKOPENAFS = libkopenafs.${SHLIB_SUFFIX}.${MAJOR}.${MINOR}
${TOP_INCDIR}/kopenafs.h
${TOP_LIBDIR}/${LIBKOPENAFS}: ${LIBKOPENAFS}
- ${INSTALL_DATA} ${LIBKOPENAFS} ${TOP_LIBDIR}/${LIBKOPENAFS}
- -ln -f -s ${LIBKOPENAFS} \
- ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}
- -ln -f -s ${LIBKOPENAFS} \
- ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
+ ../config/shlib-install -d ${TOP_LIBDIR} \
+ -l libkopenafs -M ${MAJOR} -m ${MINOR}
${TOP_LIBDIR}/libkopenafs.a: libkopenafs.a
${INSTALL_DATA} libkopenafs.a $@
${TOP_INCDIR}/kopenafs.h: kopenafs.h
- ${INSTALL_DATA} kopenafs.h $@
+ ${INSTALL_DATA} $? $@
glue.o: ${SYS}/glue.c ${SYS}/afssyscalls.h
- ${CCOBJ} ${CFLAGS} -c ${SYS}/glue.c
+ $(AFS_CCRULE) $(SYS)/glue.c
pioctl.o: ${SYS}/pioctl.c ${SYS}/afssyscalls.h
- ${CCOBJ} ${CFLAGS} -c ${SYS}/pioctl.c
+ $(AFS_CCRULE) $(SYS)/pioctl.c
setpag.o: ${SYS}/setpag.c ${SYS}/afssyscalls.h
- ${CCOBJ} ${CFLAGS} -c ${SYS}/setpag.c
+ $(AFS_CCRULE) $(SYS)/setpag.c
# This file is only actually used on SGI and AIX, but some systems can't cope
# with an empty .o file being included in a link.
+
syscall.o: ${SYS}/syscall.s
- @set -x; case "$(SYS_NAME)" in \
+ @set -e; set -x; case "$(SYS_NAME)" in \
sgi_*) \
- ${CC} ${CFLAGS} -c ${SYS}/syscall.s; \
+ $(AFS_CCRULE_NOQ) ${SYS}/syscall.s; \
;; \
- *fbsd* | *obsd* | *nbsd*) \
- ${CCOBJ} -E ${SFLAGS} syscall.s > syscall.S ; \
- ${AS} syscall.S -o syscall.o ; \
- $(RM) -f syscall.S; \
- ;; \
- rs_aix*) \
- /lib/cpp -P ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
+ rs_aix* | hp_ux10*) \
+ $(PATH_CPP) -P ${SFLAGS} ${SYS}/syscall.s > syscall.ss; \
as -o syscall.o syscall.ss; \
$(RM) syscall.ss; \
;; \
*) \
- touch syscall.o; \
+ touch syscall.o ; \
;; \
esac
-libkopenafs.a: ${LIBOBJS}
+libkopenafs.a: ${LIBOBJS} syscall.o
${RM} -f $@
- ${AR} crv $@ ${LIBOBJS}
+ @set -e; set -x; case "$(SYS_NAME)" in \
+ sgi_* | rs_aix* | hp_ux10*) \
+ ${AR} crv $@ ${LIBOBJS} syscall.o ;; \
+ *) \
+ ${AR} crv $@ ${LIBOBJS} ;; \
+ esac
${RANLIB} $@
-${LIBKOPENAFS}: ${LIBOBJS}
- case ${SYS_NAME} in \
- rs_aix*) \
- ${SHLIB_LINKER} -o ${LIBKOPENAFS} ${LIBOBJS} \
- -bE:${srcdir}/kopenafs.exp ${MT_LIBS}; \
- ;; \
- sun*_5*) \
- ${SHLIB_LINKER} -h libafsrpc.${SHLIB_SUFFIX}.${MAJOR} \
- -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
- ;; \
- *_linux*) \
- ${SHLIB_LINKER} -Wl,-h,libafsrpc.${SHLIB_SUFFIX}.${MAJOR} \
- -Wl,--version-script=${srcdir}/mapfile \
- -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
+${LIBKOPENAFS}: ${LIBOBJS} syscall.o libkopenafs.map
+ @set -e; set -x; case ${SYS_NAME} in \
+ sgi_* | rs_aix* | hp_ux10*) \
+ ../config/shlib-build -d $(srcdir) -l libkopenafs \
+ -M ${MAJOR} -m ${MINOR} -- \
+ ${LIBOBJS} syscall.o ${MT_LIBS} ; \
;; \
*) \
- ${SHLIB_LINKER} -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
+ ../config/shlib-build -d $(srcdir) -l libkopenafs \
+ -M ${MAJOR} -m ${MINOR} -- \
+ ${LIBOBJS} ${MT_LIBS} ; \
;; \
esac
test-unlog: test-unlog.o libkopenafs.a
- ${CC} -o test-unlog test-unlog.o libkopenafs.a ${XLIBS} ${CFLAGS}
+ $(AFS_LDRULE) test-unlog.o libkopenafs.a ${XLIBS}
test-setpag: test-setpag.o libkopenafs.a
- ${CC} -o test-setpag test-setpag.o libkopenafs.a ${XLIBS} ${CFLAGS}
+ $(AFS_LDRULE) test-setpag.o libkopenafs.a ${XLIBS}
#
# Installation targets
${INSTALL} -d ${DESTDIR}${libdir}
${INSTALL} -d ${DESTDIR}${includedir}
${INSTALL_DATA} libkopenafs.a ${DESTDIR}${libdir}/libkopenafs.a
- ${INSTALL_DATA} ${LIBKOPENAFS} ${DESTDIR}${libdir}/${LIBKOPENAFS}
- -ln -f -s ${LIBKOPENAFS} \
- ${DESTDIR}${libdir}/libkopenafs.${SHLIB_SUFFIX}
- -ln -f -s ${LIBKOPENAFS} \
- ${DESTDIR}${libdir}/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
- ${INSTALL_DATA} kopenafs.h ${DESTDIR}${includedir}/kopenafs.h
+ ${INSTALL_DATA} ${srcdir}/kopenafs.h ${DESTDIR}${includedir}/kopenafs.h
+ ../config/shlib-install -d ${DESTDIR}${libdir} \
+ -l libkopenafs -M ${MAJOR} -m ${MINOR}
dest: ${LIBKOPENAFS}
${INSTALL} -d ${DEST}/lib
${INSTALL} -d ${DEST}/include
${INSTALL_DATA} libkopenafs.a ${DEST}/lib/libkopenafs.a
- ${INSTALL_DATA} ${LIBKOPENAFS} ${DEST}/lib/${LIBKOPENAFS}
- -ln -f -s ${LIBKOPENAFS} \
- ${DEST}/lib/libkopenafs.${SHLIB_SUFFIX}
- -ln -f -s ${LIBKOPENAFS} \
- ${DEST}/lib/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
- ${INSTALL_DATA} kopenafs.h ${DEST}/include/kopenafs.h
+ ${INSTALL_DATA} ${srcdir}/kopenafs.h ${DEST}/include/kopenafs.h
+ ../config/shlib-install -d ${DEST}/lib \
+ -l libkopenafs -M ${MAJOR} -m ${MINOR}
#
# Misc targets
#
clean:
- $(RM) -f *.o *.a ${LIBKOPENAFS} AFS_component_version_number.c
+ $(RM) -f *.o *.a ${LIBKOPENAFS} AFS_component_version_number.c \
+ test-setpag test-unlog libkopenafs.exp
include ../config/Makefile.version