Unix: Rework build system
[openafs.git] / src / tubik / 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.pthread
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 UBIK=$(srcdir)/../ubik
19 RX=$(srcdir)/../rx
20 UTIL=$(srcdir)/../util
21
22 LIBOBJS=disk.o  remote.o beacon.o recovery.o ubik.o  vote.o lock.o phys.o \
23         ubik_int.cs.o ubik_int.ss.o ubik_int.xdr.o ubikcmd.o \
24         ubikclient.o uerrors.o uinit.o
25
26 INCLS=${TOP_INCDIR}/lwp.h ${TOP_INCDIR}/lock.h \
27         ${TOP_INCDIR}/rx/rx.h ${TOP_INCDIR}/rx/xdr.h \
28         ${TOP_INCDIR}/lock.h ubik.h ubik_int.h utst_int.h
29
30 RXOBJS = rx_pthread.o
31
32 UTILOBJS=assert.o uuid.o serverLog.o fileutil.o netutils.o dirpath.o \
33        volparse.o flipbase64.o softsig.o hostparse.o snprintf.o \
34        pthread_glock.o strlcat.o strlcpy.o strnlen.o
35
36 LIBS=${RXOBJS} ${UTILOBJS} ${TOP_LIBDIR}/libafsrpc.a ${TOP_LIBDIR}/liblwp.a \
37      ${TOP_LIBDIR}/libcom_err.a ${TOP_LIBDIR}/libcmd.a \
38      ${TOP_LIBDIR}/libsys.a ${XLIBS} ${MT_LIBS}
39
40 all: depinstall ${TOP_LIBDIR}/libubik_pthread.a udebug utst_server utst_client
41
42 depinstall: \
43         ubik_int.cs.c ubik_int.xdr.c \
44         ${TOP_INCDIR}/ubik.h \
45         ${TOP_INCDIR}/ubik_int.h
46
47 #
48 # get the pthreaded rx stuff compiled here
49 #
50
51 CFLAGS_rx_pthread.o = -DDPF_FSLOG
52 rx_pthread.o: ${RX}/rx_pthread.c
53         $(AFS_CCRULE) $(RX)/rx_pthread.c
54
55 #
56 # get the pthreaded util stuff compiled here.  we do this instead of
57 # using the non-pthreaded libutil.a.  There probably should be a
58 # pthreaded version of this library, as we are doing with ubik itself, but...
59 #
60
61 assert.o: ${UTIL}/assert.c
62         $(AFS_CCRULE) $(UTIL)/assert.c
63
64 uuid.o: ${UTIL}/uuid.c
65         $(AFS_CCRULE) $(UTIL)/uuid.c
66
67 serverLog.o: ${UTIL}/serverLog.c
68         $(AFS_CCRULE) $(UTIL)/serverLog.c
69
70 fileutil.o: ${UTIL}/fileutil.c
71         $(AFS_CCRULE) $(UTIL)/fileutil.c
72
73 volparse.o: ${UTIL}/volparse.c
74         $(AFS_CCRULE) $(UTIL)/volparse.c
75
76 strlcat.o: ${UTIL}/strlcat.c
77         $(AFS_CCRULE) $(UTIL)/strlcat.c
78
79 strlcpy.o: ${UTIL}/strlcpy.c
80         $(AFS_CCRULE) $(UTIL)/strlcpy.c
81
82 strnlen.o: ${UTIL}/strnlen.c
83         $(AFS_CCRULE) $(UTIL)/strnlen.c
84
85 flipbase64.o: ${UTIL}/flipbase64.c
86         $(AFS_CCRULE) $(UTIL)/flipbase64.c
87
88 netutils.o: ${UTIL}/netutils.c
89         $(AFS_CCRULE) $(UTIL)/netutils.c
90
91 dirpath.o: ${UTIL}/dirpath.c
92         $(AFS_CCRULE) $(UTIL)/dirpath.c
93
94 softsig.o: ${UTIL}/softsig.c
95         $(AFS_CCRULE) $(UTIL)/softsig.c
96
97 hostparse.o: ${UTIL}/hostparse.c
98         $(AFS_CCRULE) $(UTIL)/hostparse.c
99
100 snprintf.o: ${UTIL}/snprintf.c
101         $(AFS_CCRULE) $(UTIL)/snprintf.c
102
103 pthread_glock.o: ${UTIL}/pthread_glock.c
104         $(AFS_CCRULE) $(UTIL)/pthread_glock.c
105
106 #
107 # insert comments here
108 #
109
110 utst_server: utst_server.o utst_int.ss.o utst_int.xdr.o libubik_pthread.a ${RXOBJS} ${UTILOBJS}
111         $(AFS_LDRULE) utst_server.o utst_int.ss.o utst_int.xdr.o \
112                 libubik_pthread.a $(LIBS)
113
114 utst_client: utst_client.o utst_int.cs.o utst_int.xdr.o libubik_pthread.a ${RXOBJS} ${UTILOBJS}
115         $(AFS_LDRULE) utst_client.o utst_int.cs.o utst_int.xdr.o \
116                 libubik_pthread.a $(LIBS)
117
118 udebug: udebug.o libubik_pthread.a ${RXOBJS} ${UTILOBJS}
119         $(AFS_LDRULE) udebug.o libubik_pthread.a $(LIBS)
120
121 ubik_int.cs.c: ${UBIK}/ubik_int.xg
122         ${RXGEN} -A -x -C -o $@ ${UBIK}/ubik_int.xg
123
124 ubik_int.ss.c: ${UBIK}/ubik_int.xg
125         ${RXGEN} -A -x -S -o $@ ${UBIK}/ubik_int.xg
126
127 ubik_int.xdr.c: ${UBIK}/ubik_int.xg
128         ${RXGEN} -A -x -c -o $@ ${UBIK}/ubik_int.xg
129
130 ubik_int.h: ${UBIK}/ubik_int.xg
131         ${RXGEN} -A -x -h -o $@ ${UBIK}/ubik_int.xg
132
133 ubik_int.cs.c: ubik_int.h
134 ubik_int.ss.c: ubik_int.h
135 ubik_int.xdr.c: ubik_int.h
136
137 Kubik_int.cs.c: ${UBIK}/ubik_int.xg Kubik_int.h
138         ${RXGEN} -A -x -k -C -o Kubik_int.cs.c ${UBIK}/ubik_int.xg
139  
140 Kubik_int.xdr.c: ${UBIK}/ubik_int.xg
141         ${RXGEN} -A -x -k -c -o Kubik_int.xdr.c ${UBIK}/ubik_int.xg
142  
143 Kubik_int.h: ${UBIK}/ubik_int.xg
144         ${RXGEN} -A -x -k -h -o Kubik_int.h ${UBIK}/ubik_int.xg
145
146 utst_int.ss.o: utst_int.ss.c
147 utst_int.cs.o: utst_int.cs.c
148 utst_int.xdr.o: utst_int.xdr.c
149
150 utst_int.cs.c: ${UBIK}/utst_int.xg
151         ${RXGEN} -A -C -u -o $@ ${UBIK}/utst_int.xg
152
153 utst_int.ss.c: ${UBIK}/utst_int.xg
154         ${RXGEN} -A -S -o $@ ${UBIK}/utst_int.xg
155
156 utst_int.xdr.c: ${UBIK}/utst_int.xg
157         ${RXGEN} -A -c -o $@ ${UBIK}/utst_int.xg
158
159 utst_int.h: ${UBIK}/utst_int.xg
160         ${RXGEN} -A -h -u -o $@ ${UBIK}/utst_int.xg
161
162 utst_int.cs.c: utst_int.h
163 utst_int.ss.c: utst_int.h
164 utst_int.xdr.c: utst_int.h
165
166 utst_server.o: ${UBIK}/utst_server.c
167         ${AFS_CCRULE} ${UBIK}/utst_server.c
168
169 utst_client.o: ${UBIK}/utst_client.c
170         ${AFS_CCRULE} ${UBIK}/utst_client.c
171
172 udebug.o: ${UBIK}/udebug.c
173         ${AFS_CCRULE} ${UBIK}/udebug.c
174
175 uerrors.c ubik.h: ${UBIK}/uerrors.et ${UBIK}/ubik.p.h
176         $(RM) -f ubik.h uerrors.c
177         ${COMPILE_ET} -p ${UBIK} uerrors -h ubik
178
179 libubik_pthread.a: ${INCLS} ${LIBOBJS} AFS_component_version_number.o
180         -$(RM) -f $@
181         $(AR) crc $@ ${LIBOBJS} AFS_component_version_number.o
182         $(RANLIB) $@
183
184 disk.o: ${UBIK}/disk.c
185         $(AFS_CCRULE) $(UBIK)/disk.c
186
187 uinit.o: ${UBIK}/uinit.c
188         $(AFS_CCRULE) $(UBIK)/uinit.c
189
190 remote.o: ${UBIK}/remote.c
191         $(AFS_CCRULE) $(UBIK)/remote.c
192
193 beacon.o: ${UBIK}/beacon.c
194         $(AFS_CCRULE) $(UBIK)/beacon.c
195
196 lock.o: ${UBIK}/lock.c
197         $(AFS_CCRULE) $(UBIK)/lock.c
198
199 recovery.o: ${UBIK}/recovery.c
200         $(AFS_CCRULE) $(UBIK)/recovery.c
201
202 ubik.o: ${UBIK}/ubik.c
203         $(AFS_CCRULE) $(UBIK)/ubik.c
204
205 phys.o: ${UBIK}/phys.c
206         $(AFS_CCRULE) $(UBIK)/phys.c
207
208 vote.o: ${UBIK}/vote.c
209         $(AFS_CCRULE) $(UBIK)/vote.c
210
211 ubikcmd.o: ${UBIK}/ubikcmd.c
212         $(AFS_CCRULE) $(UBIK)/ubikcmd.c
213
214 ubikclient.o: ${UBIK}/ubikclient.c
215         $(AFS_CCRULE) $(UBIK)/ubikclient.c
216 ubik_int.xdr.o: ubik_int.xdr.c
217
218 #
219 # Installation targets
220 #
221 test: all
222
223 install: ${DESTDIR}${libdir}/libubik_pthread.a udebug
224         ${INSTALL} udebug ${DESTDIR}${bindir}/udebug
225         ${INSTALL} udebug ${DESTDIR}${afssrvbindir}/udebug
226
227 ${DEST}/bin/udebug ${DEST}/root.server/usr/afs/bin/udebug: udebug
228         ${INSTALL} $? $@
229
230 ${DEST}/lib/libubik_pthread.a: libubik_pthread.a
231         ${INSTALL} $? $@
232
233 ${DEST}/include/ubik.h: ubik.h
234         ${INSTALL} $? $@
235
236 ${DEST}/include/ubik_int.h: ubik_int.h
237         ${INSTALL} $? $@
238
239 #
240 # Misc. targets
241 #
242 clean:
243         $(RM) -f *.o utst_server utst_client udebug *.a *.cs.c *.ss.c *.xdr.c
244         $(RM) -f utst_int.h ubik_int.h uerrors.c ubik.h core AFS_component_version_number.c Kubik_int.h
245
246 include ../config/Makefile.version
247
248
249 ${DESTDIR}${libdir}/libubik_pthread.a: libubik_pthread.a
250         ${INSTALL} $? $@
251
252 ${TOP_LIBDIR}/libubik_pthread.a: libubik_pthread.a
253         ${INSTALL} $? $@
254
255 ${DESTDIR}${includedir}/ubik.h: ubik.h
256         ${INSTALL} $? $@
257
258 ${TOP_INCDIR}/ubik.h: ubik.h
259         ${INSTALL} $? $@
260
261 ${DESTDIR}${includedir}/ubik_int.h: ubik_int.h
262         ${INSTALL} $? $@
263
264 ${TOP_INCDIR}/ubik_int.h: ubik_int.h
265         ${INSTALL} $? $@
266
267 dest: \
268         ${DEST}/lib/libubik_pthread.a \
269         ${DEST}/bin/udebug \
270         ${DEST}/root.server/usr/afs/bin/udebug
271