# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
-srcdir=@srcdir@/../vlserver
+srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
+include @TOP_OBJDIR@/src/config/Makefile.pthread
-CCRULE=${MT_CC} ${CFLAGS} ${MT_CFLAGS} -c $?
+HELPER_SPLINT=@HELPER_SPLINT@
+ENABLE_PTHREADED_UBIK=@ENABLE_PTHREADED_UBIK@
-RX=../rx
-UTIL=../util
+RX=$(srcdir)/../rx
+VLSERVER=$(srcdir)/../vlserver
RXOBJS= rx_pthread.o rxkad_errs.o
-UTILOBJS=assert.o uuid.o serverLog.o fileutil.o netutils.o dirpath.o \
- volparse.o flipbase64.o softsig.o hostparse.o snprintf.o \
- pthread_glock.o get_krbrlm.o
-
INCLS=${TOP_INCDIR}/ubik.h \
${TOP_INCDIR}/lwp.h \
${TOP_INCDIR}/lock.h \
${TOP_INCDIR}/rx/xdr.h \
${TOP_INCDIR}/afs/keys.h \
${TOP_INCDIR}/afs/cellconfig.h \
- vlserver.h ${srcdir}/vlclient.h vldbint.h
+ vlserver.h vldbint.h
-LIBS=${RXOBJS} ${UTILOBJS} \
+LIBS_common = \
${TOP_LIBDIR}/libubik_pthread.a \
${TOP_LIBDIR}/libafsauthent.a \
- ${TOP_LIBDIR}/librxstat.a \
- ${TOP_LIBDIR}/libcom_err.a \
- ${TOP_LIBDIR}/libcmd.a \
- ${TOP_LIBDIR}/libsys.a \
+ $(top_builddir)/src/cmd/liboafs_cmd.la \
${TOP_LIBDIR}/libafsrpc.a \
- ${LDFLAGS} ${MT_LIBS}
+ $(top_builddir)/src/util/liboafs_util.la \
+ ${TOP_LIBDIR}/libaudit.a \
+ $(top_builddir)/src/opr/liboafs_opr.la
+
+LIBS_server = \
+ ${TOP_LIBDIR}/libaudit.a \
+ $(LIBS_common)
-OBJS=vldbint.xdr.o vldbint.cs.o vl_errors.o
+LIBS_client = \
+ $(LIBS_common)
+OBJS=vldbint.xdr.o vldbint.cs.o vl_errors.o ${RXOBJS}
all: \
- vlserver vlclient cnvldb vlserver cnvldb vldb_check \
- Kvldbint.cs.c Kvldbint.xdr.c vldbint.h \
- ${TOP_LIBDIR}/libvldb.a depinstall
+ vlserver vlclient vlserver cnvldb vldb_check \
+ Kvldbint.cs.c Kvldbint.xdr.c vldbint.h
-depinstall: \
- Kvldbint.cs.c Kvldbint.xdr.c vldbint.h \
- ${TOP_INCDIR}/afs/vl_opcodes.h \
- ${TOP_INCDIR}/afs/vlserver.h \
- ${TOP_INCDIR}/afs/vldbint.h \
- ${TOP_INCDIR}/afs/cnvldb.h
+depinstall:
rx_pthread.o: ${RX}/rx_pthread.c
- ${CCRULE}
+ $(AFS_CCRULE) $(RX)/rx_pthread.c
rxkad_errs.o: ../rxkad/rxkad_errs.c
- ${CCRULE}
-
-#
-# get the pthreaded util stuff compiled here. we do this instead of
-# using the non-pthreaded libutil.a. There probably should be a
-# pthreaded version of this library, as we are doing with ubik itself, but...
-#
-
-assert.o: ${UTIL}/assert.c
- ${CCRULE}
-
-uuid.o: ${UTIL}/uuid.c
- ${CCRULE}
-
-serverLog.o: ${UTIL}/serverLog.c
- ${CCRULE}
-
-fileutil.o: ${UTIL}/fileutil.c
- ${CCRULE}
-
-volparse.o: ${UTIL}/volparse.c
- ${CCRULE}
-
-flipbase64.o: ${UTIL}/flipbase64.c
- ${CCRULE}
+ $(AFS_CCRULE) ../rxkad/rxkad_errs.c
-netutils.o: ${UTIL}/netutils.c
- ${CCRULE}
-
-dirpath.o: ${UTIL}/dirpath.c
- ${CCRULE}
-
-softsig.o: ${UTIL}/softsig.c
- ${CCRULE}
-
-hostparse.o: ${UTIL}/hostparse.c
- ${CCRULE}
-
-snprintf.o: ${UTIL}/snprintf.c
- ${CCRULE}
-
-pthread_glock.o: ${UTIL}/pthread_glock.c
- ${CCRULE}
-
-get_krbrlm.o: ${UTIL}/get_krbrlm.c
- ${CCRULE}
#
# Other stuff
#
-vldb_check: vldb_check.o ${LIBS}
- $(CC) ${CFLAGS} -o vldb_check vldb_check.o ${LIBS} ${XLIBS}
+vldb_check: vldb_check.o AFS_component_version_number.o $(LIBS_client)
+ $(LT_LDRULE_static) vldb_check.o AFS_component_version_number.o \
+ $(LIBS_client) $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS}
-vldb_check.o: ${srcdir}/vldb_check.c AFS_component_version_number.o
- ${CCRULE}
+vldb_check.o: ${VLSERVER}/vldb_check.c
+ $(AFS_CCRULE) $(VLSERVER)/vldb_check.c
-cnvldb: cnvldb.o ${LIBS}
- $(CC) ${CFLAGS} -o cnvldb cnvldb.o ${LIBS} ${XLIBS}
+cnvldb: cnvldb.o $(LIBS_client)
+ $(LT_LDRULE_static) cnvldb.o \
+ $(LIBS_client) $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS}
-cnvldb.o: ${srcdir}/cnvldb.c ${srcdir}/cnvldb.h AFS_component_version_number.o
- ${CCRULE}
+cnvldb.o: ${VLSERVER}/cnvldb.c
+ $(AFS_CCRULE) $(VLSERVER)/cnvldb.c
-sascnvldb: sascnvldb.o ${LIBS}
- $(CC) ${CFLAGS} -o sascnvldb sascnvldb.o ${LIBS} ${XLIBS}
+sascnvldb: sascnvldb.o $(LIBS_client)
+ $(LT_LDRULE_static) sascnvldb.o \
+ $(LIBS_client) $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS}
-sascnvldb.o: ${srcdir}/sascnvldb.c ${srcdir}/cnvldb.h AFS_component_version_number.o
- ${CCRULE}
+sascnvldb.o: ${VLSERVER}/sascnvldb.c
+ $(AFS_CCRULE) $(VLSERVER)/sascnvldb.c
-vlserver: vlserver.o vlutils.o vlprocs.o vldbint.ss.o vldbint.xdr.o $(LIBS)
- $(CC) ${CFLAGS} -o vlserver vlserver.o vlutils.o vlprocs.o vldbint.ss.o \
- vldbint.xdr.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
+vlserver: vlserver.o vlutils.o vlprocs.o vldbint.ss.o vldbint.xdr.o $(LIBS_server)
+ $(LT_LDRULE_static) vlserver.o vlutils.o vlprocs.o vldbint.ss.o \
+ vldbint.xdr.o \
+ $(LIBS_server) $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS}
-vlserver.o: ${srcdir}/vlserver.c ${INCLS} AFS_component_version_number.o
- ${CCRULE}
+vlserver.o: ${VLSERVER}/vlserver.c ${INCLS} AFS_component_version_number.o
+ $(AFS_CCRULE) $(VLSERVER)/vlserver.c
-vlutils.o: ${srcdir}/vlutils.c ${INCLS}
- ${CCRULE}
+vlutils.o: ${VLSERVER}/vlutils.c ${INCLS}
+ $(AFS_CCRULE) $(VLSERVER)/vlutils.c
-vlprocs.o: ${srcdir}/vlprocs.c ${INCLS}
- ${CCRULE}
+vlprocs.o: ${VLSERVER}/vlprocs.c ${INCLS}
+ $(AFS_CCRULE) $(VLSERVER)/vlprocs.c
-vldbint.ss.o: vldbint.ss.c vldbint.xdr.c
- ${CCRULE}
+vldbint.ss.o: vldbint.ss.c
+vldbint.cs.o: vldbint.cs.c
+vldbint.xdr.o: vldbint.xdr.c
-vldbint.cs.o: vldbint.cs.c vldbint.xdr.c
- ${CCRULE}
+vldbint.cs.c: ${VLSERVER}/vldbint.xg
+ ${RXGEN} -A -u -x -C -o $@ ${srcdir}/${VLSERVER}/vldbint.xg
-vldbint.xdr.o: vldbint.xdr.c vldbint.h
- ${CCRULE}
+vldbint.ss.c: ${VLSERVER}/vldbint.xg
+ ${RXGEN} -A -x -S -o $@ ${srcdir}/${VLSERVER}/vldbint.xg
-vldbint.cs.c: ${srcdir}/vldbint.xg
- ${RXGEN} -u -x -C -o $@ ${srcdir}/vldbint.xg
+vldbint.xdr.c: ${VLSERVER}/vldbint.xg
+ ${RXGEN} -A -x -c -o $@ ${srcdir}/${VLSERVER}/vldbint.xg
-vldbint.ss.c: ${srcdir}/vldbint.xg
- ${RXGEN} -x -S -o $@ ${srcdir}/vldbint.xg
-
-vldbint.xdr.c: ${srcdir}/vldbint.xg
- ${RXGEN} -x -c -o $@ ${srcdir}/vldbint.xg
-
-vldbint.h: ${srcdir}/vldbint.xg
- ${RXGEN} -u -x -h -o $@ ${srcdir}/vldbint.xg
+vldbint.h: ${VLSERVER}/vldbint.xg
+ ${RXGEN} -A -u -x -h -o $@ ${srcdir}/${VLSERVER}/vldbint.xg
vldbint.cs.c: vldbint.h
vldbint.ss.c: vldbint.h
vldbint.xdr.c: vldbint.h
-Kvldbint.cs.c: ${srcdir}/vldbint.xg
- ${RXGEN} -x -k -C -o $@ ${srcdir}/vldbint.xg
-
-Kvldbint.xdr.c: ${srcdir}/vldbint.xg
- ${RXGEN} -x -k -c -o $@ ${srcdir}/vldbint.xg
-
-libvldb.a: $(OBJS) AFS_component_version_number.o
- $(RM) -f $@
- $(AR) crv $@ $(OBJS) AFS_component_version_number.o
- $(RANLIB) $@
-
-vlclient: vlclient.o libvldb.a $(LIBS)
- $(CC) ${CFLAGS} -o vlclient vlclient.o libvldb.a $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libcmd.a
+Kvldbint.cs.c: ${VLSERVER}/vldbint.xg
+ ${RXGEN} -A -x -k -C -o $@ ${srcdir}/${VLSERVER}/vldbint.xg
-vlclient.o: ${srcdir}/vlclient.c ${INCLS} AFS_component_version_number.o
- ${CCRULE}
+Kvldbint.xdr.c: ${VLSERVER}/vldbint.xg
+ ${RXGEN} -A -x -k -c -o $@ ${srcdir}/${VLSERVER}/vldbint.xg
+vlclient: vlclient.o $(OBJS) $(LIBS) ${INCLS}
+ $(LT_LDRULE_static) vlclient.o $(OBJS) \
+ $(LIBS_server) $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS}
+
+vlclient.o: ${VLSERVER}/vlclient.c
+ $(AFS_CCRULE) $(VLSERVER)/vlclient.c
vl_errors.o: vl_errors.c
- ${CCRULE}
-vlserver.h vl_errors.c: ${srcdir}/vl_errors.et ${srcdir}/vlserver.p.h
- $(RM) -f vlserver.h vl_errors.c; ${COMPILE_ET} -p ${srcdir} vl_errors -h vlserver
+vlserver.h vl_errors.c: ${VLSERVER}/vl_errors.et ${VLSERVER}/vlserver.p.h
+ $(RM) -f vlserver.h vl_errors.c; ${COMPILE_ET} -p ${srcdir}/${VLSERVER} vl_errors -h vlserver
system: install
-${DEST}/root.server/usr/afs/bin/vlserver: vlserver
- ${INSTALL} $? $@
-
-${DEST}/etc/vldb_convert: cnvldb
- ${INSTALL} -f $? $@
-
-${TOP_LIBDIR}/libvldb.a: libvldb.a
- ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/vl_opcodes.h: ${srcdir}/vl_opcodes.h
- ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/vlserver.h: vlserver.h
- ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/vldbint.h: vldbint.h
- ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/cnvldb.h: ${srcdir}/cnvldb.h
- ${INSTALL} $? $@
-
-install: \
- ${DESTDIR}${afssrvlibexecdir}/vlserver \
- ${DESTDIR}${afssrvsbindir}/vldb_convert \
- ${DESTDIR}${libdir}/afs/libvldb.a \
- ${DESTDIR}${includedir}/afs/vl_opcodes.h \
- ${DESTDIR}${includedir}/afs/vlserver.h \
- ${DESTDIR}${includedir}/afs/vldbint.h \
- ${DESTDIR}${includedir}/afs/cnvldb.h \
- ${DESTDIR}${afssrvsbindir}/vldb_check
-
-${DESTDIR}${afssrvlibexecdir}/vlserver: vlserver
- ${INSTALL} $? $@
-
-${DESTDIR}${afssrvsbindir}/vldb_convert: cnvldb
- ${INSTALL} -f $? $@
-
-${DESTDIR}${libdir}/afs/libvldb.a: libvldb.a
- ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/vl_opcodes.h: ${srcdir}/vl_opcodes.h
- ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/vlserver.h: vlserver.h
- ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/vldbint.h: vldbint.h
- ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/cnvldb.h: ${srcdir}/cnvldb.h
- ${INSTALL} $? $@
-
-${DESTDIR}${afssrvsbindir}/vldb_check: vldb_check
- ${INSTALL} $? $@
-
-dest: \
- ${DEST}/root.server/usr/afs/bin/vlserver \
- ${DEST}/etc/vldb_convert \
- ${DEST}/lib/afs/libvldb.a \
- ${DEST}/include/afs/vl_opcodes.h \
- ${DEST}/include/afs/vlserver.h \
- ${DEST}/include/afs/vldbint.h \
- ${DEST}/include/afs/cnvldb.h \
- ${DEST}/etc/vldb_check
-
-${DEST}/lib/afs/libvldb.a: libvldb.a
- ${INSTALL} $? $@
-
-${DEST}/include/afs/vl_opcodes.h: ${srcdir}/vl_opcodes.h
- ${INSTALL} $? $@
-
-${DEST}/include/afs/vlserver.h: vlserver.h
- ${INSTALL} $? $@
-
-${DEST}/include/afs/vldbint.h: vldbint.h
- ${INSTALL} $? $@
-
-${DEST}/include/afs/cnvldb.h: ${srcdir}/cnvldb.h
- ${INSTALL} $? $@
-
-${DEST}/etc/vldb_check: vldb_check
- ${INSTALL} $? $@
+install: vlserver cnvldb vldb_check
+ if [ "x$(ENABLE_PTHREADED_UBIK)" = "xyes" ] ; then \
+ $(LT_INSTALL_PROGRAM) vlserver \
+ ${DESTDIR}${afssrvlibexecdir}/vlserver; \
+ $(LT_INSTALL_PROGRAM) cnvldb \
+ ${DESTDIR}${afssrvsbindir}/vldb_convert; \
+ $(LT_INSTALL_PROGRAM) vldb_check \
+ ${DESTDIR}${afssrvsbindir}/vldb_check; \
+ fi
+
+dest: vlserver cnvldb vldb_check
+ if [ "x$(ENABLE_PTHREADED_UBIK)" = "xyes" ] ; then \
+ $(LT_INSTALL_PROGRAM) vlserver \
+ ${DEST}/root.server/usr/afs/bin/vlserver; \
+ $(LT_INSTALL_PROGRAM) cnvldb \
+ ${DEST}/etc/vldb_convert; \
+ $(LT_INSTALL_PROGRAM) vldb_check \
+ ${DEST}/etc/vldb_check; \
+ fi
#
# Misc targets
include ../config/Makefile.version
clean:
+ $(LT_CLEAN)
$(RM) -f *.o *.a *.otl *.xdr.c *.cs.c *.ss.c core \
vlserver vlclient cnvldb vldbint.h vlserver.h vldb_check \
vl_errors.c AFS_component_version_number.c