srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
+include @TOP_OBJDIR@/src/config/Makefile.libtool
+include @TOP_OBJDIR@/src/config/Makefile.pthread
-# API version. When something changes, increment as appropriate.
-# Ignore at your own risk.
-MAJOR = 1
-MINOR = 0
+LT_current = 2
+LT_revision = 0
+LT_age = 0
-CC = ${MT_CC}
-INCLUDES = -I. -I${srcdir} -I../sys
-CFLAGS = ${COMMON_CFLAGS} ${INCLUDES} ${MT_CFLAGS} ${SHLIB_CFLAGS}
+LT_objs = glue.lo pioctl.lo setpag.lo kopenafs.lo \
+ AFS_component_version_number.lo
+
+MODULE_INCLUDE = -I. -I${srcdir} -I../sys
SFLAGS = -I${TOP_INCDIR}
SYS = ${srcdir}/../sys
-SYSOBJS = glue.o pioctl.o setpag.o
-LIBOBJS = kopenafs.o ${SYSOBJS} AFS_component_version_number.o
-LIBKOPENAFS = libkopenafs.${SHLIB_SUFFIX}.${MAJOR}.${MINOR}
+@SHARED_ONLY@SHARED_LIBS = libkopenafs.la
+@SHARED_ONLY@SHARED_SHLIBS_TOP = ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}
-all: ${TOP_LIBDIR}/${LIBKOPENAFS} ${TOP_LIBDIR}/libkopenafs.a \
+all: $(SHARED_SHLIBS_TOP) ${TOP_LIBDIR}/libkopenafs.a \
${TOP_INCDIR}/kopenafs.h
-${TOP_LIBDIR}/${LIBKOPENAFS}: ${LIBKOPENAFS}
- ../config/shlib-install -d ${TOP_LIBDIR} \
- -l libkopenafs -M ${MAJOR} -m ${MINOR}
+${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}: libkopenafs.la
+ ${LT_INSTALL_DATA} libkopenafs.la ${TOP_LIBDIR}/libkopenafs.la
+ ${RM} ${TOP_LIBDIR}/libkopenafs.la
${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
+# Build rules for foreign sources. The implicit ones don't work when our
+# sources are in a different castle.
+glue.lo: $(SYS)/glue.c $(SYS)/afssyscalls.h
+ $(LT_CCRULE) $(SYS)/glue.c
-pioctl.o: ${SYS}/pioctl.c ${SYS}/afssyscalls.h
- ${CCOBJ} ${CFLAGS} -c ${SYS}/pioctl.c
+pioctl.lo: $(SYS)/pioctl.c $(SYS)/afssyscalls.h
+ $(LT_CCRULE) $(SYS)/pioctl.c
-setpag.o: ${SYS}/setpag.c ${SYS}/afssyscalls.h
- ${CCOBJ} ${CFLAGS} -c ${SYS}/setpag.c
+setpag.lo: $(SYS)/setpag.c $(SYS)/afssyscalls.h
+ $(LT_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
+
+syscall.lo: $(SYS)/syscall.s
@set -e; set -x; case "$(SYS_NAME)" in \
sgi_*) \
- ${CC} ${CFLAGS} -c ${SYS}/syscall.s; \
+ ${CC} ${AFS_CFLAGS} -c ${SYS}/syscall.s; \
;; \
rs_aix* | hp_ux10*) \
- $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \
+ $(PATH_CPP) -P ${SFLAGS} ${SYS}/syscall.s > syscall.ss; \
as -o syscall.o syscall.ss; \
$(RM) syscall.ss; \
;; \
*) \
- touch syscall.o ; \
+ touch syscall.c ; \
+ $(CC) $(AFS_CFLAGS) -c syscall.c -o syscall.o; \
;; \
esac
+ rm -f $@
+ echo "# Generated by libtool (GNU libtool) 0.0.0" > $@
+ echo "pic_object='syscall.o'" >> $@
+ echo "non_pic_object='syscall.o'" >> $@
-libkopenafs.a: ${LIBOBJS} syscall.o
- ${RM} -f $@
- @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} syscall.o
- @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} ; \
- ;; \
- *) \
- ../config/shlib-build -d $(srcdir) -l libkopenafs \
- -M ${MAJOR} -m ${MINOR} -- \
- ${LIBOBJS} ${MT_LIBS} ; \
- ;; \
- esac
+libkopenafs.a: $(LT_objs)
+ $(LT_LDLIB_static) $(LT_objs)
+
+libkopenafs.la: libkopenafs.la.sym $(LT_objs) libkopenafs.a
+ $(LT_LDLIB_shlib_only) $(LT_objs)
-test-unlog: test-unlog.o libkopenafs.a
- ${CC} -o test-unlog test-unlog.o libkopenafs.a ${XLIBS} ${CFLAGS}
+test-unlog: test-unlog.lo libkopenafs.a
+ $(LT_LDRULE_static) test-unlog.lo libkopenafs.a $(XLIBS)
-test-setpag: test-setpag.o libkopenafs.a
- ${CC} -o test-setpag test-setpag.o libkopenafs.a ${XLIBS} ${CFLAGS}
+test-setpag: test-setpag.lo libkopenafs.a
+ $(LT_LDRULE_static) test-setpag.lo libkopenafs.a $(XLIBS)
#
# Installation targets
#
-install: ${LIBKOPENAFS}
+install: $(SHARED_LIBS) libkopenafs.a
${INSTALL} -d ${DESTDIR}${libdir}
${INSTALL} -d ${DESTDIR}${includedir}
+ @SHARED_ONLY@${LT_INSTALL_DATA} libkopenafs.la ${DESTDIR}${libdir}/libkopenafs.la
+ @SHARED_ONLY@${RM} ${DESTDIR}${libdir}/libkopenafs.la
${INSTALL_DATA} libkopenafs.a ${DESTDIR}${libdir}/libkopenafs.a
- ${INSTALL_DATA} kopenafs.h ${DESTDIR}${includedir}/kopenafs.h
- ../config/shlib-install -d ${DESTDIR}${libdir} \
- -l libkopenafs -M ${MAJOR} -m ${MINOR}
+ ${INSTALL_DATA} ${srcdir}/kopenafs.h ${DESTDIR}${includedir}/kopenafs.h
-dest: ${LIBKOPENAFS}
+dest: $(SHARED_LIBS) libkopenafs.a
${INSTALL} -d ${DEST}/lib
${INSTALL} -d ${DEST}/include
+ @SHARED_ONLY@${LT_INSTALL_DATA} libkopenafs.la ${DEST}/lib/libkopenafs.la
+ @SHARED_ONLY@${RM} ${DEST}/lib/libkopenafs.la
${INSTALL_DATA} libkopenafs.a ${DEST}/lib/libkopenafs.a
- ${INSTALL_DATA} kopenafs.h ${DEST}/include/kopenafs.h
- ../config/shlib-install -d ${DEST}/lib \
- -l libkopenafs -M ${MAJOR} -m ${MINOR}
+ ${INSTALL_DATA} ${srcdir}/kopenafs.h ${DEST}/include/kopenafs.h
#
# Misc targets
#
clean:
- $(RM) -f *.o *.a ${LIBKOPENAFS} AFS_component_version_number.c \
+ ${LT_CLEAN}
+ $(RM) -f *.o *.a AFS_component_version_number.c \
test-setpag test-unlog
include ../config/Makefile.version