# 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)
-headers = assert.h potpourri.h itc.h errors.h afsutil.h pthread_glock.h \
- dirpath.h afs_atomlist.h afs_lhash.h
+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
-include ../config/Makefile.version
-
-system noversion: install
-
-all: util.a sys
-
-${DESTDIR}bin/sys: sys
- ${INSTALL} sys ${DESTDIR}bin/sys
-
-install0: ${DESTDIR}include/afs/dirpath.h \
- ${DESTDIR}include/afs/pthread_nosigs.h \
- ${objects} util.a ${DESTDIR}bin/sys ${someheaders} doc
- ${INSTALL} util.a ${DESTDIR}lib/afs
- ${INSTALL} util.a ${DESTDIR}lib/afs/libafsutil.a
- ${INSTALL} assert.h errors.h vice.h remote.h ktime.h fileutil.h \
- netutils.h packages.h afsutil.h pthread_glock.h \
- afs_atomlist.h afs_lhash.h \
- ${DESTDIR}include/afs
- ${INSTALL} potpourri.h ${DESTDIR}include
-
-install: install0 kinstall ukinstall
-
-install_headers:
- ${INSTALL} assert.h errors.h vice.h remote.h ktime.h fileutil.h \
- netutils.h packages.h afsutil.h pthread_glock.h \
- afs_atomlist.h afs_lhash.h \
- ${DESTDIR}include/afs
-
-kinstall:
- ${INSTALL} vice.h ../libafs/afs
- ${INSTALL} base64.c ../libafs/afs/afs_base64.c
- ${INSTALL} uuid.c ../libafs/afs/afs_uuid.c
- ${INSTALL} afs_atomlist.c ../libafs/afs
- ${INSTALL} afs_atomlist.h ../libafs/afs
- ${INSTALL} afs_lhash.c ../libafs/afs
- ${INSTALL} afs_lhash.h ../libafs/afs
-
-ukinstall webinstall: install0
- ${INSTALL} pthread_glock.h vice.h errors.h afsutil.h dirpath.h fileutil.h netutils.h casestrcpy.c dirpath.c hostparse.c fileutil.c netutils.c ../libuafs/afs
- ${INSTALL} uuid.c ../libuafs/afs/afs_uuid.c
- ${INSTALL} afs_atomlist.c ../libuafs/afs
- ${INSTALL} afs_atomlist.h ../libuafs/afs
- ${INSTALL} afs_lhash.c ../libuafs/afs
- ${INSTALL} afs_lhash.h ../libuafs/afs
-
-${DESTDIR}include/afs/dirpath.h: dirpath.h
- ${INSTALL} dirpath.h ${DESTDIR}include/afs
-
-${DESTDIR}include/afs/pthread_nosigs.h: pthread_nosigs.h
- ${INSTALL} pthread_nosigs.h ${DESTDIR}include/afs
-
-doc:
- echo no documents in this directory
-
-util.a: ${objects} AFS_component_version_number.o
- rm -f util.a
- $(AR) r util.a ${objects} AFS_component_version_number.o
- $(RANLIB) util.a
-
-volparse.o: volparse.c
- ${CC} ${CFLAGS} -c volparse.c
-
-snprintf.o: snprintf.c
- ${CC} ${CFLAGS} -c snprintf.c
-
-base64.o: base64.c
- ${CC} ${CFLAGS} -c base64.c
+all: ${includes} \
+ ${TOP_LIBDIR}/util.a \
+ ${TOP_LIBDIR}/libafsutil.a \
+ ${TOP_LIBDIR}/libafsutil_pic.a \
+ sys \
+ liboafs_util.la \
+ libafsrpc_util.la
-hostparse.o: hostparse.c afsutil.h
- ${CC} ${CFLAGS} -c hostparse.c
+util.a: $(LT_objs)
+ $(LT_LDLIB_lwp) $(LT_objs)
-ktime.o: ktime.c
- ${CC} ${CFLAGS} -c ktime.c
-
-kreltime.o: kreltime.c
- ${CC} ${CFLAGS} -c kreltime.c
-
-get_krbrlm.o: get_krbrlm.c
- ${CC} ${CFLAGS} -c get_krbrlm.c
-
-uuid.o: uuid.c
- ${CC} ${CFLAGS} -c uuid.c
-
-sys.o: sys.c ${SRCDIR}include/afs/param.h AFS_component_version_number.c
- ${CC} ${CFLAGS} -c sys.c
-
-sys: sys.o
- ${CC} ${LDFLAGS} -o sys sys.o
-
-isathing.o: isathing.c
- ${CC} ${CFLAGS} -c isathing.c
-
-serverLog.o: serverLog.c
- ${CC} ${CFLAGS} -c serverLog.c
-
-dirpath.o: dirpath.c dirpath.h
- ${CC} ${CFLAGS} -c dirpath.c
-
-fileutil.o: fileutil.c fileutil.h
- ${CC} ${CFLAGS} -c fileutil.c
-
-netutils.o: netutils.c netutils.h
- ${CC} ${CFLAGS} -c netutils.c
-
-afs_atomlist.o: afs_atomlist.c afs_atomlist.h
- ${CC} ${CFLAGS} -c afs_atomlist.c
-
-afs_lhash.o: afs_lhash.c afs_lhash.h afs_atomlist.h
- ${CC} ${CFLAGS} -c afs_lhash.c
+libafsutil_pic.la: $(LT_objs)
+ $(LT_LDLIB_pic) $(LT_objs)
+
+liboafs_util.la: liboafs_util.la.sym $(LT_objs) $(LT_deps)
+ $(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs)
+
+libafsrpc_util.la: $(LT_rpc_objs)
+ $(LT_LDLIB_pic) $(LT_rpc_objs)
+
+buildtools: ${TOP_LIBDIR}/libafsutil.a ${TOP_INCDIR}/afs/afsutil.h
+buildtools_clean: clean
+
+depinstall: ${includes}
+
+${TOP_INCDIR}/afs/dirpath.h: dirpath.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/pthread_nosigs.h: ${srcdir}/pthread_nosigs.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/errors.h: ${srcdir}/errors.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/vice.h: ${srcdir}/vice.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/ktime.h: ${srcdir}/ktime.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/fileutil.h: ${srcdir}/fileutil.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/afsutil.h: ${srcdir}/afsutil.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/afsutil_prototypes.h: ${srcdir}/afsutil_prototypes.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/pthread_glock.h: ${srcdir}/pthread_glock.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/afs_atomlist.h: ${srcdir}/afs_atomlist.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/afs_lhash.h: ${srcdir}/afs_lhash.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/work_queue.h: ${srcdir}/work_queue.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/work_queue_types.h: ${srcdir}/work_queue_types.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/tabular_output.h: ${srcdir}/tabular_output.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_LIBDIR}/util.a: util.a
+ ${INSTALL_DATA} $? $@
+
+${TOP_LIBDIR}/libafsutil.a: util.a
+ ${INSTALL_DATA} $? $@
+
+${TOP_LIBDIR}/libafsutil_pic.a: libafsutil_pic.la
+ ${INSTALL_DATA} .libs/libafsutil_pic.a $@
+
+# 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
+
+
+$(LT_objs): ${includes}
+
+sys.o: sys.c AFS_component_version_number.c ${includes}
+
+sys: sys.o
+ $(AFS_LDRULE) sys.o
+
+#
+# Install targets
+#
+KDIR=../libafs/afs
+UKDIR=../libuafs/afs
+
+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
- rm -f util.a *.o core AFS_component_version_number.c
-
-beancount:
- wc -l *.c *.h
+ $(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