Improve shared library building support
[openafs.git] / src / shlibafsauthent / Makefile.in
1 # API version. When something changes, increment as appropriate. 
2 # Ignore at your own risk.
3 LIBAFSAUTHENTMAJOR=1
4 LIBAFSAUTHENTMINOR=1
5
6 # Copyright 2000, International Business Machines Corporation and others.
7 # All Rights Reserved.
8
9 # This software has been released under the terms of the IBM Public
10 # License.  For details, see the LICENSE file in the top-level source
11 # directory or online at http://www.openafs.org/dl/license10.html
12
13 # This is a pthread safe library containing ubikclient, auth, kauth.
14
15 srcdir=@srcdir@
16 include @TOP_OBJDIR@/src/config/Makefile.config
17 INSTALL = @INSTALL@
18 INSTALL_DATA = @INSTALL_DATA@
19 INSTALL_PROGRAM = @INSTALL_PROGRAM@
20 INSTALL_SCRIPT = @INSTALL_SCRIPT@
21
22 CC=${MT_CC}
23 CFLAGS=${COMMON_CFLAGS} ${MT_CFLAGS} ${SHLIB_CFLAGS} -I../auth -I../kauth -I../ptserver -I../sys
24 CCRULE = ${CC} ${CFLAGS} -c $?
25
26 AUDIT= ../audit
27 AUTH = ../auth
28 KAUTH = ../kauth
29 UBIK = ../ubik
30 UTIL = ../util
31 RXKAD = ../rxkad
32 PTSERVER = ../ptserver
33 SYS = ../sys
34
35 AUDITOBJS = audit.o audit-file.o audit-sysvmq.o
36
37 AUTHOBJS = \
38         cellconfig.o \
39         ktc.o \
40         userok.o \
41         writeconfig.o \
42         authcon.o \
43         ktc_errors.o \
44         acfg_errors.o
45
46 KAUTHOBJS = \
47         kauth.xdr.o \
48         kauth.cs.o \
49         kaaux.o \
50         client.o \
51         authclient.o \
52         token.o \
53         kautils.o \
54         kalocalcell.o \
55         kaerrors.o \
56         user.o \
57         read_passwd.o
58
59 UBIKOBJS = \
60         uinit.o \
61         ubikclient.o \
62         uerrors.o \
63         ubik_int.cs.o \
64         ubik_int.xdr.o
65
66 UTILOBJS = \
67         pthread_glock.o \
68         get_krbrlm.o \
69         dirpath.o \
70         serverLog.o \
71         snprintf.o \
72         strlcat.o \
73         strlcpy.o \
74         fileutil.o
75
76 RXKADOBJS = \
77         rxkad_errs.o
78
79 SYSOBJS = \
80         rmtsysc.o \
81         rmtsys.xdr.o \
82         rmtsys.cs.o \
83         afssyscalls.o \
84         rmtsysnet.o \
85         glue.o \
86         setpag.o \
87         pioctl.o
88
89 PTSERVEROBJS = \
90         ptclient.o \
91         ptint.cs.o \
92         ptint.xdr.o \
93         ptuser.o \
94         display.o \
95         pterror.o
96
97 LIBOBJS = \
98         ${AUDITOBJS} \
99         ${AUTHOBJS} \
100         ${KAUTHOBJS} \
101         ${UBIKOBJS} \
102         ${UTILOBJS} \
103         ${RXKADOBJS} \
104         ${PTSERVEROBJS} \
105         ${SYSOBJS}
106
107 LIBAFSAUTHENT = libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR}.${LIBAFSAUTHENTMINOR}
108
109 all: ${TOP_LIBDIR}/${LIBAFSAUTHENT} ${TOP_LIBDIR}/libafsauthent_pic.a
110
111 ${TOP_LIBDIR}/${LIBAFSAUTHENT}: ${LIBAFSAUTHENT}
112         ../config/shlib-install -d ${TOP_LIBDIR} \
113                 -l libafsauthent \
114                 -M ${LIBAFSAUTHENTMAJOR} -m ${LIBAFSAUTHENTMINOR}
115
116 ${TOP_LIBDIR}/libafsauthent_pic.a: libafsauthent_pic.a
117         ${INSTALL_DATA} libafsauthent_pic.a $@
118
119 install: ${LIBAFSAUTHENT} libafsauthent_pic.a
120         ../config/shlib-install -d ${DESTDIR}${libdir} \
121                 -l libafsauthent \
122                 -M ${LIBAFSAUTHENTMAJOR} -m ${LIBAFSAUTHENTMINOR}
123         ${INSTALL_DATA} libafsauthent_pic.a \
124                 ${DESTDIR}${libdir}/libafsauthent_pic.a
125
126 dest: ${LIBAFSAUTHENT} libafsauthent_pic.a
127         ../config/shlib-install -d ${DEST}/lib \
128                 -l libafsauthent \
129                 -M ${LIBAFSAUTHENTMAJOR} -m ${LIBAFSAUTHENTMINOR}
130         ${INSTALL_DATA} libafsauthent_pic.a \
131                 ${DEST}/lib/libafsauthent_pic.a
132
133 ${LIBAFSAUTHENT}: ${LIBOBJS} libafsauthent.map
134         ../config/shlib-build -d $(srcdir) -l libafsauthent \
135                 -M ${LIBAFSAUTHENTMAJOR} -m ${LIBAFSAUTHENTMINOR} -- \
136                 -L${TOP_LIBDIR} -lafsrpc ${LIBOBJS} ${MT_LIBS}
137
138 libafsauthent_pic.a: ${LIBOBJS}
139         $(RM) -f $@
140         $(AR) crv $@ ${LIBOBJS}
141         $(RANLIB) $@
142
143 audit.o: ${AUDIT}/audit.c
144         ${CCRULE}
145
146 audit-file.o: ${AUDIT}/audit-file.c
147         ${CCRULE}
148
149 audit-sysvmq.o: ${AUDIT}/audit-sysvmq.c
150         ${CCRULE}
151
152 cellconfig.o: ${AUTH}/cellconfig.c
153         ${CCRULE}
154
155 ktc.o: ${AUTH}/ktc.c
156         ${CCRULE}
157
158 userok.o: ${AUTH}/userok.c
159         ${CCRULE}
160
161 writeconfig.o: ${AUTH}/writeconfig.c
162         ${CCRULE}
163
164 authcon.o: ${AUTH}/authcon.c
165         ${CCRULE}
166
167 ktc_errors.o: ${AUTH}/ktc_errors.c
168         ${CCRULE}
169
170 acfg_errors.o: ${AUTH}/acfg_errors.c
171         ${CCRULE}
172
173 kauth.xdr.o: ${KAUTH}/kauth.xdr.c
174         ${CCRULE}
175
176 kauth.cs.o: ${KAUTH}/kauth.cs.c
177         ${CCRULE}
178
179 kaaux.o: ${KAUTH}/kaaux.c
180         ${CCRULE}
181
182 client.o: ${KAUTH}/client.c
183         ${CCRULE}
184
185 authclient.o: ${KAUTH}/authclient.c
186         ${CCRULE}
187
188 token.o: ${KAUTH}/token.c
189         ${CCRULE}
190
191 kautils.o: ${KAUTH}/kautils.c
192         ${CCRULE}
193
194 kalocalcell.o: ${KAUTH}/kalocalcell.c
195         ${CCRULE}
196
197 kaerrors.o: ${KAUTH}/kaerrors.c
198         ${CCRULE}
199
200 user.o: ${KAUTH}/user.c
201         ${CCRULE}
202
203 read_passwd.o: ${KAUTH}/read_passwd.c
204         ${CCRULE}
205
206 ubikclient.o: ${UBIK}/ubikclient.c
207         ${CCRULE}
208
209 uinit.o: ${UBIK}/uinit.c
210         ${CCRULE}
211
212 uerrors.o: ${UBIK}/uerrors.c
213         ${CCRULE}
214
215 ubik_int.cs.o: ${UBIK}/ubik_int.cs.c
216         ${CCRULE}
217
218 ubik_int.xdr.o: ${UBIK}/ubik_int.xdr.c
219         ${CCRULE}
220
221 get_krbrlm.o: ${UTIL}/get_krbrlm.c
222         ${CCRULE}
223
224 dirpath.o: ${UTIL}/dirpath.c
225         ${CCRULE}
226
227 serverLog.o: ${UTIL}/serverLog.c
228         ${CCRULE}
229
230 snprintf.o: ${UTIL}/snprintf.c
231         ${CCRULE}
232
233 strlcat.o: ${UTIL}/strlcat.c
234         ${CCRULE}
235
236 strlcpy.o: ${UTIL}/strlcpy.c
237         ${CCRULE}
238
239 fileutil.o: ${UTIL}/fileutil.c
240         ${CCRULE}
241
242 pthread_glock.o: ${UTIL}/pthread_glock.c
243         ${CCRULE}
244
245 rxkad_errs.o: ${RXKAD}/rxkad_errs.c
246         ${CCRULE}
247
248 ptclient.o: ${PTSERVER}/ptclient.c
249         ${CCRULE}
250
251 # The special treatment of this file for hp_ux110 is because of a bug
252 # in version A.11.01.00 of the HP C compiler.  This bug appears to be
253 # fixed in version A.11.01.02 of the HP C compiler, however this version
254 # of the compiler is not installed on all of our build machines.
255 # The symptom of the problem is an error when linking the pthread fileserver:
256 # /usr/ccs/bin/ld: TP override with DATA_ONE_SYM fixup for non thread local
257 # storage symbol pr_Initialize in file DEST/lib/libafsauthent.a(ptuser.o)
258 ptuser.o: ${PTSERVER}/ptuser.c
259         set -x; \
260         case ${SYS_NAME} in \
261         hp_ux11*) \
262                 set X `echo ${CCRULE} | sed s/-g//`; shift; \
263                 "$$@" \
264                 ;; \
265         *) \
266                 ${CCRULE} \
267                 ;; \
268         esac
269
270 display.o: ${PTSERVER}/display.c
271         ${CCRULE}
272
273 ptint.cs.o: ${PTSERVER}/ptint.cs.c
274         ${CCRULE}
275
276 ptint.xdr.o: ${PTSERVER}/ptint.xdr.c
277         ${CCRULE}
278
279 pterror.o: ${PTSERVER}/pterror.c
280         ${CCRULE}
281
282 rmtsysc.o: ${SYS}/rmtsysc.c
283         ${CCRULE}
284
285 rmtsys.xdr.o: ${SYS}/rmtsys.xdr.c
286         ${CCRULE}
287
288 rmtsys.cs.o: ${SYS}/rmtsys.cs.c
289         ${CCRULE}
290
291 afssyscalls.o: ${SYS}/afssyscalls.c
292         ${CCRULE}
293
294 rmtsysnet.o: ${SYS}/rmtsysnet.c
295         ${CCRULE}
296
297 glue.o: ${SYS}/glue.c
298         ${CCRULE}
299
300 setpag.o: ${SYS}/setpag.c
301         ${CCRULE}
302
303 pioctl.o: ${SYS}/pioctl.c
304         ${CCRULE}
305
306 clean:
307         $(RM) -f *.o *.a libafsauthent.a* libafsauthent.sl* libafsauthent.so* \
308                 libafsauthent_pic.a libafsauthent.dylib.* \
309                 libafsauthent.exp