1 # A roken library for AFS
4 include @TOP_OBJDIR@
/src
/config
/Makefile.config
5 include @TOP_OBJDIR@
/src
/config
/Makefile.libtool
6 include @TOP_OBJDIR@
/src
/config
/Makefile.pthread
12 # ROKEN_LTLIBOBJS incorporates the pieces which configure has detected we
13 # need to replace/provide. The values contained therein include a prefix
14 # ${LIBOBJDIR}, which is not set, so they will be sought in this directory.
15 LT_objs
= $(ROKEN_LTLIBOBJS
) base64.lo cloexec.lo ct.lo hex.lo issuid.lo \
16 mkdir.lo net_read.lo net_write.lo socket.lo snprintf.lo \
19 HEADERS
= ${TOP_INCDIR}/base64.h \
20 ${TOP_INCDIR}/roken.h \
21 ${TOP_INCDIR}/roken-common.h
23 UPSTREAM
= $(TOP_SRCDIR
)/external
/heimdal
/roken
25 # TOP_LIBDIR is a convenient place where we can ensure that both the shared
26 # and static versions of the library will end up (I'm looking at you, AIX).
27 # Otherwise we could just use .libs directly, since only openafs-internal
28 # tools will be linking roken from that directory.
29 all: $(ROKEN_HEADERS
) $(HEADERS
) $(TOP_LIBDIR
)/librokenafs.
$(SHLIB_SUFFIX
) \
30 $(TOP_LIBDIR
)/librokenafs.a
32 buildtools
: $(ROKEN_HEADERS
) $(HEADERS
)
34 install: librokenafs.la librokenafs.a
35 $(LT_INSTALL_DATA
) librokenafs.la
$(DESTDIR
)$(libdir)/librokenafs.la
36 $(RM
) $(DESTDIR
)$(libdir)/librokenafs.la
37 $(INSTALL_DATA
) librokenafs.a
$(DESTDIR
)$(libdir)/librokenafs.a
39 dest
: librokenafs.la librokenafs.a
40 $(LT_INSTALL_DATA
) librokenafs.la
$(DEST
)/lib
/librokenafs.la
41 $(RM
) $(DEST
)/lib
/librokenafs.la
42 $(INSTALL_DATA
) librokenafs.a
$(DEST
)/lib
/librokenafs.a
46 $(RM
) -f
$(OBJECTS
) librokenafs.a err.h
48 $(TOP_LIBDIR
)/librokenafs.
$(SHLIB_SUFFIX
): librokenafs.la
49 $(LT_INSTALL_DATA
) librokenafs.la
$(TOP_LIBDIR
)/librokenafs.la
50 # libtool gets confused if we leave these around
51 $(RM
) $(TOP_LIBDIR
)/librokenafs.la
53 librokenafs.la
: librokenafs.la.sym
$(LT_objs
)
54 $(LT_LDLIB_shlib_missing
) $(LT_objs
)
56 $(TOP_LIBDIR
)/librokenafs.a
: librokenafs.a
59 librokenafs.a
: $(LT_objs
)
60 $(LT_LDLIB_static
) $(LT_objs
)
62 $(TOP_INCDIR
)/base64.h
: ${UPSTREAM}/base64.h
65 $(TOP_INCDIR
)/err.h
: ${UPSTREAM}/err.hin
68 $(TOP_INCDIR
)/roken.h
: $(UPSTREAM
)/roken.h.in
71 $(TOP_INCDIR
)/roken-common.h
: $(UPSTREAM
)/roken-common.h
74 err.h
: ${UPSTREAM}/err.hin
77 # Here we have explicit rules for all the libtool objects we might need to
78 # build. The implicit rules don't work since the sources are in a different
80 base64.lo
: $(UPSTREAM
)/base64.c
${HEADERS}
81 $(LT_CCRULE
) $(UPSTREAM
)/base64.c
83 cloexec.lo
: ${UPSTREAM}/cloexec.c
${HEADERS}
84 $(LT_CCRULE
) $(UPSTREAM
)/cloexec.c
86 ct.lo
: ${UPSTREAM}/ct.c
${HEADERS}
87 $(LT_CCRULE
) $(UPSTREAM
)/ct.c
89 daemon.lo
: ${UPSTREAM}/daemon.c
${HEADERS}
90 $(LT_CCRULE
) $(UPSTREAM
)/daemon.c
92 ecalloc.lo
: ${UPSTREAM}/ecalloc.c
${HEADERS}
93 $(LT_CCRULE
) $(UPSTREAM
)/ecalloc.c
95 emalloc.lo
: ${UPSTREAM}/emalloc.c
${HEADERS}
96 $(LT_CCRULE
) $(UPSTREAM
)/emalloc.c
98 erealloc.lo
: ${UPSTREAM}/erealloc.c
${HEADERS}
99 $(LT_CCRULE
) $(UPSTREAM
)/erealloc.c
101 err.lo
: ${UPSTREAM}/err.c err.h
${HEADERS}
102 $(LT_CCRULE
) $(UPSTREAM
)/err.c
104 errx.lo
: ${UPSTREAM}/errx.c err.h
${HEADERS}
105 $(LT_CCRULE
) $(UPSTREAM
)/errx.c
107 flock.lo
: ${UPSTREAM}/flock.c
${HEADERS}
108 $(LT_CCRULE
) $(UPSTREAM
)/flock.c
110 getopt.lo
: ${UPSTREAM}/getopt.c
${HEADERS}
111 $(LT_CCRULE
) $(UPSTREAM
)/getopt.c
113 getprogname.lo
: ${UPSTREAM}/getprogname.c
${HEADERS}
114 $(LT_CCRULE
) $(UPSTREAM
)/getprogname.c
116 hex.lo
: ${UPSTREAM}/hex.c
${HEADERS}
117 $(LT_CCRULE
) $(UPSTREAM
)/hex.c
119 issuid.lo
: ${UPSTREAM}/issuid.c
${HEADERS}
120 $(LT_CCRULE
) $(UPSTREAM
)/issuid.c
122 mkstemp.lo
: ${UPSTREAM}/mkstemp.c
${HEADERS}
123 $(LT_CCRULE
) $(UPSTREAM
)/mkstemp.c
125 mkdir.lo
: ${UPSTREAM}/mkdir.c
${HEADERS}
126 $(LT_CCRULE
) $(UPSTREAM
)/mkdir.c
128 net_read.lo
: ${UPSTREAM}/net_read.c
${HEADERS}
129 $(LT_CCRULE
) $(UPSTREAM
)/net_read.c
131 net_write.lo
: ${UPSTREAM}/net_write.c
${HEADERS}
132 $(LT_CCRULE
) $(UPSTREAM
)/net_write.c
134 setenv.lo
: ${UPSTREAM}/setenv.c
${HEADERS}
135 $(LT_CCRULE
) $(UPSTREAM
)/setenv.c
137 setprogname.lo
: ${UPSTREAM}/setprogname.c
${HEADERS}
138 $(LT_CCRULE
) $(UPSTREAM
)/setprogname.c
140 socket.lo
: ${UPSTREAM}/socket.c
${HEADERS}
141 $(LT_CCRULE
) $(UPSTREAM
)/socket.c
143 # The upstream snprintf.c has some pointer warnings in it
144 CFLAGS_snprintf.lo
= @CFLAGS_NOERROR@
146 snprintf.lo
: ${UPSTREAM}/snprintf.c
${HEADERS}
147 $(LT_CCRULE
) $(UPSTREAM
)/snprintf.c
149 strlcat.lo
: ${UPSTREAM}/strlcat.c
${HEADERS}
150 $(LT_CCRULE
) $(UPSTREAM
)/strlcat.c
152 strlcpy.lo
: ${UPSTREAM}/strlcpy.c
${HEADERS}
153 $(LT_CCRULE
) $(UPSTREAM
)/strlcpy.c
155 strnlen.lo
: ${UPSTREAM}/strnlen.c
${HEADERS}
156 $(LT_CCRULE
) $(UPSTREAM
)/strnlen.c
158 strsep.lo
: ${UPSTREAM}/strsep.c
${HEADERS}
159 $(LT_CCRULE
) $(UPSTREAM
)/strsep.c
161 unsetenv.lo
: ${UPSTREAM}/unsetenv.c
${HEADERS}
162 $(LT_CCRULE
) $(UPSTREAM
)/unsetenv.c
164 verr.lo
: ${UPSTREAM}/verr.c err.h
${HEADERS}
165 $(LT_CCRULE
) $(UPSTREAM
)/verr.c
167 verrx.lo
: ${UPSTREAM}/verrx.c err.h
${HEADERS}
168 $(LT_CCRULE
) $(UPSTREAM
)/verrx.c
170 vsyslog.lo
: ${UPSTREAM}/vsyslog.c
${HEADERS}
171 $(LT_CCRULE
) $(UPSTREAM
)/vsyslog.c
173 vwarn.lo
: ${UPSTREAM}/vwarn.c err.h
${HEADERS}
174 $(LT_CCRULE
) $(UPSTREAM
)/vwarn.c
176 vwarnx.lo
: ${UPSTREAM}/vwarnx.c err.h
${HEADERS}
177 $(LT_CCRULE
) $(UPSTREAM
)/vwarnx.c
179 warn.lo
: ${UPSTREAM}/warn.c err.h
${HEADERS}
180 $(LT_CCRULE
) $(UPSTREAM
)/warn.c
182 warnerr.lo
: ${UPSTREAM}/warnerr.c err.h
${HEADERS}
183 $(LT_CCRULE
) $(UPSTREAM
)/warnerr.c
185 warnx.lo
: ${UPSTREAM}/warnx.c err.h
${HEADERS}
186 $(LT_CCRULE
) $(UPSTREAM
)/warnx.c