roken: do not include the rk_rename() implementation on unix
[openafs.git] / src / roken / Makefile.in
index ee6c876..873746b 100644 (file)
@@ -1,14 +1,20 @@
 # A roken library for AFS
 
-LIBMAJOR=1
-LIBMINOR=1
-
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.shared
+include @TOP_OBJDIR@/src/config/Makefile.libtool
+include @TOP_OBJDIR@/src/config/Makefile.pthread
+
+LT_current = 2
+LT_revision = 0
+LT_age = 0
 
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
+# ROKEN_LTLIBOBJS incorporates the pieces which configure has detected we
+# need to replace/provide.  The values contained therein include a prefix
+# ${LIBOBJDIR}, which is not set, so they will be sought in this directory.
+LT_objs = $(ROKEN_LTLIBOBJS) base64.lo cloexec.lo ct.lo hex.lo issuid.lo \
+         mkdir.lo net_read.lo net_write.lo socket.lo snprintf.lo \
+         warnerr.lo
 
 HEADERS = ${TOP_INCDIR}/base64.h \
          ${TOP_INCDIR}/roken.h \
@@ -16,53 +22,48 @@ HEADERS = ${TOP_INCDIR}/base64.h \
 
 UPSTREAM = $(TOP_SRCDIR)/external/heimdal/roken
 
-SHLIBOBJ = librokenafs.${SHLIB_SUFFIX}.${LIBMAJOR}.${LIBMINOR}
-
-all: $(ROKEN_HEADERS) $(HEADERS) \
-       $(TOP_LIBDIR)/$(SHLIBOBJ) \
+# TOP_LIBDIR is a convenient place where we can ensure that both the shared
+# and static versions of the library will end up (I'm looking at you, AIX).
+# Otherwise we could just use .libs directly, since only openafs-internal
+# tools will be linking roken from that directory.
+all: $(ROKEN_HEADERS) $(HEADERS) $(TOP_LIBDIR)/librokenafs.$(SHLIB_SUFFIX) \
        $(TOP_LIBDIR)/librokenafs.a
 
-install: librokenafs.a $(SHLIBOBJ)
-       $(TOP_OBJDIR)/src/config/shlib-install -d $(DESTDIR)$(libdir) \
-               -l librokenafs -M $(LIBMAJOR) -m $(LIBMINOR)
+buildtools: $(ROKEN_HEADERS) $(HEADERS)
+
+install: librokenafs.la librokenafs.a
+       $(LT_INSTALL_DATA) librokenafs.la $(DESTDIR)$(libdir)/librokenafs.la
+       $(RM) $(DESTDIR)$(libdir)/librokenafs.la
        $(INSTALL_DATA) librokenafs.a $(DESTDIR)$(libdir)/librokenafs.a
 
-dest: librokenafs.a $(SHLIBOBJ)
-       $(TOP_OBJDIR)/src/config/shlib-install -d $(DEST)/lib \
-               -l librokenafs -M $(LIBMAJOR) -m $(LIBMINOR)
+dest: librokenafs.la librokenafs.a
+       $(LT_INSTALL_DATA) librokenafs.la $(DEST)/lib/librokenafs.la
+       $(RM) $(DEST)/lib/librokenafs.la
        $(INSTALL_DATA) librokenafs.a $(DEST)/lib/librokenafs.a
 
 clean:
-       $(RM) -f $(OBJECTS) $(SHLIBOBJ) librokenafs.a librokenafs.exp \
-               err.h
-
-OBJECTS = $(ROKEN_LIBOBJS) \
-         base64.o \
-         cloexec.o ct.o hex.o issuid.o net_read.o net_write.o socket.o \
-         snprintf.o warnerr.o
+       $(LT_CLEAN)
+       $(RM) -f $(OBJECTS) librokenafs.a err.h
 
-$(TOP_LIBDIR)/$(SHLIBOBJ): $(SHLIBOBJ)
-       $(TOP_OBJDIR)/src/config/shlib-install -d $(TOP_LIBDIR) \
-               -l librokenafs -M $(LIBMAJOR) -m $(LIBMINOR)
+$(TOP_LIBDIR)/librokenafs.$(SHLIB_SUFFIX): librokenafs.la
+       $(LT_INSTALL_DATA) librokenafs.la $(TOP_LIBDIR)/librokenafs.la
+       # libtool gets confused if we leave these around
+       $(RM) $(TOP_LIBDIR)/librokenafs.la
 
-$(SHLIBOBJ): $(OBJECTS) librokenafs.map
-       $(TOP_OBJDIR)/src/config/shlib-build -i -d $(srcdir) -l librokenafs \
-               -M $(LIBMAJOR) -m $(LIBMINOR) -- \
-               $(OBJECTS) $(MT_LIBS)
+librokenafs.la: librokenafs.la.sym $(LT_objs)
+       $(LT_LDLIB_shlib_missing) $(LT_objs)
 
 $(TOP_LIBDIR)/librokenafs.a: librokenafs.a
        $(INSTALL_DATA) $? $@
 
-librokenafs.a: $(OBJECTS)
-       $(RM) -f $@
-       $(AR) crv $@ $(OBJECTS)
-       $(RANLIB) $@
+librokenafs.a: $(LT_objs)
+       $(LT_LDLIB_static) $(LT_objs)
 
 $(TOP_INCDIR)/base64.h: ${UPSTREAM}/base64.h
        $(INSTALL_DATA) $? $@
 
 $(TOP_INCDIR)/err.h: ${UPSTREAM}/err.hin
-       cp $? $@
+       $(INSTALL_DATA) $? $@
 
 $(TOP_INCDIR)/roken.h: $(UPSTREAM)/roken.h.in
        $(INSTALL_DATA) $? $@
@@ -71,97 +72,115 @@ $(TOP_INCDIR)/roken-common.h: $(UPSTREAM)/roken-common.h
        $(INSTALL_DATA) $? $@
 
 err.h: ${UPSTREAM}/err.hin
-       cp $? $@
+       $(INSTALL_DATA) $? $@
+
+# Here we have explicit rules for all the libtool objects we might need to
+# build.  The implicit rules don't work since the sources are in a different
+# castle.
+base64.lo: $(UPSTREAM)/base64.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/base64.c
+
+cloexec.lo: ${UPSTREAM}/cloexec.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/cloexec.c
 
-base64.o: $(UPSTREAM)/base64.c
-       $(AFS_CCRULE) $(UPSTREAM)/base64.c
+ct.lo: ${UPSTREAM}/ct.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/ct.c
 
-cloexec.o: ${UPSTREAM}/cloexec.c
-       $(AFS_CCRULE) $(UPSTREAM)/cloexec.c
+daemon.lo: ${UPSTREAM}/daemon.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/daemon.c
 
-ct.o: ${UPSTREAM}/ct.c
-       $(AFS_CCRULE) $(UPSTREAM)/ct.c
+ecalloc.lo: ${UPSTREAM}/ecalloc.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/ecalloc.c
 
-daemon.o: ${UPSTREAM}/daemon.c
-       $(AFS_CCRULE) $(UPSTREAM)/daemon.c
+emalloc.lo: ${UPSTREAM}/emalloc.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/emalloc.c
 
-ecalloc.o: ${UPSTREAM}/ecalloc.c
-       $(AFS_CCRULE) $(UPSTREAM)/ecalloc.c
+erealloc.lo: ${UPSTREAM}/erealloc.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/erealloc.c
 
-emalloc.o: ${UPSTREAM}/emalloc.c
-       $(AFS_CCRULE) $(UPSTREAM)/emalloc.c
+err.lo: ${UPSTREAM}/err.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/err.c
 
-erealloc.o: ${UPSTREAM}/erealloc.c
-       $(AFS_CCRULE) $(UPSTREAM)/erealloc.c
+errx.lo: ${UPSTREAM}/errx.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/errx.c
 
-err.o: ${UPSTREAM}/err.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/err.c
+flock.lo: ${UPSTREAM}/flock.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/flock.c
 
-errx.o: ${UPSTREAM}/errx.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/errx.c
+getopt.lo: ${UPSTREAM}/getopt.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/getopt.c
 
-getopt.o: ${UPSTREAM}/getopt.c
-       $(AFS_CCRULE) $(UPSTREAM)/getopt.c
+getprogname.lo: ${UPSTREAM}/getprogname.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/getprogname.c
 
-getprogname.o: ${UPSTREAM}/getprogname.c
-       $(AFS_CCRULE) $(UPSTREAM)/getprogname.c
+hex.lo: ${UPSTREAM}/hex.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/hex.c
 
-hex.o: ${UPSTREAM}/hex.c
-       $(AFS_CCRULE) $(UPSTREAM)/hex.c
+issuid.lo: ${UPSTREAM}/issuid.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/issuid.c
 
-issuid.o: ${UPSTREAM}/issuid.c
-       $(AFS_CCRULE) $(UPSTREAM)/issuid.c
+mkstemp.lo: ${UPSTREAM}/mkstemp.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/mkstemp.c
 
-mkstemp.o: ${UPSTREAM}/mkstemp.c
-       $(AFS_CCRULE) $(UPSTREAM)/mkstemp.c
+mkdir.lo: ${UPSTREAM}/mkdir.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/mkdir.c
 
-net_read.o: ${UPSTREAM}/net_read.c
-       $(AFS_CCRULE) $(UPSTREAM)/net_read.c
+net_read.lo: ${UPSTREAM}/net_read.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/net_read.c
 
-net_write.o: ${UPSTREAM}/net_write.c
-       $(AFS_CCRULE) $(UPSTREAM)/net_write.c
+net_write.lo: ${UPSTREAM}/net_write.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/net_write.c
 
-socket.o: ${UPSTREAM}/socket.c
-       $(AFS_CCRULE) $(UPSTREAM)/socket.c
+setenv.lo: ${UPSTREAM}/setenv.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/setenv.c
+
+setprogname.lo: ${UPSTREAM}/setprogname.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/setprogname.c
+
+socket.lo: ${UPSTREAM}/socket.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/socket.c
 
 # The upstream snprintf.c has some pointer warnings in it
-CFLAGS_snprintf.o = @CFLAGS_NOERROR@
+CFLAGS_snprintf.lo = @CFLAGS_NOERROR@
+
+snprintf.lo: ${UPSTREAM}/snprintf.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/snprintf.c
 
-snprintf.o: ${UPSTREAM}/snprintf.c
-       $(AFS_CCRULE) $(UPSTREAM)/snprintf.c
+strlcat.lo: ${UPSTREAM}/strlcat.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/strlcat.c
 
-strlcat.o: ${UPSTREAM}/strlcat.c
-       $(AFS_CCRULE) $(UPSTREAM)/strlcat.c
+strlcpy.lo: ${UPSTREAM}/strlcpy.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/strlcpy.c
 
-strlcpy.o: ${UPSTREAM}/strlcpy.c
-       $(AFS_CCRULE) $(UPSTREAM)/strlcpy.c
+strnlen.lo: ${UPSTREAM}/strnlen.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/strnlen.c
 
-strnlen.o: ${UPSTREAM}/strnlen.c
-       $(AFS_CCRULE) $(UPSTREAM)/strnlen.c
+strsep.lo: ${UPSTREAM}/strsep.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/strsep.c
 
-strsep.o: ${UPSTREAM}/strsep.c
-       $(AFS_CCRULE) $(UPSTREAM)/strsep.c
+unsetenv.lo: ${UPSTREAM}/unsetenv.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/unsetenv.c
 
-verr.o: ${UPSTREAM}/verr.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/verr.c
+verr.lo: ${UPSTREAM}/verr.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/verr.c
 
-verrx.o: ${UPSTREAM}/verrx.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/verrx.c
+verrx.lo: ${UPSTREAM}/verrx.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/verrx.c
 
-vsyslog.o: ${UPSTREAM}/vsyslog.c
-       $(AFS_CCRULE) $(UPSTREAM)/vsyslog.c
+vsyslog.lo: ${UPSTREAM}/vsyslog.c ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/vsyslog.c
 
-vwarn.o: ${UPSTREAM}/vwarn.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/vwarn.c
+vwarn.lo: ${UPSTREAM}/vwarn.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/vwarn.c
 
-vwarnx.o: ${UPSTREAM}/vwarnx.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/vwarnx.c
+vwarnx.lo: ${UPSTREAM}/vwarnx.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/vwarnx.c
 
-warn.o: ${UPSTREAM}/warn.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/warn.c
+warn.lo: ${UPSTREAM}/warn.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/warn.c
 
-warnerr.o: ${UPSTREAM}/warnerr.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/warnerr.c
+warnerr.lo: ${UPSTREAM}/warnerr.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/warnerr.c
 
-warnx.o: ${UPSTREAM}/warnx.c err.h
-       $(AFS_CCRULE) $(UPSTREAM)/warnx.c
+warnx.lo: ${UPSTREAM}/warnx.c err.h ${HEADERS}
+       $(LT_CCRULE) $(UPSTREAM)/warnx.c