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.lwp
13 include @TOP_OBJDIR@/src/config/Makefile.lwptool
15 SFLAGS=-I${TOP_INCDIR}
17 ${TOP_LIBDIR}/librx.a \
19 ${TOP_LIBDIR}/liblwp.a \
20 $(TOP_LIBDIR)/libafsutil.a \
21 ${TOP_LIBDIR}/libopr.a \
22 ${TOP_LIBDIR}/libafshcrypto_lwp.a \
25 LT_objs = afssyscalls.lo setpag.lo pioctl.lo glue.lo \
26 rmtsysnet.lo rmtsysc.lo rmtsys.cs.lo rmtsys.xdr.lo rmtsys.ss.lo \
28 LT_deps = $(top_builddir)/src/rx/liboafs_rx.la
35 ${TOP_INCDIR}/afs/afssyscalls.h \
36 ${TOP_INCDIR}/afs/afs.exp \
37 ${TOP_INCDIR}/afs/xfsattrs.h \
38 ${TOP_INCDIR}/afs/sys_prototypes.h \
39 ${TOP_LIBDIR}/afs.exp \
40 ${TOP_LIBDIR}/libsys.a \
41 ${KERNELDIR}/afs/xfsattrs.h \
42 ${UKERNELDIR}/afs/afsl.exp
45 rmtsys.cs.c rmtsys.ss.c rmtsys.xdr.c rmtsys.h \
46 Krmtsys.cs.c Krmtsys.xdr.c Krmtsys.h
48 ${TOP_INCDIR}/afs/afssyscalls.h: afssyscalls.h
51 ${TOP_INCDIR}/afs/rmtsys.h: rmtsys.h
54 ${TOP_INCDIR}/afs/afs.exp: afs.exp
55 @set -x; case ${SYS_NAME} in \
57 ${INSTALL_DATA} $? $@ ;; \
60 ${TOP_LIBDIR}/afs.exp: afs.exp
61 @set -x; case ${SYS_NAME} in \
63 ${INSTALL_DATA} $? $@ ;; \
66 ${TOP_INCDIR}/afs/xfsattrs.h: xfsattrs.h
69 ${TOP_INCDIR}/afs/sys_prototypes.h: sys_prototypes.h
72 ${TOP_LIBDIR}/libsys.a: libsys.a
75 ${UKERNELDIR}/afs/afsl.exp: afsl.exp
76 ${INSTALL} -d ${UKERNELDIR}/afs
77 @set -x; case ${SYS_NAME} in \
79 ${INSTALL_DATA} $? $@ ;; \
82 ${KERNELDIR}/afs/xfsattrs.h: xfsattrs.h
83 ${INSTALL} -d ${KERNELDIR}/afs
87 ${TOP_INCDIR}/afs/afssyscalls.h \
88 ${TOP_INCDIR}/afs/rmtsys.h \
89 ${TOP_INCDIR}/afs/afs.exp \
90 ${TOP_INCDIR}/afs/xfsattrs.h \
91 ${TOP_INCDIR}/afs/sys_prototypes.h \
92 ${TOP_LIBDIR}/afs.exp \
93 ${KERNELDIR}/afs/xfsattrs.h \
94 ${UKERNELDIR}/afs/afsl.exp \
95 Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c rmtsys.h
97 libsys.a: $(LT_objs) afsl.exp syscall.lo
98 @set -e; set -x; case "$(SYS_NAME)" in \
100 $(LT_LDLIB_lwp_NOQ) $(LT_objs) syscall.o afsl.exp ;; \
102 $(LT_LDLIB_lwp_NOQ) $(LT_objs) syscall.o ;; \
105 # On AIX, liboafs_sys uses lsetpag() and lpioctl() which are syscall stubs,
106 # we need to include afsl.exp in order to link against them
107 liboafs_sys.la: liboafs_sys.la.sym $(LT_objs) $(LT_deps) afsl.exp
108 @set -e; set -x; case "$(SYS_NAME)" in \
110 $(LT_LDLIB_shlib) -Wl,-bI:afsl.exp $(LT_objs) $(LT_deps) ;\
111 $(AR) crv .libs/liboafs_sys.a ../sys/afsl.exp ;; \
113 $(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) ;; \
116 libafsrpc_sys.la: syscall.lo
117 $(LT_LDLIB_pic) syscall.lo
119 libauthent_sys.la: $(LT_objs)
120 $(LT_LDLIB_pic) $(LT_objs)
122 tests: fixit iinc idec icreate iopen istat rmtsysd
124 syscall.lo: syscall.s
125 @set -e; set -x; case "$(SYS_NAME)" in \
127 ${CC} ${AFS_CFLAGS} -c ${srcdir}/syscall.s; \
129 rs_aix* | hp_ux10*) \
130 $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \
131 as -o syscall.o syscall.ss; \
136 $(CC) $(AFS_CFLAGS) -c syscall.c -o syscall.o; \
139 echo "# Generated by libtool (GNU libtool) 0.0.0\npic_object='syscall.o'\nnon_pic_object='syscall.o'" > syscall.lo
142 afssyscalls.lo: afssyscalls.c afssyscalls.h
143 glue.lo: glue.c afssyscalls.h
144 setpag.lo: setpag.c afssyscalls.h
145 pioctl.lo: pioctl.c afssyscalls.h
147 rmtsysnet.lo rmtsysc.lo rmtsyss.lo rmtsysd.lo: rmtsys.h
148 rmtsysd: AFS_component_version_number.o afs.exp afsl.exp
150 rmtsys.cs.c: rmtsys.xg
151 ${RXGEN} -A -C -o $@ ${srcdir}/rmtsys.xg
153 rmtsys.ss.c: rmtsys.xg
154 ${RXGEN} -A -S -o $@ ${srcdir}/rmtsys.xg
156 rmtsys.xdr.c: rmtsys.xg
157 ${RXGEN} -A -c -o $@ ${srcdir}/rmtsys.xg
160 ${RXGEN} -A -h -o $@ ${srcdir}/rmtsys.xg
162 Krmtsys.cs.c: rmtsys.xg Krmtsys.h
163 ${RXGEN} -A -k -C -o Krmtsys.cs.c ${srcdir}/rmtsys.xg
165 Krmtsys.xdr.c: rmtsys.xg
166 ${RXGEN} -A -k -c -o Krmtsys.xdr.c ${srcdir}/rmtsys.xg
169 ${RXGEN} -A -k -h -o Krmtsys.h ${srcdir}/rmtsys.xg
171 rmtsysd: rmtsysd.o libsys.a
172 $(AFS_LDRULE) rmtsysd.o ${LIBS} $(LIB_roken)
181 $(CC) -o iinc $(AFS_CFLAGS) ${srcdir}/iinc.c ${LIBS}
183 idec: idec.c AFS_component_version_number.c
184 $(CC) -o idec $(AFS_CFLAGS) ${srcdir}/idec.c ${LIBS}
186 icreate:icreate.c AFS_component_version_number.c
187 $(CC) -o icreate $(AFS_CFLAGS) ${srcdir}/icreate.c ${LIBS}
189 iopen: iopen.c AFS_component_version_number.c
190 $(CC) -o iopen $(AFS_CFLAGS) ${srcdir}/iopen.c ${LIBS}
192 iread: iread.c AFS_component_version_number.c
193 ${CC} -o iread $(AFS_CFLAGS) ${srcdir}/iread.c ${LIBS}
195 iwrite: iwrite.c AFS_component_version_number.c
196 ${CC} -o iwrite $(AFS_CFLAGS) ${srcdir}/iwrite.c ${LIBS}
198 istat: istat.c AFS_component_version_number.c
199 $(CC) -o istat $(AFS_CFLAGS) ${srcdir}/istat.c ${LIBS}
201 fixit: fixit.c AFS_component_version_number.c
202 $(CC) -o fixit $(AFS_CFLAGS) ${srcdir}/fixit.c ${LIBS}
205 xfsinode: xfsinode.c AFS_component_version_number.c
206 @set -x; case "${SYS_NAME}" in \
208 $(CC) -o xfsinode $(AFS_CFLAGS) ${srcdir}/xfsinode.c ${LIBS}
211 afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
212 @set -x; case ${SYS_NAME} in \
214 cp -p ${srcdir}/afs5.exp afs.exp ;; \
216 cp -p ${srcdir}/afs4.exp afs.exp ;; \
221 afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
222 @set -x; case ${SYS_NAME} in \
224 cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
226 cp -p ${srcdir}/afsl4.exp afsl.exp ;; \
232 # Installation targets
234 install: libsys.a rmtsysd afssyscalls.h afs.exp xfsattrs.h
235 ${INSTALL} -d ${DESTDIR}${libdir}/afs
236 ${INSTALL} -d ${DESTDIR}${sbindir}
237 ${INSTALL} -d ${DESTDIR}${includedir}/afs
238 ${INSTALL_DATA} libsys.a ${DESTDIR}${libdir}/afs/libsys.a
239 ${INSTALL_PROGRAM} rmtsysd ${DESTDIR}${sbindir}/rmtsysd
240 ${INSTALL_DATA} ${srcdir}/afssyscalls.h ${DESTDIR}${includedir}/afs/afssyscalls.h
241 ${INSTALL_DATA} ${srcdir}/xfsattrs.h ${DESTDIR}${includedir}/afs/xfsattrs.h
242 @set -x; case ${SYS_NAME} in \
244 ${INSTALL_DATA} afs.exp ${DESTDIR}${includedir}/afs/afs.exp;; \
247 dest: libsys.a rmtsysd afssyscalls.h afs.exp xfsattrs.h
248 ${INSTALL} -d ${DEST}/lib/afs
249 ${INSTALL} -d ${DEST}/etc
250 ${INSTALL} -d ${DEST}/bin
251 ${INSTALL} -d ${DEST}/include/afs
252 ${INSTALL_DATA} libsys.a ${DEST}/lib/afs/libsys.a
253 ${INSTALL_PROGRAM} rmtsysd ${DEST}/etc/rmtsysd
254 ${INSTALL_DATA} ${srcdir}/afssyscalls.h ${DEST}/include/afs/afssyscalls.h
255 ${INSTALL_DATA} ${srcdir}/xfsattrs.h ${DEST}/include/afs/xfsattrs.h
256 @set -x; case ${SYS_NAME} in \
258 ${INSTALL_DATA} afs.exp ${DEST}/include/afs/afs.exp ;; \
264 include ../config/Makefile.version
268 $(RM) -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
269 rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
270 rmtsysd AFS_component_version_number.c \
271 afs.exp afsl.exp libafssetpag.* Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c