1 # API version. When something changes, increment as appropriate.
2 # Ignore at your own risk.
6 # Copyright 2000, International Business Machines Corporation and others.
9 # This software has been released under the terms of the IBM Public
10 # License. For details, see the LICENSE file in the top-level source
11 # directory or online at http://www.openafs.org/dl/license10.html
13 # Portions Copyright (c) 2003 Apple Computer, Inc.
16 include @TOP_OBJDIR@/src/config/Makefile.config
18 CFLAGS=-I. -I${srcdir} ${DBUG} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
19 SFLAGS=-P -I${TOP_INCDIR}
20 LIBS=libsys.a ${TOP_LIBDIR}/librx.a libsys.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a ${XLIBS}
22 OBJECTS= afssyscalls.o setpag.o glue.o syscall.o
23 SHLIBOBJS = picobj/setpag.o picobj/glue.o syscall.o
24 RMTOBJS=rmtsysnet.o rmtsysc.o rmtsys.cs.o rmtsys.xdr.o rmtsys.ss.o rmtsyss.o
26 LIBAFSSETPAG = libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}
32 ${TOP_INCDIR}/afs/afssyscalls.h \
33 ${TOP_INCDIR}/afs/afs.exp \
34 ${TOP_INCDIR}/afs/xfsattrs.h \
35 ${TOP_LIBDIR}/afs.exp \
36 ${TOP_LIBDIR}/libsys.a \
37 ${TOP_LIBDIR}/${LIBAFSSETPAG} \
39 ${KERNELDIR}/afs/xfsattrs.h \
41 ${UKERNELDIR}/afs/afsl.exp
43 libsys.a: ${OBJECTS} ${RMTOBJS} afsl.exp AFS_component_version_number.o
45 $(AR) crv $@ ${OBJECTS} ${RMTOBJS} \
46 AFS_component_version_number.o ${LIBSYS_AIX_EXP}
48 case "${SYS_NAME}" in \
50 $(AR) crv $@ afsl.exp;; \
53 ${LIBAFSSETPAG}: ${SHLIBOBJS}
56 ${SHLIB_LINKER} -Wl,-h,libafssetpag.so.${LIBAFSSETPAGMAJOR} \
57 -o ${LIBAFSSETPAG} -Wl,--version-script=afssetpag.map \
60 ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS} \
63 ${SHLIB_LINKER} -h libafssetpag.so.${LIBAFSSETPAGMAJOR} \
64 -Wl,-M afssetpag.map -o ${LIBAFSSETPAG} ${SHLIBOBJS};; \
66 ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS};; \
69 tests: pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
72 case "$(SYS_NAME)" in \
73 sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sun4x_5?? | sunx86_5? | sunx86_5?? ) \
74 /usr/ccs/lib/cpp ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
75 as -o syscall.o syscall.ss; \
78 ${CC} ${CFLAGS} -c ${srcdir}/syscall.s;; \
79 alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux?? ) \
80 ${AS} -P ${CFLAGS} -D_NO_PROTO -DMACH -DOSF -nostdinc -traditional -DASSEMBLER ${srcdir}/syscall.s; \
81 ${AS} -o syscall.o syscall.i; \
82 $(RM) -f syscall.ss syscall.i;; \
85 amd64_fbsd*|i386_*bsd*|*nbsd*) \
88 /lib/cpp ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
89 as -o syscall.o syscall.ss; \
93 afssyscalls.o: afssyscalls.c afssyscalls.h
94 ${CCOBJ} ${CFLAGS} -c ${srcdir}/afssyscalls.c
96 glue.o: glue.c afssyscalls.h
97 ${CCOBJ} ${CFLAGS} -c ${srcdir}/glue.c
99 setpag.o: setpag.c afssyscalls.h
100 ${CCOBJ} ${CFLAGS} -c ${srcdir}/setpag.c
102 picobj: afssyscalls.h
104 cp ${srcdir}/afssyscalls.h picobj/afssyscalls.h
106 picobj/glue.o: picobj glue.c afssyscalls.h
108 cp ${srcdir}/glue.c picobj/glue.c
109 cd picobj && ${CCOBJ} ${CFLAGS} ${SHLIB_CFLAGS} -c glue.c
111 picobj/setpag.o: picobj setpag.c afssyscalls.h
112 rm -f picobj/setpag.c
113 cp ${srcdir}/setpag.c picobj/setpag.c
114 cd picobj && ${CCOBJ} ${CFLAGS} ${SHLIB_CFLAGS} -c setpag.c
116 rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
117 rmtsysd: AFS_component_version_number.o afs.exp afsl.exp
119 rmtsys.cs.c: rmtsys.xg
120 ${RXGEN} -C -o $@ ${srcdir}/rmtsys.xg
122 rmtsys.ss.c: rmtsys.xg
123 ${RXGEN} -S -o $@ ${srcdir}/rmtsys.xg
125 rmtsys.xdr.c: rmtsys.xg
126 ${RXGEN} -c -o $@ ${srcdir}/rmtsys.xg
129 ${RXGEN} -h -o $@ ${srcdir}/rmtsys.xg
131 rmtsysd: rmtsysd.o libsys.a
132 ${CC} ${CFLAGS} -o rmtsysd rmtsysd.o ${LIBS}
134 pagsh: libsys.a AFS_component_version_number.o
135 ${CC} ${CFLAGS} -c ${srcdir}/pagsh.c
136 ${CC} ${CFLAGS} -o pagsh pagsh.o ${LIBS}
139 ${CC} ${CFLAGS} -c ${srcdir}/pagsh.c -DAFS_KERBEROS_ENV
140 ${CC} ${CFLAGS} -o pagsh.krb pagsh.o ${LIBS}
147 $(CC) -o iinc ${CFLAGS} ${srcdir}/iinc.c ${LIBS}
149 idec: idec.c AFS_component_version_number.c
150 $(CC) -o idec ${CFLAGS} ${srcdir}/idec.c ${LIBS}
152 icreate:icreate.c AFS_component_version_number.c
153 $(CC) -o icreate ${CFLAGS} ${srcdir}/icreate.c ${LIBS}
155 iopen: iopen.c AFS_component_version_number.c
156 $(CC) -o iopen ${CFLAGS} ${srcdir}/iopen.c ${LIBS}
158 iread: iread.c AFS_component_version_number.c
159 ${CC} -o iread ${CFLAGS} ${srcdir}/iread.c ${LIBS}
161 iwrite: iwrite.c AFS_component_version_number.c
162 ${CC} -o iwrite ${CFLAGS} ${srcdir}/iwrite.c ${LIBS}
164 istat: istat.c AFS_component_version_number.c
165 $(CC) -o istat ${CFLAGS} ${srcdir}/istat.c ${LIBS}
167 fixit: fixit.c AFS_component_version_number.c
168 $(CC) -o fixit ${CFLAGS} ${srcdir}/fixit.c ${LIBS}
171 xfsinode: xfsinode.c AFS_component_version_number.c
172 case "${SYS_NAME}" in \
174 $(CC) -o xfsinode ${CFLAGS} ${srcdir}/xfsinode.c ${LIBS}
177 ${TOP_LIBDIR}/${LIBAFSSETPAG}: ${LIBAFSSETPAG}
178 ${INSTALL} ${LIBAFSSETPAG} ${TOP_LIBDIR}/${LIBAFSSETPAG}
179 -ln -f -s ${LIBAFSSETPAG} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}
180 -ln -f -s ${LIBAFSSETPAG} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}
183 afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
184 case ${SYS_NAME} in \
186 cp -p ${srcdir}/afs5.exp afs.exp ;; \
188 cp -p ${srcdir}/afs4.exp afs.exp ;; \
193 afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
194 case ${SYS_NAME} in \
196 cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
198 cp -p ${srcdir}/afsl4.exp afsl.exp ;; \
204 # Installation targets
207 ${TOP_INCDIR}/afs/afssyscalls.h: afssyscalls.h
210 ${TOP_INCDIR}/afs/afs.exp: afs.exp
211 case ${SYS_NAME} in \
213 ${INSTALL} $? $@ ;; \
216 ${TOP_LIBDIR}/afs.exp: afs.exp
217 case ${SYS_NAME} in \
219 ${INSTALL} $? $@ ;; \
222 ${TOP_INCDIR}/afs/xfsattrs.h: xfsattrs.h
225 ${TOP_LIBDIR}/libsys.a: libsys.a
231 ${UKERNELDIR}/afs/afsl.exp: afsl.exp
232 case ${SYS_NAME} in \
234 ${INSTALL} $? $@ ;; \
240 ${KERNELDIR}/afs/xfsattrs.h: xfsattrs.h
244 ${TOP_INCDIR}/afs/afssyscalls.h \
245 ${TOP_INCDIR}/afs/afs.exp \
246 ${TOP_INCDIR}/afs/xfsattrs.h \
247 ${KERNELDIR}/afs/xfsattrs.h \
248 ${UKERNELDIR}/afs/afsl.exp
251 ${DESTDIR}${libdir}/afs/libsys.a \
252 ${DESTDIR}${libdir}/${LIBAFSSETPAG} \
253 ${DESTDIR}${sbindir}/rmtsysd \
254 ${DESTDIR}${includedir}/afs/afssyscalls.h \
255 ${DESTDIR}${bindir}/pagsh \
256 ${DESTDIR}${bindir}/pagsh.krb \
257 ${DESTDIR}${includedir}/afs/afs.exp \
258 ${DESTDIR}${includedir}/afs/xfsattrs.h
260 ${DESTDIR}${libdir}/afs/libsys.a: libsys.a
263 ${DESTDIR}${libdir}/${LIBAFSSETPAG}: ${LIBAFSSETPAG}
264 ${INSTALL} ${LIBAFSSETPAG} ${DESTDIR}${libdir}/${LIBAFSSETPAG}
265 -ln -f -s ${LIBAFSSETPAG} \
266 ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX}
267 -ln -f -s ${LIBAFSSETPAG} \
268 ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}
270 ${DESTDIR}${sbindir}/rmtsysd: rmtsysd
273 ${DESTDIR}${includedir}/afs/afssyscalls.h: afssyscalls.h
276 ${DESTDIR}${bindir}/pagsh: pagsh
279 ${DESTDIR}${bindir}/pagsh.krb: pagsh.krb
282 ${DESTDIR}${includedir}/afs/afs.exp: afs.exp
283 case ${SYS_NAME} in \
285 ${INSTALL} $? $@ ;; \
288 ${DESTDIR}${includedir}/afs/xfsattrs.h: xfsattrs.h
292 ${DEST}/lib/afs/libsys.a \
293 ${TOP_LIBDIR}/${LIBAFSSETPAG} \
294 ${DEST}/etc/rmtsysd \
296 ${DEST}/bin/pagsh.krb \
297 ${DEST}/include/afs/afssyscalls.h \
298 ${DEST}/include/afs/afs.exp \
299 ${DEST}/include/afs/xfsattrs.h
301 ${DEST}/lib/afs/libsys.a: libsys.a
304 ${DEST}/include/afs/afs.exp: afs.exp
305 case ${SYS_NAME} in \
307 ${INSTALL} $? $@ ;; \
310 ${DEST}/include/afs/xfsattrs.h: xfsattrs.h
313 ${DEST}/include/afs/afssyscalls.h: afssyscalls.h
316 ${DEST}/etc/rmtsysd: rmtsysd
319 ${DEST}/bin/pagsh: pagsh
322 ${DEST}/bin/pagsh.krb: pagsh.krb
328 include ../config/Makefile.version
331 $(RM) -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
332 rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
333 rmtsysd AFS_component_version_number.c pagsh pagsh.krb \
334 afs.exp afsl.exp libafssetpag.*