# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
-DESTDIR=@DESTDIR@
-SRCDIR=@SRCDIR@
-TOP_SRCDIR=@TOP_SRCDIR@
-SYS_NAME=@AFS_SYSNAME@
+srcdir=@srcdir@
+include @TOP_OBJDIR@/src/config/Makefile.config
+include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
-SHELL = /bin/sh
+HELPER_SPLINT=@HELPER_SPLINT@
-include ../config/Makefile.${SYS_NAME}
+LT_rpc_objs = base64.lo
-CFLAGS = ${OPTMZ} -I${TOP_SRCDIR}/config -I. -I${SRCDIR}/include ${XCFLAGS}
-LDFLAGS = ${OPTMZ} ${XLDFLAGS}
+LT_objs =$(LT_rpc_objs) \
+ ktime.lo volparse.lo hostparse.lo exec.lo \
+ hputil.lo kreltime.lo uuid.lo serverLog.lo \
+ dirpath.lo fileutil.lo flipbase64.lo fstab.lo \
+ afs_atomlist.lo afs_lhash.lo pthread_glock.lo tabular_output.lo \
+ ${REGEX_OBJ}
-objects = assert.o base64.o casestrcpy.o ktime.o volparse.o hostparse.o \
- hputil.o kreltime.o isathing.o get_krbrlm.o uuid.o serverLog.o \
- dirpath.o fileutil.o netutils.o flipbase64.o \
- afs_atomlist.o afs_lhash.o snprintf.o ${REGEX_OBJ}
+LT_deps = $(top_builddir)/src/opr/liboafs_opr.la
+LT_libs = $(LIB_roken) $(MT_LIBS)
-all: install
+includes = \
+ ${TOP_INCDIR}/afs/dirpath.h \
+ ${TOP_INCDIR}/afs/pthread_nosigs.h \
+ ${TOP_INCDIR}/afs/errors.h \
+ ${TOP_INCDIR}/afs/vice.h \
+ ${TOP_INCDIR}/afs/ktime.h \
+ ${TOP_INCDIR}/afs/fileutil.h \
+ ${TOP_INCDIR}/afs/afsutil.h \
+ ${TOP_INCDIR}/afs/afsutil_prototypes.h \
+ ${TOP_INCDIR}/afs/pthread_glock.h \
+ ${TOP_INCDIR}/afs/afs_atomlist.h \
+ ${TOP_INCDIR}/afs/afs_lhash.h \
+ ${TOP_INCDIR}/afs/work_queue.h \
+ ${TOP_INCDIR}/afs/work_queue_types.h \
+ ${TOP_INCDIR}/afs/tabular_output.h
-util.a: ${objects} AFS_component_version_number.o
- $(RM) -f util.a
- $(AR) crv util.a ${objects} AFS_component_version_number.o
- $(RANLIB) util.a
+all: ${includes} \
+ ${TOP_LIBDIR}/util.a \
+ ${TOP_LIBDIR}/libafsutil.a \
+ ${TOP_LIBDIR}/libafsutil_pic.a \
+ sys \
+ liboafs_util.la \
+ libafsrpc_util.la
-volparse.o: volparse.c
- ${CC} ${CFLAGS} -c volparse.c
+util.a: $(LT_objs)
+ $(LT_LDLIB_lwp) $(LT_objs)
-snprintf.o: snprintf.c
- ${CC} ${CFLAGS} -c snprintf.c
+libafsutil_pic.la: $(LT_objs)
+ $(LT_LDLIB_pic) $(LT_objs)
-base64.o: base64.c
- ${CC} ${CFLAGS} -c base64.c
+liboafs_util.la: liboafs_util.la.sym $(LT_objs) $(LT_deps)
+ $(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs)
-hostparse.o: hostparse.c afsutil.h
- ${CC} ${CFLAGS} -c hostparse.c
+libafsrpc_util.la: $(LT_rpc_objs)
+ $(LT_LDLIB_pic) $(LT_rpc_objs)
-ktime.o: ktime.c
- ${CC} ${CFLAGS} -c ktime.c
+buildtools: ${TOP_LIBDIR}/libafsutil.a ${TOP_INCDIR}/afs/afsutil.h
+buildtools_clean: clean
-kreltime.o: kreltime.c
- ${CC} ${CFLAGS} -c kreltime.c
+depinstall: ${includes}
-get_krbrlm.o: get_krbrlm.c
- ${CC} ${CFLAGS} -c get_krbrlm.c
+${TOP_INCDIR}/afs/dirpath.h: dirpath.h
+ ${INSTALL_DATA} $? $@
-uuid.o: uuid.c
- ${CC} ${CFLAGS} -c uuid.c
+${TOP_INCDIR}/afs/pthread_nosigs.h: ${srcdir}/pthread_nosigs.h
+ ${INSTALL_DATA} $? $@
-sys.o: sys.c ${SRCDIR}/include/afs/param.h AFS_component_version_number.c
- ${CC} ${CFLAGS} -c sys.c
+${TOP_INCDIR}/afs/errors.h: ${srcdir}/errors.h
+ ${INSTALL_DATA} $? $@
-sys: sys.o
- ${CC} ${LDFLAGS} -o sys sys.o
+${TOP_INCDIR}/afs/vice.h: ${srcdir}/vice.h
+ ${INSTALL_DATA} $? $@
-isathing.o: isathing.c
- ${CC} ${CFLAGS} -c isathing.c
+${TOP_INCDIR}/afs/ktime.h: ${srcdir}/ktime.h
+ ${INSTALL_DATA} $? $@
-serverLog.o: serverLog.c
- ${CC} ${CFLAGS} -c serverLog.c
+${TOP_INCDIR}/afs/fileutil.h: ${srcdir}/fileutil.h
+ ${INSTALL_DATA} $? $@
-dirpath.o: dirpath.c dirpath.h
- ${CC} ${CFLAGS} -c dirpath.c
+${TOP_INCDIR}/afs/afsutil.h: ${srcdir}/afsutil.h
+ ${INSTALL_DATA} $? $@
-fileutil.o: fileutil.c fileutil.h
- ${CC} ${CFLAGS} -c fileutil.c
+${TOP_INCDIR}/afs/afsutil_prototypes.h: ${srcdir}/afsutil_prototypes.h
+ ${INSTALL_DATA} $? $@
-netutils.o: netutils.c netutils.h
- ${CC} ${CFLAGS} -c netutils.c
+${TOP_INCDIR}/afs/pthread_glock.h: ${srcdir}/pthread_glock.h
+ ${INSTALL_DATA} $? $@
-afs_atomlist.o: afs_atomlist.c afs_atomlist.h
- ${CC} ${CFLAGS} -c afs_atomlist.c
+${TOP_INCDIR}/afs/afs_atomlist.h: ${srcdir}/afs_atomlist.h
+ ${INSTALL_DATA} $? $@
-afs_lhash.o: afs_lhash.c afs_lhash.h afs_atomlist.h
- ${CC} ${CFLAGS} -c afs_lhash.c
+${TOP_INCDIR}/afs/afs_lhash.h: ${srcdir}/afs_lhash.h
+ ${INSTALL_DATA} $? $@
-#
-# Install targets
-#
-KDIR=../libafs/afs
-UKDIR=../libuafs/afs
-INCDIR=${DESTDIR}/include
-LIBDIR=${DESTDIR}/lib/afs
-
-install: ukinstall kinstall \
- ${INCDIR}/afs/dirpath.h \
- ${INCDIR}/afs/pthread_nosigs.h \
- ${INCDIR}/afs/assert.h \
- ${INCDIR}/afs/errors.h \
- ${INCDIR}/afs/vice.h \
- ${INCDIR}/afs/remote.h \
- ${INCDIR}/afs/ktime.h \
- ${INCDIR}/afs/fileutil.h \
- ${INCDIR}/afs/netutils.h \
- ${INCDIR}/afs/packages.h \
- ${INCDIR}/afs/afsutil.h \
- ${INCDIR}/afs/pthread_glock.h \
- ${INCDIR}/afs/afs_atomlist.h \
- ${INCDIR}/afs/afs_lhash.h \
- ${INCDIR}/potpourri.h \
- ${LIBDIR}/util.a \
- ${LIBDIR}/libafsutil.a \
- ${DESTDIR}/bin/sys
-
-${INCDIR}/afs/dirpath.h: dirpath.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/pthread_nosigs.h: pthread_nosigs.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/assert.h: assert.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/errors.h: errors.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/vice.h: vice.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/remote.h: remote.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/ktime.h: ktime.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/fileutil.h: fileutil.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/netutils.h: netutils.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/packages.h: packages.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/afsutil.h: afsutil.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/pthread_glock.h: pthread_glock.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/afs_atomlist.h: afs_atomlist.h
- ${INSTALL} $? $@
-
-${INCDIR}/afs/afs_lhash.h: afs_lhash.h
- ${INSTALL} $? $@
-
-${INCDIR}/potpourri.h: potpourri.h
- ${INSTALL} $? $@
-
-${LIBDIR}/util.a: util.a
- ${INSTALL} $? $@
-
-${LIBDIR}/libafsutil.a: util.a
- ${INSTALL} $? $@
-
-${DESTDIR}/bin/sys: sys
- ${INSTALL} $? $@
-
-kinstall: ${KDIR}/vice.h \
- ${KDIR}/afs_base64.c \
- ${KDIR}/afs_uuid.c \
- ${KDIR}/afs_atomlist.c \
- ${KDIR}/afs_atomlist.h \
- ${KDIR}/afs_lhash.c \
- ${KDIR}/afs_lhash.h
-
-${KDIR}/vice.h: vice.h
- ${INSTALL} $? $@
+${TOP_INCDIR}/afs/work_queue.h: ${srcdir}/work_queue.h
+ ${INSTALL_DATA} $? $@
-${KDIR}/afs_base64.c: base64.c
- ${INSTALL} $? $@
+${TOP_INCDIR}/afs/work_queue_types.h: ${srcdir}/work_queue_types.h
+ ${INSTALL_DATA} $? $@
-${KDIR}/afs_uuid.c: uuid.c
- ${INSTALL} $? $@
+${TOP_INCDIR}/afs/tabular_output.h: ${srcdir}/tabular_output.h
+ ${INSTALL_DATA} $? $@
-${KDIR}/afs_atomlist.c: afs_atomlist.c
- ${INSTALL} $? $@
+${TOP_LIBDIR}/util.a: util.a
+ ${INSTALL_DATA} $? $@
-${KDIR}/afs_atomlist.h: afs_atomlist.h
- ${INSTALL} $? $@
+${TOP_LIBDIR}/libafsutil.a: util.a
+ ${INSTALL_DATA} $? $@
-${KDIR}/afs_lhash.c: afs_lhash.c
- ${INSTALL} $? $@
+${TOP_LIBDIR}/libafsutil_pic.a: libafsutil_pic.la
+ ${INSTALL_DATA} .libs/libafsutil_pic.a $@
-${KDIR}/afs_lhash.h: afs_lhash.h
- ${INSTALL} $? $@
+# Use " as the sed boundary character because we lose anyway if that occurs
+# in path names.
+dirpath.h: ${srcdir}/dirpath.hin Makefile
+ sed \
+ -e 's"@afsconfdir"${afsconfdir}"' \
+ -e 's"@viceetcdir"${viceetcdir}"' \
+ -e 's"@afssrvbindir"${afssrvbindir}"' \
+ -e 's"@afssrvsbindir"${afssrvsbindir}"' \
+ -e 's"@afssrvlibexecdir"${afssrvlibexecdir}"' \
+ -e 's"@afsdbdir"${afsdbdir}"' \
+ -e 's"@afslogsdir"${afslogsdir}"' \
+ -e 's"@afslocaldir"${afslocaldir}"' \
+ -e 's"@afsbackupdir"${afsbackupdir}"' \
+ -e 's"@afsbosconfigdir"${afsbosconfigdir}"' \
+ -e 's"@afsdatadir"${afsdatadir}"' \
+ ${srcdir}/dirpath.hin >dirpath.h
-ukinstall: \
- ${UKDIR}/afs_uuid.c \
- ${UKDIR}/afs_atomlist.c \
- ${UKDIR}/afs_atomlist.h \
- ${UKDIR}/afs_lhash.c \
- ${UKDIR}/afs_lhash.h \
- ${UKDIR}/pthread_glock.h \
- ${UKDIR}/vice.h \
- ${UKDIR}/errors.h \
- ${UKDIR}/afsutil.h \
- ${UKDIR}/dirpath.h \
- ${UKDIR}/dirpath.c \
- ${UKDIR}/fileutil.h \
- ${UKDIR}/fileutil.c \
- ${UKDIR}/netutils.h \
- ${UKDIR}/netutils.c \
- ${UKDIR}/casestrcpy.c \
- ${UKDIR}/hostparse.c
-${UKDIR}/errors.h: errors.h
- ${INSTALL} $? $@
+$(LT_objs): ${includes}
-${UKDIR}/afsutil.h: afsutil.h
- ${INSTALL} $? $@
+sys.o: sys.c AFS_component_version_number.c ${includes}
-${UKDIR}/dirpath.h: dirpath.h
- ${INSTALL} $? $@
+sys: sys.o
+ $(AFS_LDRULE) sys.o
-${UKDIR}/dirpath.c: dirpath.c
- ${INSTALL} $? $@
-
-${UKDIR}/fileutil.h: fileutil.h
- ${INSTALL} $? $@
-
-${UKDIR}/fileutil.c: fileutil.c
- ${INSTALL} $? $@
-
-${UKDIR}/netutils.h: netutils.h
- ${INSTALL} $? $@
-
-${UKDIR}/netutils.c: netutils.c
- ${INSTALL} $? $@
-
-${UKDIR}/casestrcpy.c: casestrcpy.c
- ${INSTALL} $? $@
-
-${UKDIR}/hostparse.c: hostparse.c
- ${INSTALL} $? $@
-
-${UKDIR}/pthread_glock.h: pthread_glock.h
- ${INSTALL} $? $@
-
-${UKDIR}/vice.h: vice.h
- ${INSTALL} $? $@
-
-${UKDIR}/afs_uuid.c: uuid.c
- ${INSTALL} $? $@
-
-${UKDIR}/afs_atomlist.c: afs_atomlist.c
- ${INSTALL} $? $@
-
-${UKDIR}/afs_atomlist.h: afs_atomlist.h
- ${INSTALL} $? $@
-
-${UKDIR}/afs_lhash.c: afs_lhash.c
- ${INSTALL} $? $@
+#
+# Install targets
+#
+KDIR=../libafs/afs
+UKDIR=../libuafs/afs
-${UKDIR}/afs_lhash.h: afs_lhash.h
- ${INSTALL} $? $@
+install: dirpath.h util.a sys
+ ${INSTALL} -d ${DESTDIR}${includedir}/afs
+ ${INSTALL} -d ${DESTDIR}${libdir}/afs
+ ${INSTALL} -d ${DESTDIR}${bindir}
+ ${INSTALL_DATA} dirpath.h ${DESTDIR}${includedir}/afs/dirpath.h
+ ${INSTALL_DATA} ${srcdir}/pthread_nosigs.h ${DESTDIR}${includedir}/afs/pthread_nosigs.h
+ ${INSTALL_DATA} ${srcdir}/errors.h ${DESTDIR}${includedir}/afs/errors.h
+ ${INSTALL_DATA} ${srcdir}/vice.h ${DESTDIR}${includedir}/afs/vice.h
+ ${INSTALL_DATA} ${srcdir}/ktime.h ${DESTDIR}${includedir}/afs/ktime.h
+ ${INSTALL_DATA} ${srcdir}/fileutil.h ${DESTDIR}${includedir}/afs/fileutil.h
+ ${INSTALL_DATA} ${srcdir}/afsutil.h ${DESTDIR}${includedir}/afs/afsutil.h
+ ${INSTALL_DATA} ${srcdir}/afsutil_prototypes.h ${DESTDIR}${includedir}/afs/afsutil_prototypes.h
+ ${INSTALL_DATA} ${srcdir}/pthread_glock.h ${DESTDIR}${includedir}/afs/pthread_glock.h
+ ${INSTALL_DATA} ${srcdir}/afs_atomlist.h ${DESTDIR}${includedir}/afs/afs_atomlist.h
+ ${INSTALL_DATA} ${srcdir}/afs_lhash.h ${DESTDIR}${includedir}/afs/afs_lhash.h
+ ${INSTALL_DATA} ${srcdir}/work_queue.h ${DESTDIR}${includedir}/afs/work_queue.h
+ ${INSTALL_DATA} ${srcdir}/work_queue_types.h ${DESTDIR}${includedir}/afs/work_queue_types.h
+ ${INSTALL_DATA} ${srcdir}/tabular_output.h ${DESTDIR}${includedir}/afs/tabular_output.h
+ ${INSTALL_DATA} util.a ${DESTDIR}${libdir}/afs/util.a
+ ${INSTALL_DATA} util.a ${DESTDIR}${libdir}/afs/libafsutil.a
+ ${INSTALL_PROGRAM} sys ${DESTDIR}${bindir}/sys
+
+dest: dirpath.h util.a sys
+ ${INSTALL} -d ${DEST}/include/afs
+ ${INSTALL} -d ${DEST}/lib/afs
+ ${INSTALL} -d ${DEST}/bin
+ ${INSTALL_DATA} dirpath.h ${DEST}/include/afs/dirpath.h
+ ${INSTALL_DATA} ${srcdir}/pthread_nosigs.h ${DEST}/include/afs/pthread_nosigs.h
+ ${INSTALL_DATA} ${srcdir}/errors.h ${DEST}/include/afs/errors.h
+ ${INSTALL_DATA} ${srcdir}/vice.h ${DEST}/include/afs/vice.h
+ ${INSTALL_DATA} ${srcdir}/ktime.h ${DEST}/include/afs/ktime.h
+ ${INSTALL_DATA} ${srcdir}/fileutil.h ${DEST}/include/afs/fileutil.h
+ ${INSTALL_DATA} ${srcdir}/afsutil.h ${DEST}/include/afs/afsutil.h
+ ${INSTALL_DATA} ${srcdir}/afsutil_prototypes.h ${DEST}/include/afs/afsutil_prototypes.h
+ ${INSTALL_DATA} ${srcdir}/pthread_glock.h ${DEST}/include/afs/pthread_glock.h
+ ${INSTALL_DATA} ${srcdir}/afs_atomlist.h ${DEST}/include/afs/afs_atomlist.h
+ ${INSTALL_DATA} ${srcdir}/afs_lhash.h ${DEST}/include/afs/afs_lhash.h
+ ${INSTALL_DATA} ${srcdir}/work_queue.h ${DEST}/include/afs/work_queue.h
+ ${INSTALL_DATA} ${srcdir}/work_queue_types.h ${DEST}/include/afs/work_queue_types.h
+ ${INSTALL_DATA} ${srcdir}/tabular_output.h ${DEST}/include/afs/tabular_output.h
+ ${INSTALL_DATA} util.a ${DEST}/lib/afs/util.a
+ ${INSTALL_DATA} util.a ${DEST}/lib/afs/libafsutil.a
+ ${INSTALL_PROGRAM} sys ${DEST}/bin/sys
#
# Misc targets
#
clean:
- $(RM) -f ${objects} sys
+ $(LT_CLEAN)
+ $(RM) -f sys dirpath.h
$(RM) -f util.a *.o core AFS_component_version_number.c
+.PHONY: test
test:
- cd test; $(MAKE)
+ cd test && $(MAKE)
include ../config/Makefile.version
+
+check-splint:
+ sh $(HELPER_SPLINT) $(CFLAGS) \
+ base64.c ktime.c volparse.c hostparse.c \
+ hputil.c kreltime.c uuid.c serverLog.c \
+ dirpath.c fileutil.c flipbase64.c \
+ afs_atomlist.c afs_lhash.c fstab.c