Commit | Line | Data |
---|---|---|
805e021f CE |
1 | # A roken library for AFS |
2 | ||
3 | srcdir=@srcdir@ | |
4 | include @TOP_OBJDIR@/src/config/Makefile.config | |
5 | include @TOP_OBJDIR@/src/config/Makefile.libtool | |
6 | include @TOP_OBJDIR@/src/config/Makefile.pthread | |
7 | ||
8 | LT_current = 2 | |
9 | LT_revision = 0 | |
10 | LT_age = 0 | |
11 | ||
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 \ | |
17 | warnerr.lo | |
18 | ||
19 | HEADERS = ${TOP_INCDIR}/base64.h \ | |
20 | ${TOP_INCDIR}/roken.h \ | |
21 | ${TOP_INCDIR}/roken-common.h | |
22 | ||
23 | UPSTREAM = $(TOP_SRCDIR)/external/heimdal/roken | |
24 | ||
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 | |
31 | ||
32 | buildtools: $(ROKEN_HEADERS) $(HEADERS) | |
33 | ||
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 | |
38 | ||
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 | |
43 | ||
44 | clean: | |
45 | $(LT_CLEAN) | |
46 | $(RM) -f $(OBJECTS) librokenafs.a err.h | |
47 | ||
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 | |
52 | ||
53 | librokenafs.la: librokenafs.la.sym $(LT_objs) | |
54 | $(LT_LDLIB_shlib_missing) $(LT_objs) | |
55 | ||
56 | $(TOP_LIBDIR)/librokenafs.a: librokenafs.a | |
57 | $(INSTALL_DATA) $? $@ | |
58 | ||
59 | librokenafs.a: $(LT_objs) | |
60 | $(LT_LDLIB_static) $(LT_objs) | |
61 | ||
62 | $(TOP_INCDIR)/base64.h: ${UPSTREAM}/base64.h | |
63 | $(INSTALL_DATA) $? $@ | |
64 | ||
65 | $(TOP_INCDIR)/err.h: ${UPSTREAM}/err.hin | |
66 | $(INSTALL_DATA) $? $@ | |
67 | ||
68 | $(TOP_INCDIR)/roken.h: $(UPSTREAM)/roken.h.in | |
69 | $(INSTALL_DATA) $? $@ | |
70 | ||
71 | $(TOP_INCDIR)/roken-common.h: $(UPSTREAM)/roken-common.h | |
72 | $(INSTALL_DATA) $? $@ | |
73 | ||
74 | err.h: ${UPSTREAM}/err.hin | |
75 | $(INSTALL_DATA) $? $@ | |
76 | ||
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 | |
79 | # castle. | |
80 | base64.lo: $(UPSTREAM)/base64.c ${HEADERS} | |
81 | $(LT_CCRULE) $(UPSTREAM)/base64.c | |
82 | ||
83 | cloexec.lo: ${UPSTREAM}/cloexec.c ${HEADERS} | |
84 | $(LT_CCRULE) $(UPSTREAM)/cloexec.c | |
85 | ||
86 | ct.lo: ${UPSTREAM}/ct.c ${HEADERS} | |
87 | $(LT_CCRULE) $(UPSTREAM)/ct.c | |
88 | ||
89 | daemon.lo: ${UPSTREAM}/daemon.c ${HEADERS} | |
90 | $(LT_CCRULE) $(UPSTREAM)/daemon.c | |
91 | ||
92 | ecalloc.lo: ${UPSTREAM}/ecalloc.c ${HEADERS} | |
93 | $(LT_CCRULE) $(UPSTREAM)/ecalloc.c | |
94 | ||
95 | emalloc.lo: ${UPSTREAM}/emalloc.c ${HEADERS} | |
96 | $(LT_CCRULE) $(UPSTREAM)/emalloc.c | |
97 | ||
98 | erealloc.lo: ${UPSTREAM}/erealloc.c ${HEADERS} | |
99 | $(LT_CCRULE) $(UPSTREAM)/erealloc.c | |
100 | ||
101 | err.lo: ${UPSTREAM}/err.c err.h ${HEADERS} | |
102 | $(LT_CCRULE) $(UPSTREAM)/err.c | |
103 | ||
104 | errx.lo: ${UPSTREAM}/errx.c err.h ${HEADERS} | |
105 | $(LT_CCRULE) $(UPSTREAM)/errx.c | |
106 | ||
107 | flock.lo: ${UPSTREAM}/flock.c ${HEADERS} | |
108 | $(LT_CCRULE) $(UPSTREAM)/flock.c | |
109 | ||
110 | getopt.lo: ${UPSTREAM}/getopt.c ${HEADERS} | |
111 | $(LT_CCRULE) $(UPSTREAM)/getopt.c | |
112 | ||
113 | getprogname.lo: ${UPSTREAM}/getprogname.c ${HEADERS} | |
114 | $(LT_CCRULE) $(UPSTREAM)/getprogname.c | |
115 | ||
116 | hex.lo: ${UPSTREAM}/hex.c ${HEADERS} | |
117 | $(LT_CCRULE) $(UPSTREAM)/hex.c | |
118 | ||
119 | issuid.lo: ${UPSTREAM}/issuid.c ${HEADERS} | |
120 | $(LT_CCRULE) $(UPSTREAM)/issuid.c | |
121 | ||
122 | mkstemp.lo: ${UPSTREAM}/mkstemp.c ${HEADERS} | |
123 | $(LT_CCRULE) $(UPSTREAM)/mkstemp.c | |
124 | ||
125 | mkdir.lo: ${UPSTREAM}/mkdir.c ${HEADERS} | |
126 | $(LT_CCRULE) $(UPSTREAM)/mkdir.c | |
127 | ||
128 | net_read.lo: ${UPSTREAM}/net_read.c ${HEADERS} | |
129 | $(LT_CCRULE) $(UPSTREAM)/net_read.c | |
130 | ||
131 | net_write.lo: ${UPSTREAM}/net_write.c ${HEADERS} | |
132 | $(LT_CCRULE) $(UPSTREAM)/net_write.c | |
133 | ||
134 | setenv.lo: ${UPSTREAM}/setenv.c ${HEADERS} | |
135 | $(LT_CCRULE) $(UPSTREAM)/setenv.c | |
136 | ||
137 | setprogname.lo: ${UPSTREAM}/setprogname.c ${HEADERS} | |
138 | $(LT_CCRULE) $(UPSTREAM)/setprogname.c | |
139 | ||
140 | socket.lo: ${UPSTREAM}/socket.c ${HEADERS} | |
141 | $(LT_CCRULE) $(UPSTREAM)/socket.c | |
142 | ||
143 | # The upstream snprintf.c has some pointer warnings in it | |
144 | CFLAGS_snprintf.lo = @CFLAGS_NOERROR@ | |
145 | ||
146 | snprintf.lo: ${UPSTREAM}/snprintf.c ${HEADERS} | |
147 | $(LT_CCRULE) $(UPSTREAM)/snprintf.c | |
148 | ||
149 | strlcat.lo: ${UPSTREAM}/strlcat.c ${HEADERS} | |
150 | $(LT_CCRULE) $(UPSTREAM)/strlcat.c | |
151 | ||
152 | strlcpy.lo: ${UPSTREAM}/strlcpy.c ${HEADERS} | |
153 | $(LT_CCRULE) $(UPSTREAM)/strlcpy.c | |
154 | ||
155 | strnlen.lo: ${UPSTREAM}/strnlen.c ${HEADERS} | |
156 | $(LT_CCRULE) $(UPSTREAM)/strnlen.c | |
157 | ||
158 | strsep.lo: ${UPSTREAM}/strsep.c ${HEADERS} | |
159 | $(LT_CCRULE) $(UPSTREAM)/strsep.c | |
160 | ||
161 | unsetenv.lo: ${UPSTREAM}/unsetenv.c ${HEADERS} | |
162 | $(LT_CCRULE) $(UPSTREAM)/unsetenv.c | |
163 | ||
164 | verr.lo: ${UPSTREAM}/verr.c err.h ${HEADERS} | |
165 | $(LT_CCRULE) $(UPSTREAM)/verr.c | |
166 | ||
167 | verrx.lo: ${UPSTREAM}/verrx.c err.h ${HEADERS} | |
168 | $(LT_CCRULE) $(UPSTREAM)/verrx.c | |
169 | ||
170 | vsyslog.lo: ${UPSTREAM}/vsyslog.c ${HEADERS} | |
171 | $(LT_CCRULE) $(UPSTREAM)/vsyslog.c | |
172 | ||
173 | vwarn.lo: ${UPSTREAM}/vwarn.c err.h ${HEADERS} | |
174 | $(LT_CCRULE) $(UPSTREAM)/vwarn.c | |
175 | ||
176 | vwarnx.lo: ${UPSTREAM}/vwarnx.c err.h ${HEADERS} | |
177 | $(LT_CCRULE) $(UPSTREAM)/vwarnx.c | |
178 | ||
179 | warn.lo: ${UPSTREAM}/warn.c err.h ${HEADERS} | |
180 | $(LT_CCRULE) $(UPSTREAM)/warn.c | |
181 | ||
182 | warnerr.lo: ${UPSTREAM}/warnerr.c err.h ${HEADERS} | |
183 | $(LT_CCRULE) $(UPSTREAM)/warnerr.c | |
184 | ||
185 | warnx.lo: ${UPSTREAM}/warnx.c err.h ${HEADERS} | |
186 | $(LT_CCRULE) $(UPSTREAM)/warnx.c |