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 # Portions Copyright (c) 2003 Apple Computer, Inc.
11 include @TOP_OBJDIR@/src/config/Makefile.config
12 include @TOP_OBJDIR@/src/config/Makefile.libtool
13 include @TOP_OBJDIR@/src/config/Makefile.pthread
19 LT_objs = glue.lo pioctl.lo setpag.lo kopenafs.lo \
20 AFS_component_version_number.lo
22 MODULE_INCLUDE = -I. -I${srcdir} -I../sys
24 SFLAGS = -I${TOP_INCDIR}
25 SYS = ${srcdir}/../sys
27 @SHARED_ONLY@SHARED_LIBS = libkopenafs.la
28 @SHARED_ONLY@SHARED_SHLIBS_TOP = ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}
30 all: $(SHARED_SHLIBS_TOP) ${TOP_LIBDIR}/libkopenafs.a \
31 ${TOP_INCDIR}/kopenafs.h
33 ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}: libkopenafs.la
34 ${LT_INSTALL_DATA} libkopenafs.la ${TOP_LIBDIR}/libkopenafs.la
35 ${RM} ${TOP_LIBDIR}/libkopenafs.la
37 ${TOP_LIBDIR}/libkopenafs.a: libkopenafs.a
38 ${INSTALL_DATA} libkopenafs.a $@
40 ${TOP_INCDIR}/kopenafs.h: kopenafs.h
43 # Build rules for foreign sources. The implicit ones don't work when our
44 # sources are in a different castle.
45 glue.lo: $(SYS)/glue.c $(SYS)/afssyscalls.h
46 $(LT_CCRULE) $(SYS)/glue.c
48 pioctl.lo: $(SYS)/pioctl.c $(SYS)/afssyscalls.h
49 $(LT_CCRULE) $(SYS)/pioctl.c
51 setpag.lo: $(SYS)/setpag.c $(SYS)/afssyscalls.h
52 $(LT_CCRULE) $(SYS)/setpag.c
54 # This file is only actually used on SGI and AIX, but some systems can't cope
55 # with an empty .o file being included in a link.
57 syscall.lo: $(SYS)/syscall.s
58 @set -e; set -x; case "$(SYS_NAME)" in \
60 ${CC} ${AFS_CFLAGS} -c ${SYS}/syscall.s; \
63 $(PATH_CPP) -P ${SFLAGS} ${SYS}/syscall.s > syscall.ss; \
64 as -o syscall.o syscall.ss; \
69 $(CC) $(AFS_CFLAGS) -c syscall.c -o syscall.o; \
73 echo "# Generated by libtool (GNU libtool) 0.0.0" > $@
74 echo "pic_object='syscall.o'" >> $@
75 echo "non_pic_object='syscall.o'" >> $@
77 libkopenafs.a: $(LT_objs)
78 $(LT_LDLIB_static) $(LT_objs)
80 libkopenafs.la: libkopenafs.la.sym $(LT_objs)
81 $(LT_LDLIB_shlib_only) $(LT_objs)
83 test-unlog: test-unlog.lo libkopenafs.a
84 $(LT_LDRULE_static) test-unlog.lo libkopenafs.a $(XLIBS)
86 test-setpag: test-setpag.lo libkopenafs.a
87 $(LT_LDRULE_static) test-setpag.lo libkopenafs.a $(XLIBS)
90 # Installation targets
92 install: $(SHARED_LIBS) libkopenafs.a
93 ${INSTALL} -d ${DESTDIR}${libdir}
94 ${INSTALL} -d ${DESTDIR}${includedir}
95 @SHARED_ONLY@${LT_INSTALL_DATA} libkopenafs.la ${DESTDIR}${libdir}/libkopenafs.la
96 @SHARED_ONLY@${RM} ${DESTDIR}${libdir}/libkopenafs.la
97 ${INSTALL_DATA} libkopenafs.a ${DESTDIR}${libdir}/libkopenafs.a
98 ${INSTALL_DATA} ${srcdir}/kopenafs.h ${DESTDIR}${includedir}/kopenafs.h
100 dest: $(SHARED_LIBS) libkopenafs.a
101 ${INSTALL} -d ${DEST}/lib
102 ${INSTALL} -d ${DEST}/include
103 @SHARED_ONLY@${LT_INSTALL_DATA} libkopenafs.la ${DEST}/lib/libkopenafs.la
104 @SHARED_ONLY@${RM} ${DEST}/lib/libkopenafs.la
105 ${INSTALL_DATA} libkopenafs.a ${DEST}/lib/libkopenafs.a
106 ${INSTALL_DATA} ${srcdir}/kopenafs.h ${DEST}/include/kopenafs.h
113 $(RM) -f *.o *.a AFS_component_version_number.c \
114 test-setpag test-unlog
116 include ../config/Makefile.version