660f48930395fd63258ed0d804f67d7d10b905b8
[openafs.git] / src / util / Makefile.in
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 srcdir=@srcdir@
9 include @TOP_OBJDIR@/src/config/Makefile.config
10 include @TOP_OBJDIR@/src/config/Makefile.lwp
11
12 INSTALL = @INSTALL@
13 INSTALL_DATA = @INSTALL_DATA@
14 INSTALL_PROGRAM = @INSTALL_PROGRAM@
15 INSTALL_SCRIPT = @INSTALL_SCRIPT@
16 HELPER_SPLINT=@HELPER_SPLINT@
17
18
19 objects = assert.o base64.o casestrcpy.o config_file.o ktime.o volparse.o \
20          hostparse.o exec.o \
21          hputil.o kreltime.o get_krbrlm.o uuid.o serverLog.o \
22          dirpath.o fileutil.o netutils.o flipbase64.o fstab.o \
23          afs_atomlist.o afs_lhash.o snprintf.o pthread_glock.o \
24          tabular_output.o ${REGEX_OBJ}
25
26 objects_pic = \
27         assert_pic.o \
28         base64_pic.o \
29         casestrcpy_pic.o \
30         config_file_pic.o \
31         ktime_pic.o \
32         volparse_pic.o \
33         hostparse_pic.o \
34         exec_pic.o \
35         hputil_pic.o \
36         kreltime_pic.o \
37         get_krbrlm_pic.o \
38         uuid_pic.o \
39         serverLog_pic.o \
40         dirpath_pic.o \
41         fileutil_pic.o \
42         netutils_pic.o \
43         flipbase64_pic.o \
44         fstab_pic.o \
45         afs_atomlist_pic.o \
46         afs_lhash_pic.o \
47         snprintf_pic.o \
48         pthread_glock_pic.o \
49         tabular_output_pic.o \
50         ${REGEX_OBJ_PIC}
51
52 includes = \
53         ${TOP_INCDIR}/afs/dirpath.h \
54         ${TOP_INCDIR}/afs/pthread_nosigs.h \
55         ${TOP_INCDIR}/afs/afs_assert.h \
56         ${TOP_INCDIR}/afs/errors.h \
57         ${TOP_INCDIR}/afs/vice.h \
58         ${TOP_INCDIR}/afs/ktime.h \
59         ${TOP_INCDIR}/afs/fileutil.h \
60         ${TOP_INCDIR}/afs/netutils.h \
61         ${TOP_INCDIR}/afs/afsutil.h \
62         ${TOP_INCDIR}/afs/afsutil_prototypes.h \
63         ${TOP_INCDIR}/afs/pthread_glock.h \
64         ${TOP_INCDIR}/afs/afs_atomlist.h \
65         ${TOP_INCDIR}/afs/afs_lhash.h \
66         ${TOP_INCDIR}/afs/softsig.h \
67         ${TOP_INCDIR}/afs/work_queue.h \
68         ${TOP_INCDIR}/afs/work_queue_types.h \
69         ${TOP_INCDIR}/afs/thread_pool.h \
70         ${TOP_INCDIR}/afs/thread_pool_types.h \
71         ${TOP_INCDIR}/afs/tabular_output.h \
72         ${TOP_INCDIR}/opr/queue.h
73
74 all: ${includes} \
75         ${TOP_LIBDIR}/util.a \
76         ${TOP_LIBDIR}/libafsutil.a \
77         ${TOP_LIBDIR}/libafsutil_pic.a \
78         sys
79
80 buildtools: ${TOP_LIBDIR}/libafsutil.a ${TOP_INCDIR}/afs/afsutil.h
81 buildtools_clean: clean
82
83 depinstall: ${includes}
84
85 ${TOP_INCDIR}/afs/dirpath.h: dirpath.h
86         ${INSTALL_DATA} $? $@
87
88 ${TOP_INCDIR}/afs/pthread_nosigs.h: ${srcdir}/pthread_nosigs.h
89         ${INSTALL_DATA} $? $@
90
91 ${TOP_INCDIR}/afs/afs_assert.h: ${srcdir}/afs_assert.h
92         ${INSTALL_DATA} $? $@
93
94 ${TOP_INCDIR}/afs/errors.h: ${srcdir}/errors.h
95         ${INSTALL_DATA} $? $@
96
97 ${TOP_INCDIR}/afs/vice.h: ${srcdir}/vice.h
98         ${INSTALL_DATA} $? $@
99
100 ${TOP_INCDIR}/afs/ktime.h: ${srcdir}/ktime.h
101         ${INSTALL_DATA} $? $@
102
103 ${TOP_INCDIR}/afs/fileutil.h: ${srcdir}/fileutil.h
104         ${INSTALL_DATA} $? $@
105
106 ${TOP_INCDIR}/afs/netutils.h: ${srcdir}/netutils.h
107         ${INSTALL_DATA} $? $@
108
109 ${TOP_INCDIR}/afs/afsutil.h: ${srcdir}/afsutil.h
110         ${INSTALL_DATA} $? $@
111
112 ${TOP_INCDIR}/afs/afsutil_prototypes.h: ${srcdir}/afsutil_prototypes.h
113         ${INSTALL_DATA} $? $@
114
115 ${TOP_INCDIR}/afs/pthread_glock.h: ${srcdir}/pthread_glock.h
116         ${INSTALL_DATA} $? $@
117
118 ${TOP_INCDIR}/afs/afs_atomlist.h: ${srcdir}/afs_atomlist.h
119         ${INSTALL_DATA} $? $@
120
121 ${TOP_INCDIR}/afs/afs_lhash.h: ${srcdir}/afs_lhash.h
122         ${INSTALL_DATA} $? $@
123
124 ${TOP_INCDIR}/afs/softsig.h: ${srcdir}/softsig.h
125         ${INSTALL_DATA} $? $@
126
127 ${TOP_INCDIR}/afs/work_queue.h: ${srcdir}/work_queue.h
128         ${INSTALL_DATA} $? $@
129
130 ${TOP_INCDIR}/afs/work_queue_types.h: ${srcdir}/work_queue_types.h
131         ${INSTALL_DATA} $? $@
132
133 ${TOP_INCDIR}/afs/thread_pool.h: ${srcdir}/thread_pool.h
134         ${INSTALL_DATA} $? $@
135
136 ${TOP_INCDIR}/afs/thread_pool_types.h: ${srcdir}/thread_pool_types.h
137         ${INSTALL_DATA} $? $@
138
139 ${TOP_INCDIR}/afs/tabular_output.h: ${srcdir}/tabular_output.h
140         ${INSTALL_DATA} $? $@
141
142 ${TOP_INCDIR}/potpourri.h: ${srcdir}/potpourri.h
143         ${INSTALL_DATA} $? $@
144
145 ${TOP_INCDIR}/opr/queue.h: ${srcdir}/queue.h
146         ${INSTALL_DATA} $? $@
147
148 ${TOP_LIBDIR}/util.a: util.a
149         ${INSTALL_DATA} $? $@
150
151 ${TOP_LIBDIR}/libafsutil.a: util.a
152         ${INSTALL_DATA} $? $@
153
154 ${TOP_LIBDIR}/libafsutil_pic.a: util_pic.a
155         ${INSTALL_DATA} $? $@
156
157 # Use " as the sed boundary character because we lose anyway if that occurs
158 # in path names.
159 dirpath.h: ${srcdir}/dirpath.hin Makefile
160         ( sed \
161                 -e 's"@afsconfdir"${afsconfdir}"' \
162                 -e 's"@viceetcdir"${viceetcdir}"' \
163                 -e 's"@afssrvbindir"${afssrvbindir}"' \
164                 -e 's"@afssrvsbindir"${afssrvsbindir}"' \
165                 -e 's"@afssrvlibexecdir"${afssrvlibexecdir}"' \
166                 -e 's"@afsdbdir"${afsdbdir}"' \
167                 -e 's"@afslogsdir"${afslogsdir}"' \
168                 -e 's"@afslocaldir"${afslocaldir}"' \
169                 -e 's"@afsbackupdir"${afsbackupdir}"' \
170                 -e 's"@afsbosconfigdir"${afsbosconfigdir}"' \
171                 -e 's"@afsdatadir"${afsdatadir}"' \
172                 ${srcdir}/dirpath.hin >dirpath.h.tmp && \
173                 if cmp dirpath.h.tmp dirpath.h >/dev/null ; then : ; else \
174                 mv dirpath.h.tmp dirpath.h ; fi)
175         rm -f dirpath.h.tmp
176
177 util.a: ${objects} AFS_component_version_number.o
178         $(RM) -f util.a
179         $(AR) crv util.a ${objects} AFS_component_version_number.o
180         $(RANLIB) util.a
181
182 util_pic.a: ${objects_pic} AFS_component_version_number_pic.o
183         $(RM) -f util_pic.a
184         $(AR) crv util_pic.a ${objects_pic} AFS_component_version_number_pic.o
185         $(RANLIB) util_pic.a
186
187 pthread_glock.o: ${srcdir}/pthread_glock.c ${includes}
188         ${MT_CC} $(COMMON_CFLAGS) ${MT_CFLAGS} -c ${srcdir}/pthread_glock.c
189
190 ${objects}: ${includes}
191
192 AFS_component_version_number_pic.o: AFS_component_version_number.c
193         $(SHD_CCRULE) AFS_component_version_number.c
194
195 config_file.o: ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c krb5_locl.h
196         $(AFS_CCRULE) -c ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c 
197
198 sys.o: sys.c AFS_component_version_number.c ${includes}
199
200 sys: sys.o 
201         $(AFS_LDRULE) sys.o
202
203 # PIC objects build rules
204 assert_pic.o: ${srcdir}/assert.c ${includes}
205         $(SHD_CCRULE) ${srcdir}/assert.c
206
207 base64_pic.o: ${srcdir}/base64.c ${includes}
208         $(SHD_CCRULE) ${srcdir}/base64.c
209
210 casestrcpy_pic.o: ${srcdir}/casestrcpy.c ${includes}
211         $(SHD_CCRULE) ${srcdir}/casestrcpy.c
212
213 config_file_pic.o: ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c krb5_locl.h
214         $(SHD_CCRULE) ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c
215
216 ktime_pic.o: ${srcdir}/ktime.c ${includes}
217         $(SHD_CCRULE) ${srcdir}/ktime.c
218
219 volparse_pic.o: ${srcdir}/volparse.c ${includes}
220         $(SHD_CCRULE) ${srcdir}/volparse.c
221
222 hostparse_pic.o: ${srcdir}/hostparse.c ${includes}
223         $(SHD_CCRULE) ${srcdir}/hostparse.c
224
225 exec_pic.o: ${srcdir}/exec.c ${includes}
226         $(SHD_CCRULE) ${srcdir}/exec.c
227
228 hputil_pic.o: ${srcdir}/hputil.c ${includes}
229         $(SHD_CCRULE) ${srcdir}/hputil.c
230
231 kreltime_pic.o: ${srcdir}/kreltime.c ${includes}
232         $(SHD_CCRULE) ${srcdir}/kreltime.c
233
234 get_krbrlm_pic.o: ${srcdir}/get_krbrlm.c ${includes}
235         $(SHD_CCRULE) ${srcdir}/get_krbrlm.c
236
237 uuid_pic.o: ${srcdir}/uuid.c ${includes}
238         $(SHD_CCRULE) ${srcdir}/uuid.c
239
240 serverLog_pic.o: ${srcdir}/serverLog.c ${includes}
241         $(SHD_CCRULE) ${srcdir}/serverLog.c
242
243 dirpath_pic.o: ${srcdir}/dirpath.c ${includes}
244         $(SHD_CCRULE) ${srcdir}/dirpath.c
245
246 fileutil_pic.o: ${srcdir}/fileutil.c ${includes}
247         $(SHD_CCRULE) ${srcdir}/fileutil.c
248
249 netutils_pic.o: ${srcdir}/netutils.c ${includes}
250         $(SHD_CCRULE) ${srcdir}/netutils.c
251
252 flipbase64_pic.o: ${srcdir}/flipbase64.c ${includes}
253         $(SHD_CCRULE) ${srcdir}/flipbase64.c
254
255 fstab_pic.o: ${srcdir}/fstab.c ${includes}
256         $(SHD_CCRULE) ${srcdir}/fstab.c
257
258 afs_atomlist_pic.o: ${srcdir}/afs_atomlist.c ${includes}
259         $(SHD_CCRULE) ${srcdir}/afs_atomlist.c
260
261 afs_lhash_pic.o: ${srcdir}/afs_lhash.c ${includes}
262         $(SHD_CCRULE) ${srcdir}/afs_lhash.c
263
264 snprintf_pic.o: ${srcdir}/snprintf.c ${includes}
265         $(SHD_CCRULE) ${srcdir}/snprintf.c
266
267 pthread_glock_pic.o: ${srcdir}/pthread_glock.c ${includes}
268         $(SHD_CCRULE) ${srcdir}/pthread_glock.c
269
270 tabular_output_pic.o: ${srcdir}/tabular_output.c ${includes}
271         $(SHD_CCRULE) ${srcdir}/tabular_output.c
272
273 regex_pic.o: ${srcdir}/regex.c ${includes}
274         $(SHD_CCRULE) ${srcdir}/regex.c
275
276 #
277 # Install targets
278 #
279 KDIR=../libafs/afs
280 UKDIR=../libuafs/afs
281
282 install: dirpath.h util.a util_pic.a sys
283         ${INSTALL} -d ${DESTDIR}${includedir}/afs
284         ${INSTALL} -d ${DESTDIR}${libdir}/afs
285         ${INSTALL} -d ${DESTDIR}${bindir}
286         ${INSTALL_DATA} dirpath.h ${DESTDIR}${includedir}/afs/dirpath.h
287         ${INSTALL_DATA} ${srcdir}/pthread_nosigs.h ${DESTDIR}${includedir}/afs/pthread_nosigs.h
288         ${INSTALL_DATA} ${srcdir}/afs_assert.h ${DESTDIR}${includedir}/afs/afs_assert.h
289         ${INSTALL_DATA} ${srcdir}/errors.h ${DESTDIR}${includedir}/afs/errors.h
290         ${INSTALL_DATA} ${srcdir}/vice.h ${DESTDIR}${includedir}/afs/vice.h
291         ${INSTALL_DATA} ${srcdir}/ktime.h ${DESTDIR}${includedir}/afs/ktime.h
292         ${INSTALL_DATA} ${srcdir}/fileutil.h ${DESTDIR}${includedir}/afs/fileutil.h
293         ${INSTALL_DATA} ${srcdir}/netutils.h ${DESTDIR}${includedir}/afs/netutils.h
294         ${INSTALL_DATA} ${srcdir}/afsutil.h ${DESTDIR}${includedir}/afs/afsutil.h
295         ${INSTALL_DATA} ${srcdir}/afsutil_prototypes.h ${DESTDIR}${includedir}/afs/afsutil_prototypes.h
296         ${INSTALL_DATA} ${srcdir}/pthread_glock.h ${DESTDIR}${includedir}/afs/pthread_glock.h
297         ${INSTALL_DATA} ${srcdir}/afs_atomlist.h ${DESTDIR}${includedir}/afs/afs_atomlist.h
298         ${INSTALL_DATA} ${srcdir}/afs_lhash.h ${DESTDIR}${includedir}/afs/afs_lhash.h
299         ${INSTALL_DATA} ${srcdir}/softsig.h ${DESTDIR}${includedir}/afs/softsig.h
300         ${INSTALL_DATA} ${srcdir}/work_queue.h ${DESTDIR}${includedir}/afs/work_queue.h
301         ${INSTALL_DATA} ${srcdir}/work_queue_types.h ${DESTDIR}${includedir}/afs/work_queue_types.h
302         ${INSTALL_DATA} ${srcdir}/thread_pool.h ${DESTDIR}${includedir}/afs/thread_pool.h
303         ${INSTALL_DATA} ${srcdir}/thread_pool_types.h ${DESTDIR}${includedir}/afs/thread_pool_types.h
304         ${INSTALL_DATA} ${srcdir}/tabular_output.h ${DESTDIR}${includedir}/afs/tabular_output.h
305         ${INSTALL_DATA} util.a ${DESTDIR}${libdir}/afs/util.a
306         ${INSTALL_DATA} util.a ${DESTDIR}${libdir}/afs/libafsutil.a
307         ${INSTALL_DATA} util_pic.a ${DESTDIR}${libdir}/afs/libafsutil_pic.a
308         ${INSTALL_PROGRAM} sys ${DESTDIR}${bindir}/sys
309
310 dest: dirpath.h util.a util_pic.a sys
311         ${INSTALL} -d ${DEST}/include/afs
312         ${INSTALL} -d ${DEST}/lib/afs
313         ${INSTALL} -d ${DEST}/bin
314         ${INSTALL_DATA} dirpath.h ${DEST}/include/afs/dirpath.h
315         ${INSTALL_DATA} ${srcdir}/pthread_nosigs.h ${DEST}/include/afs/pthread_nosigs.h
316         ${INSTALL_DATA} ${srcdir}/afs_assert.h ${DEST}/include/afs/afs_assert.h
317         ${INSTALL_DATA} ${srcdir}/errors.h ${DEST}/include/afs/errors.h
318         ${INSTALL_DATA} ${srcdir}/vice.h ${DEST}/include/afs/vice.h
319         ${INSTALL_DATA} ${srcdir}/ktime.h ${DEST}/include/afs/ktime.h
320         ${INSTALL_DATA} ${srcdir}/fileutil.h ${DEST}/include/afs/fileutil.h
321         ${INSTALL_DATA} ${srcdir}/netutils.h ${DEST}/include/afs/netutils.h
322         ${INSTALL_DATA} ${srcdir}/afsutil.h ${DEST}/include/afs/afsutil.h
323         ${INSTALL_DATA} ${srcdir}/afsutil_prototypes.h ${DEST}/include/afs/afsutil_prototypes.h
324         ${INSTALL_DATA} ${srcdir}/pthread_glock.h ${DEST}/include/afs/pthread_glock.h
325         ${INSTALL_DATA} ${srcdir}/afs_atomlist.h ${DEST}/include/afs/afs_atomlist.h
326         ${INSTALL_DATA} ${srcdir}/afs_lhash.h ${DEST}/include/afs/afs_lhash.h
327         ${INSTALL_DATA} ${srcdir}/softsig.h ${DEST}/include/afs/softsig.h
328         ${INSTALL_DATA} ${srcdir}/work_queue.h ${DEST}/include/afs/work_queue.h
329         ${INSTALL_DATA} ${srcdir}/work_queue_types.h ${DEST}/include/afs/work_queue_types.h
330         ${INSTALL_DATA} ${srcdir}/thread_pool.h ${DEST}/include/afs/thread_pool.h
331         ${INSTALL_DATA} ${srcdir}/thread_pool_types.h ${DEST}/include/afs/thread_pool_types.h
332         ${INSTALL_DATA} ${srcdir}/tabular_output.h ${DEST}/include/afs/tabular_output.h
333         ${INSTALL_DATA} util.a ${DEST}/lib/afs/util.a
334         ${INSTALL_DATA} util.a ${DEST}/lib/afs/libafsutil.a
335         ${INSTALL_DATA} util_pic.a ${DEST}/lib/afs/libafsutil_pic.a
336         ${INSTALL_PROGRAM} sys ${DEST}/bin/sys
337
338 #
339 # Misc targets
340 #
341
342 clean:
343         $(RM) -f ${objects} sys dirpath.h
344         $(RM) -f util.a util_pic.a *.o core AFS_component_version_number.c
345
346 test:
347         cd test; $(MAKE)
348
349 include ../config/Makefile.version
350
351 check-splint:
352         sh $(HELPER_SPLINT) $(CFLAGS) \
353             assert.c base64.c casestrcpy.c ktime.c volparse.c hostparse.c \
354             hputil.c kreltime.c get_krbrlm.c uuid.c serverLog.c \
355             dirpath.c fileutil.c netutils.c flipbase64.c \
356             afs_atomlist.c afs_lhash.c snprintf.c fstab.c