# 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
-SHELL = /bin/sh
-
-include ../config/Makefile.${SYS_NAME}
-
-CFLAGS=${OPTMZ} -I${TOP_SRCDIR}/config -I./ -I${SRCDIR}/include ${XCFLAGS}
-UKERNELDIR=../libuafs/
LIBOBJS=disk.o remote.o beacon.o recovery.o ubik.o vote.o lock.o phys.o \
ubik_int.cs.o ubik_int.ss.o ubik_int.xdr.o ubikcmd.o \
- ubikclient.o uerrors.o
+ ubikclient.o uerrors.o uinit.o
+
+INCLS=${TOP_INCDIR}/lwp.h ${TOP_INCDIR}/lock.h \
+ ${TOP_INCDIR}/rx/rx.h ${TOP_INCDIR}/rx/xdr.h \
+ ${TOP_INCDIR}/lock.h ubik.h ubik_int.h
+
+LIBS=${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a \
+ ${TOP_LIBDIR}/libafscom_err.a ${TOP_LIBDIR}/libcmd.a \
+ ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libafsutil.a \
+ ${TOP_LIBDIR}/libopr.a ${XLIBS}
+
+all: depinstall ${TOP_LIBDIR}/libubik.a udebug utst_server utst_client
-INCLS= ${SRCDIR}/include/lwp.h ${SRCDIR}/include/lock.h \
- ${SRCDIR}/include/rx/rx.h ${SRCDIR}/include/rx/xdr.h \
- ${SRCDIR}/include/lock.h ubik.h ubik_int.h
+generated: \
+ utst_int.cs.c utst_int.ss.c utst_int.xdr.c utst_int.h \
+ Kubik_int.cs.c Kubik_int.xdr.c Kubik_int.h \
+ ubik_int.cs.c ubik_int.ss.c ubik_int.xdr.c ubik_int.h \
+ uerrors.c ubik.h
-LIBS=${SRCDIR}/lib/librx.a ${SRCDIR}/lib/liblwp.a \
- ${SRCDIR}/lib/afs/libcom_err.a ${SRCDIR}/lib/afs/libcmd.a \
- ${SRCDIR}/lib/afs/util.a ${SRCDIR}/lib/afs/libsys.a ${XLIBS}
+depinstall: \
+ ubik_int.cs.c ubik_int.xdr.c \
+ ${TOP_INCDIR}/ubik.h \
+ ${TOP_INCDIR}/ubik_int.h
-RXGEN=${SRCDIR}/bin/rxgen
-COMPILE_ET = ${SRCDIR}/bin/compile_et
+${TOP_LIBDIR}/libubik.a: libubik.a
+ ${INSTALL_DATA} $? $@
-all: libubik.a test
+${TOP_INCDIR}/ubik.h: ubik.h
+ ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/ubik_int.h: ubik_int.h
+ ${INSTALL_DATA} $? $@
utst_server: utst_server.o utst_int.ss.o utst_int.xdr.o libubik.a
- ${CC} ${CFLAGS} -o utst_server utst_server.o utst_int.ss.o utst_int.xdr.o libubik.a $(LIBS)
+ $(AFS_LDRULE) utst_server.o utst_int.ss.o utst_int.xdr.o \
+ libubik.a $(LIBS) $(LIB_roken)
utst_client: utst_client.o utst_int.cs.o utst_int.xdr.o libubik.a
- ${CC} ${CFLAGS} -o utst_client utst_client.o utst_int.cs.o utst_int.xdr.o libubik.a $(LIBS)
+ $(AFS_LDRULE) utst_client.o utst_int.cs.o utst_int.xdr.o \
+ libubik.a $(LIBS) $(LIB_roken)
udebug: udebug.o libubik.a
- ${CC} ${CFLAGS} -o udebug udebug.o libubik.a $(LIBS)
+ $(AFS_LDRULE) udebug.o libubik.a $(LIBS) $(LIB_roken)
+
+ubik_int.cs.c: ubik_int.xg
+ ${RXGEN} -A -x -C -o $@ ${srcdir}/ubik_int.xg
+
+ubik_int.ss.c: ubik_int.xg
+ ${RXGEN} -A -x -S -o $@ ${srcdir}/ubik_int.xg
+
+ubik_int.xdr.c: ubik_int.xg
+ ${RXGEN} -A -x -c -o $@ ${srcdir}/ubik_int.xg
-ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c ubik_int.h: ubik_int.xg
- ${RXGEN} -x ubik_int.xg
+ubik_int.h: ubik_int.xg
+ ${RXGEN} -A -x -h -o $@ ${srcdir}/ubik_int.xg
+
+ubik_int.cs.c: ubik_int.h
+ubik_int.ss.c: ubik_int.h
+ubik_int.xdr.c: ubik_int.h
Kubik_int.cs.c: ubik_int.xg Kubik_int.h
- ${RXGEN} -x -k -C -o Kubik_int.cs.c ubik_int.xg
-
+ ${RXGEN} -A -x -k -C -o Kubik_int.cs.c ${srcdir}/ubik_int.xg
+
Kubik_int.xdr.c: ubik_int.xg
- ${RXGEN} -x -k -c -o Kubik_int.xdr.c ubik_int.xg
-
+ ${RXGEN} -A -x -k -c -o Kubik_int.xdr.c ${srcdir}/ubik_int.xg
+
Kubik_int.h: ubik_int.xg
- ${RXGEN} -x -k -h -o Kubik_int.h ubik_int.xg
+ ${RXGEN} -A -x -k -h -o Kubik_int.h ${srcdir}/ubik_int.xg
utst_int.ss.o: utst_int.ss.c utst_int.xdr.c
utst_int.cs.o: utst_int.cs.c utst_int.xdr.c
utst_int.xdr.o: utst_int.xdr.c utst_int.h
-utst_int.ss.c utst_int.cs.c utst_int.xdr.c utst_int.h: utst_int.xg
- ${RXGEN} utst_int.xg
+
+utst_int.cs.c: utst_int.xg
+ ${RXGEN} -A -C -u -o $@ ${srcdir}/utst_int.xg
+
+utst_int.ss.c: utst_int.xg
+ ${RXGEN} -A -S -o $@ ${srcdir}/utst_int.xg
+
+utst_int.xdr.c: utst_int.xg
+ ${RXGEN} -A -c -o $@ ${srcdir}/utst_int.xg
+
+utst_int.h: utst_int.xg
+ ${RXGEN} -A -h -u -o $@ ${srcdir}/utst_int.xg
+
+utst_int.cs.c: utst_int.h
+utst_int.ss.c: utst_int.h
+utst_int.xdr.c: utst_int.h
utst_server.o: utst_server.c ${INCLS} utst_int.h AFS_component_version_number.c
utst_client.o: utst_client.c ${INCLS} utst_int.h AFS_component_version_number.c
udebug.o: udebug.c ${INCLS} AFS_component_version_number.c
- ${CC} ${CFLAGS} -g -I. -I${DESTDIR}/include -I${DESTDIR}/include/afs -I${DESTDIR}/ -c udebug.c
-
uerrors.o: uerrors.c
-uerrors.c ubik.h: uerrors.et ubik.p.h
+ubik.h: uerrors.c
+
+uerrors.c: uerrors.et ubik.p.h
$(RM) -f ubik.h uerrors.c
- ${COMPILE_ET} uerrors -h ubik
+ ${COMPILE_ET} -p ${srcdir} uerrors -h ubik
libubik.a: ${LIBOBJS} AFS_component_version_number.o
-$(RM) -f $@
$(RANLIB) $@
disk.o: disk.c ${INCLS}
+uinit.o: uinit.c ${INCLS}
remote.o: remote.c ${INCLS}
beacon.o: beacon.c ${INCLS}
lock.o: lock.c ${INCLS}
#
# Installation targets
#
-test: utst_server utst_client \
- ${DESTDIR}/bin/udebug \
- ${DESTDIR}/root.server/usr/afs/bin/udebug
-
-install: test ukinstall \
- ${DESTDIR}/lib/libubik.a \
- ${DESTDIR}/include/ubik.h \
- ${DESTDIR}/include/ubik_int.h
-
-${DESTDIR}/bin/udebug ${DESTDIR}/root.server/usr/afs/bin/udebug: udebug
- ${INSTALL} $? $@
-
-${DESTDIR}/lib/libubik.a: libubik.a
- ${INSTALL} $? $@
-
-${DESTDIR}/include/ubik.h: ubik.h
- ${INSTALL} $? $@
-
-${DESTDIR}/include/ubik_int.h: ubik_int.h
- ${INSTALL} $? $@
-
-ukinstall: ${UKERNELDIR}/afs ${UKERNELDIR}/afsint \
- ${UKERNELDIR}/afsint/ubik_int.h \
- ${UKERNELDIR}/afsint/ubik_int.cs.c \
- ${UKERNELDIR}/afsint/ubik_int.xdr.c \
- ${UKERNELDIR}/afs/ubik.h \
- ${UKERNELDIR}/afs/ubikclient.c \
- ${UKERNELDIR}/afs/uerrors.c
-
-${UKERNELDIR}/afs:
- mkdir -p $@
-
-${UKERNELDIR}/afsint:
- mkdir -p $@
-
-${UKERNELDIR}/afsint/ubik_int.h: Kubik_int.h
- ${INSTALL} $? $@
-
-${UKERNELDIR}/afsint/ubik_int.cs.c: Kubik_int.cs.c
- ${INSTALL} $? $@
-
-${UKERNELDIR}/afsint/ubik_int.xdr.c: Kubik_int.xdr.c
- ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/ubik.h: ubik.h
- ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/ubikclient.c: ubikclient.c
- ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/uerrors.c: uerrors.c
- ${INSTALL} $? $@
+test: all
+
+install: libubik.a ubik.h ubik_int.h udebug
+ ${INSTALL} -d ${DESTDIR}${libdir}
+ ${INSTALL} -d ${DESTDIR}${includedir}
+ ${INSTALL} -d ${DESTDIR}${bindir}
+ ${INSTALL} -d ${DESTDIR}${afssrvbindir}
+ ${INSTALL_DATA} libubik.a ${DESTDIR}${libdir}/libubik.a
+ ${INSTALL_DATA} ubik.h ${DESTDIR}${includedir}/ubik.h
+ ${INSTALL_DATA} ubik_int.h ${DESTDIR}${includedir}/ubik_int.h
+ ${INSTALL_PROGRAM} udebug ${DESTDIR}${bindir}/udebug
+ ${INSTALL_PROGRAM} udebug ${DESTDIR}${afssrvbindir}/udebug
+
+dest: libubik.a ubik.h ubik_int.h udebug
+ ${INSTALL} -d ${DEST}/lib
+ ${INSTALL} -d ${DEST}/include
+ ${INSTALL} -d ${DEST}/root.server/usr/afs/bin
+ ${INSTALL_DATA} libubik.a ${DEST}/lib/libubik.a
+ ${INSTALL_DATA} ubik.h ${DEST}/include/ubik.h
+ ${INSTALL_DATA} ubik_int.h ${DEST}/include/ubik_int.h
+ ${INSTALL_PROGRAM} udebug ${DEST}/bin/udebug
+ ${INSTALL_PROGRAM} udebug ${DEST}/root.server/usr/afs/bin/udebug
#
# Misc. targets
$(RM) -f utst_int.h ubik_int.h uerrors.c ubik.h core AFS_component_version_number.c Kubik_int.h
include ../config/Makefile.version
-
-