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
13 # API version. When something changes, increment as appropriate.
14 # Ignore at your own risk.
19 INCLUDES = -I. -I${srcdir} -I../sys
20 CFLAGS = ${COMMON_CFLAGS} ${INCLUDES} ${MT_CFLAGS} ${SHLIB_CFLAGS}
22 SYS = ${srcdir}/../sys
23 SYSOBJS = glue.o pioctl.o setpag.o syscall.o
24 LIBOBJS = kopenafs.o ${SYSOBJS} AFS_component_version_number.o
26 LIBKOPENAFS = libkopenafs.${SHLIB_SUFFIX}.${MAJOR}.${MINOR}
28 all: ${TOP_LIBDIR}/${LIBKOPENAFS} ${TOP_LIBDIR}/libkopenafs.a \
29 ${TOP_INCDIR}/kopenafs.h
31 ${TOP_LIBDIR}/${LIBKOPENAFS}: ${LIBKOPENAFS}
32 ${INSTALL_DATA} ${LIBKOPENAFS} ${TOP_LIBDIR}/${LIBKOPENAFS}
33 -ln -f -s ${LIBKOPENAFS} \
34 ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}
35 -ln -f -s ${LIBKOPENAFS} \
36 ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
38 ${TOP_LIBDIR}/libkopenafs.a: libkopenafs.a
39 ${INSTALL_DATA} libkopenafs.a $@
41 ${TOP_INCDIR}/kopenafs.h: kopenafs.h
42 ${INSTALL_DATA} kopenafs.h $@
44 glue.o: ${SYS}/glue.c ${SYS}/afssyscalls.h
45 ${CCOBJ} ${CFLAGS} -c ${SYS}/glue.c
47 pioctl.o: ${SYS}/pioctl.c ${SYS}/afssyscalls.h
48 ${CCOBJ} ${CFLAGS} -c ${SYS}/pioctl.c
50 setpag.o: ${SYS}/setpag.c ${SYS}/afssyscalls.h
51 ${CCOBJ} ${CFLAGS} -c ${SYS}/setpag.c
53 # This file is only actually used on SGI and AIX, but some systems can't cope
54 # with an empty .o file being included in a link.
55 syscall.o: ${SYS}/syscall.s
56 @set -x; case "$(SYS_NAME)" in \
58 ${CC} ${CFLAGS} -c ${SYS}/syscall.s; \
60 *fbsd* | *obsd* | *nbsd*) \
61 ${CCOBJ} -E ${SFLAGS} syscall.s > syscall.S ; \
62 ${AS} syscall.S -o syscall.o ; \
66 /lib/cpp -P ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
67 as -o syscall.o syscall.ss; \
75 libkopenafs.a: ${LIBOBJS}
77 ${AR} crv $@ ${LIBOBJS}
80 ${LIBKOPENAFS}: ${LIBOBJS}
83 ${SHLIB_LINKER} -o ${LIBKOPENAFS} ${LIBOBJS} \
84 -bE:${srcdir}/kopenafs.exp ${MT_LIBS}; \
87 ${SHLIB_LINKER} -h libafsrpc.${SHLIB_SUFFIX}.${MAJOR} \
88 -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
91 ${SHLIB_LINKER} -Wl,-h,libafsrpc.${SHLIB_SUFFIX}.${MAJOR} \
92 -Wl,--version-script=${srcdir}/mapfile \
93 -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
96 ${SHLIB_LINKER} -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
100 test-unlog: test-unlog.o libkopenafs.a
101 ${CC} -o test-unlog test-unlog.o libkopenafs.a ${XLIBS} ${CFLAGS}
103 test-setpag: test-setpag.o libkopenafs.a
104 ${CC} -o test-setpag test-setpag.o libkopenafs.a ${XLIBS} ${CFLAGS}
107 # Installation targets
109 install: ${LIBKOPENAFS}
110 ${INSTALL} -d ${DESTDIR}${libdir}
111 ${INSTALL} -d ${DESTDIR}${includedir}
112 ${INSTALL_DATA} libkopenafs.a ${DESTDIR}${libdir}/libkopenafs.a
113 ${INSTALL_DATA} ${LIBKOPENAFS} ${DESTDIR}${libdir}/${LIBKOPENAFS}
114 -ln -f -s ${LIBKOPENAFS} \
115 ${DESTDIR}${libdir}/libkopenafs.${SHLIB_SUFFIX}
116 -ln -f -s ${LIBKOPENAFS} \
117 ${DESTDIR}${libdir}/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
118 ${INSTALL_DATA} kopenafs.h ${DESTDIR}${includedir}/kopenafs.h
121 ${INSTALL} -d ${DEST}/lib
122 ${INSTALL} -d ${DEST}/include
123 ${INSTALL_DATA} libkopenafs.a ${DEST}/lib/libkopenafs.a
124 ${INSTALL_DATA} ${LIBKOPENAFS} ${DEST}/lib/${LIBKOPENAFS}
125 -ln -f -s ${LIBKOPENAFS} \
126 ${DEST}/lib/libkopenafs.${SHLIB_SUFFIX}
127 -ln -f -s ${LIBKOPENAFS} \
128 ${DEST}/lib/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
129 ${INSTALL_DATA} kopenafs.h ${DEST}/include/kopenafs.h
135 $(RM) -f *.o *.a ${LIBKOPENAFS} AFS_component_version_number.c
137 include ../config/Makefile.version