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} ${ARCHFLAGS}
19 SFLAGS=-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
23 SHLIBOBJS = picobj/setpag.o picobj/glue.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}
27 LIBAFSSETPAG_DARWIN = libafssetpag.${LIBAFSSETPAGMAJOR}.${SHLIB_SUFFIX}
33 ${TOP_INCDIR}/afs/afssyscalls.h \
34 ${TOP_INCDIR}/afs/afs.exp \
35 ${TOP_INCDIR}/afs/xfsattrs.h \
36 ${TOP_INCDIR}/afs/sys_prototypes.h \
37 ${TOP_LIBDIR}/afs.exp \
38 ${TOP_LIBDIR}/libsys.a \
40 ${KERNELDIR}/afs/xfsattrs.h \
42 ${UKERNELDIR}/afs/afsl.exp
43 @set -x; case ${SYS_NAME} in \
45 ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}';; \
47 ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG}';; \
50 libsys.a: ${OBJECTS} ${RMTOBJS} syscall.o afsl.exp AFS_component_version_number.o
52 @set -x; case "${SYS_NAME}" in \
54 $(AR) crv $@ ${OBJECTS} ${RMTOBJS} \
55 AFS_component_version_number.o ${LIBSYS_AIX_EXP} ;; \
57 $(AR) crv $@ ${OBJECTS} ${RMTOBJS} syscall.o \
58 AFS_component_version_number.o ${LIBSYS_AIX_EXP} ;; \
61 @set -x; case "${SYS_NAME}" in \
63 $(AR) crv $@ afsl.exp;; \
66 ${LIBAFSSETPAG}: ${SHLIBOBJS} syscall.o
67 @set -x; case ${SYS_NAME} in \
69 ${SHLIB_LINKER} -Wl,-h,libafssetpag.so.${LIBAFSSETPAGMAJOR} \
70 -o ${LIBAFSSETPAG} -Wl,--version-script=${srcdir}/mapfile \
71 ${SHLIBOBJS} syscall.o ;; \
73 ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS} syscall.o \
76 ${SHLIB_LINKER} -h libafssetpag.so.${LIBAFSSETPAGMAJOR} \
77 -o ${LIBAFSSETPAG} ${SHLIBOBJS} syscall.o;; \
79 ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS};; \
81 ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS} syscall.o ;; \
84 ${LIBAFSSETPAG_DARWIN}: ${SHLIBOBJS}
85 ${SHLIB_LINKER} -o ${LIBAFSSETPAG_DARWIN} ${ARCHFLAGS} -install_name ${libdir}/${LIBAFSSETPAG_DARWIN} -compatibility_version ${LIBAFSSETPAGMAJOR} -current_version ${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR} ${SHLIBOBJS}
87 tests: pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
90 @set -x; case "$(SYS_NAME)" in \
91 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?? ) \
92 $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \
93 as -o syscall.o syscall.ss; \
96 ${CC} ${CFLAGS} -c ${srcdir}/syscall.s;; \
97 alpha_osf1 | alpha_osf20 | alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux?? ) \
98 ${AS} -P ${CFLAGS} -D_NO_PROTO -DMACH -DOSF -nostdinc -traditional -DASSEMBLER ${srcdir}/syscall.s; \
99 ${AS} -o syscall.o syscall.i; \
100 $(RM) -f syscall.ss syscall.i;; \
103 amd64_fbsd*|i386_*bsd*|*nbsd*) \
104 ${CCOBJ} -E ${SFLAGS} syscall.s > syscall.S ; \
105 ${AS} syscall.S -o syscall.o ; \
106 $(RM) -f syscall.S ;;\
108 $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \
109 as -o syscall.o syscall.ss; \
113 afssyscalls.o: afssyscalls.c afssyscalls.h
114 ${CCOBJ} ${CFLAGS} -c ${srcdir}/afssyscalls.c
116 glue.o: glue.c afssyscalls.h
117 ${CCOBJ} ${CFLAGS} -c ${srcdir}/glue.c
119 setpag.o: setpag.c afssyscalls.h
120 ${CCOBJ} ${CFLAGS} -c ${srcdir}/setpag.c
122 picobj: afssyscalls.h
124 cp ${srcdir}/afssyscalls.h picobj/afssyscalls.h
126 picobj/glue.o: picobj glue.c afssyscalls.h
128 cp ${srcdir}/glue.c picobj/glue.c
129 cd picobj && ${CCOBJ} ${CFLAGS} ${SHLIB_CFLAGS} -c glue.c
131 picobj/setpag.o: picobj setpag.c afssyscalls.h
132 rm -f picobj/setpag.c
133 cp ${srcdir}/setpag.c picobj/setpag.c
134 cd picobj && ${CCOBJ} ${CFLAGS} ${SHLIB_CFLAGS} -c setpag.c
136 rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
137 rmtsysd: AFS_component_version_number.o afs.exp afsl.exp
139 rmtsys.cs.c: rmtsys.xg
140 ${RXGEN} -A -C -o $@ ${srcdir}/rmtsys.xg
142 rmtsys.ss.c: rmtsys.xg
143 ${RXGEN} -A -S -o $@ ${srcdir}/rmtsys.xg
145 rmtsys.xdr.c: rmtsys.xg
146 ${RXGEN} -A -c -o $@ ${srcdir}/rmtsys.xg
149 ${RXGEN} -A -h -o $@ ${srcdir}/rmtsys.xg
151 Krmtsys.cs.c: rmtsys.xg Krmtsys.h
152 ${RXGEN} -A -k -C -o Krmtsys.cs.c ${srcdir}/rmtsys.xg
154 Krmtsys.xdr.c: rmtsys.xg
155 ${RXGEN} -A -k -c -o Krmtsys.xdr.c ${srcdir}/rmtsys.xg
158 ${RXGEN} -A -k -h -o Krmtsys.h ${srcdir}/rmtsys.xg
160 rmtsysd: rmtsysd.o libsys.a
161 ${CC} ${CFLAGS} -o rmtsysd rmtsysd.o ${LIBS}
163 pagsh: libsys.a AFS_component_version_number.o
164 ${CC} ${CFLAGS} -c ${srcdir}/pagsh.c
165 ${CC} ${CFLAGS} -o pagsh pagsh.o ${LIBS}
168 ${CC} ${CFLAGS} -c ${srcdir}/pagsh.c -DAFS_KERBEROS_ENV
169 ${CC} ${CFLAGS} -o pagsh.krb pagsh.o ${TOP_LIBDIR}/libauth.krb.a ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libdes.a ${LIBS}
176 $(CC) -o iinc ${CFLAGS} ${srcdir}/iinc.c ${LIBS}
178 idec: idec.c AFS_component_version_number.c
179 $(CC) -o idec ${CFLAGS} ${srcdir}/idec.c ${LIBS}
181 icreate:icreate.c AFS_component_version_number.c
182 $(CC) -o icreate ${CFLAGS} ${srcdir}/icreate.c ${LIBS}
184 iopen: iopen.c AFS_component_version_number.c
185 $(CC) -o iopen ${CFLAGS} ${srcdir}/iopen.c ${LIBS}
187 iread: iread.c AFS_component_version_number.c
188 ${CC} -o iread ${CFLAGS} ${srcdir}/iread.c ${LIBS}
190 iwrite: iwrite.c AFS_component_version_number.c
191 ${CC} -o iwrite ${CFLAGS} ${srcdir}/iwrite.c ${LIBS}
193 istat: istat.c AFS_component_version_number.c
194 $(CC) -o istat ${CFLAGS} ${srcdir}/istat.c ${LIBS}
196 fixit: fixit.c AFS_component_version_number.c
197 $(CC) -o fixit ${CFLAGS} ${srcdir}/fixit.c ${LIBS}
200 xfsinode: xfsinode.c AFS_component_version_number.c
201 @set -x; case "${SYS_NAME}" in \
203 $(CC) -o xfsinode ${CFLAGS} ${srcdir}/xfsinode.c ${LIBS}
206 ${TOP_LIBDIR}/${LIBAFSSETPAG}: ${LIBAFSSETPAG}
207 ${INSTALL} ${LIBAFSSETPAG} ${TOP_LIBDIR}/${LIBAFSSETPAG}
208 -ln -f -s ${LIBAFSSETPAG} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}
209 -ln -f -s ${LIBAFSSETPAG} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}
211 ${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}: ${LIBAFSSETPAG_DARWIN}
212 ${INSTALL} ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}
213 -ln -f -s ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}
214 -ln -f -s ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/libafssetpag.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}.${SHLIB_SUFFIX}
217 afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
218 @set -x; case ${SYS_NAME} in \
220 cp -p ${srcdir}/afs5.exp afs.exp ;; \
222 cp -p ${srcdir}/afs4.exp afs.exp ;; \
227 afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
228 @set -x; case ${SYS_NAME} in \
230 cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
232 cp -p ${srcdir}/afsl4.exp afsl.exp ;; \
238 # Installation targets
241 ${TOP_INCDIR}/afs/afssyscalls.h: afssyscalls.h
244 ${TOP_INCDIR}/afs/rmtsys.h: rmtsys.h
247 ${TOP_INCDIR}/afs/afs.exp: afs.exp
248 @set -x; case ${SYS_NAME} in \
250 ${INSTALL} $? $@ ;; \
253 ${TOP_LIBDIR}/afs.exp: afs.exp
254 @set -x; case ${SYS_NAME} in \
256 ${INSTALL} $? $@ ;; \
259 ${TOP_INCDIR}/afs/xfsattrs.h: xfsattrs.h
262 ${TOP_INCDIR}/afs/sys_prototypes.h: sys_prototypes.h
265 ${TOP_LIBDIR}/libsys.a: libsys.a
271 ${UKERNELDIR}/afs/afsl.exp: afsl.exp
272 @set -x; case ${SYS_NAME} in \
274 ${INSTALL} $? $@ ;; \
280 ${KERNELDIR}/afs/xfsattrs.h: xfsattrs.h
284 ${TOP_INCDIR}/afs/afssyscalls.h \
285 ${TOP_INCDIR}/afs/rmtsys.h \
286 ${TOP_INCDIR}/afs/afs.exp \
287 ${TOP_INCDIR}/afs/xfsattrs.h \
288 ${TOP_INCDIR}/afs/sys_prototypes.h \
289 ${KERNELDIR}/afs/xfsattrs.h \
290 ${UKERNELDIR}/afs/afsl.exp \
291 Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c rmtsys.h
294 ${DESTDIR}${libdir}/afs/libsys.a \
295 ${DESTDIR}${sbindir}/rmtsysd \
296 ${DESTDIR}${includedir}/afs/afssyscalls.h \
297 ${DESTDIR}${bindir}/pagsh \
298 ${DESTDIR}${bindir}/pagsh.krb \
299 ${DESTDIR}${includedir}/afs/afs.exp \
300 ${DESTDIR}${includedir}/afs/xfsattrs.h
301 @set -x; case ${SYS_NAME} in \
303 ${MAKE} '${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}';; \
305 ${MAKE} '${DESTDIR}${libdir}/${LIBAFSSETPAG}';; \
308 ${DESTDIR}${libdir}/afs/libsys.a: libsys.a
311 ${DESTDIR}${libdir}/${LIBAFSSETPAG}: ${LIBAFSSETPAG}
312 ${INSTALL} ${LIBAFSSETPAG} ${DESTDIR}${libdir}/${LIBAFSSETPAG}
313 -ln -f -s ${LIBAFSSETPAG} \
314 ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX}
315 -ln -f -s ${LIBAFSSETPAG} \
316 ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}
318 ${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}: ${LIBAFSSETPAG_DARWIN}
319 ${INSTALL} ${LIBAFSSETPAG_DARWIN} ${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}
320 -ln -f -s ${LIBAFSSETPAG_DARWIN} \
321 ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX} ; \
322 -ln -f -s ${LIBAFSSETPAG_DARWIN} \
323 ${DESTDIR}${libdir}/libafssetpag.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}.${SHLIB_SUFFIX} ;; \
325 ${DESTDIR}${sbindir}/rmtsysd: rmtsysd
328 ${DESTDIR}${includedir}/afs/afssyscalls.h: afssyscalls.h
331 ${DESTDIR}${bindir}/pagsh: pagsh
334 ${DESTDIR}${bindir}/pagsh.krb: pagsh.krb
335 ${INSTALL} ${NO_STRIP_KRB} $? $@
337 ${DESTDIR}${includedir}/afs/afs.exp: afs.exp
338 @set -x; case ${SYS_NAME} in \
340 ${INSTALL} $? $@ ;; \
343 ${DESTDIR}${includedir}/afs/xfsattrs.h: xfsattrs.h
347 ${DEST}/lib/afs/libsys.a \
348 ${DEST}/etc/rmtsysd \
350 ${DEST}/bin/pagsh.krb \
351 ${DEST}/include/afs/afssyscalls.h \
352 ${DEST}/include/afs/afs.exp \
353 ${DEST}/include/afs/xfsattrs.h
354 @set -x; case ${SYS_NAME} in \
356 ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}';; \
358 ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG}';; \
361 ${DEST}/lib/afs/libsys.a: libsys.a
364 ${DEST}/include/afs/afs.exp: afs.exp
365 @set -x; case ${SYS_NAME} in \
367 ${INSTALL} $? $@ ;; \
370 ${DEST}/include/afs/xfsattrs.h: xfsattrs.h
373 ${DEST}/include/afs/afssyscalls.h: afssyscalls.h
376 ${DEST}/etc/rmtsysd: rmtsysd
379 ${DEST}/bin/pagsh: pagsh
382 ${DEST}/bin/pagsh.krb: pagsh.krb
383 ${INSTALL} ${NO_STRIP_KRB} $? $@
388 include ../config/Makefile.version
391 $(RM) -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
392 rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
393 rmtsysd AFS_component_version_number.c pagsh pagsh.krb \
394 afs.exp afsl.exp libafssetpag.* Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c