ubik: Use libtool
[openafs.git] / src / ubik / 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.libtool
11 include @TOP_OBJDIR@/src/config/Makefile.lwp
12
13 LT_objs =   disk.lo remote.lo beacon.lo recovery.lo ubik.lo vote.lo lock.lo \
14             phys.lo ubik_int.cs.lo ubik_int.ss.lo ubik_int.xdr.lo ubikcmd.lo \
15             ubikclient.lo uerrors.lo uinit.lo \
16             AFS_component_version_number.lo
17
18 LT_deps =   $(top_builddir)/src/auth/liboafs_auth.la \
19             $(top_builddir)/src/opr/liboafs_opr.la \
20             $(top_builddir)/src/comerr/liboafs_comerr.la \
21             $(top_builddir)/src/lwp/liboafs_lwpcompat.la \
22             $(top_builddir)/src/rx/liboafs_rx.la \
23             $(top_builddir)/src/util/liboafs_util.la
24
25 INCLS=${TOP_INCDIR}/lwp.h ${TOP_INCDIR}/lock.h \
26         ${TOP_INCDIR}/rx/rx.h ${TOP_INCDIR}/rx/xdr.h \
27         ${TOP_INCDIR}/lock.h ubik.h ubik_int.h
28
29 LIBS=${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/libauth.a \
30         ${TOP_LIBDIR}/libafscom_err.a ${TOP_LIBDIR}/libcmd.a \
31         ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libauth.a \
32         ${TOP_LIBDIR}/libafsutil.a ${TOP_LIBDIR}/libopr.a \
33         ${XLIBS}
34
35 all: depinstall ${TOP_LIBDIR}/libubik.a udebug utst_server utst_client \
36      liboafs_ubik.la
37
38 generated: \
39         utst_int.cs.c utst_int.ss.c utst_int.xdr.c utst_int.h \
40         Kubik_int.cs.c Kubik_int.xdr.c Kubik_int.h \
41         ubik_int.cs.c ubik_int.ss.c ubik_int.xdr.c ubik_int.h \
42         uerrors.c ubik.h
43
44 depinstall: \
45         ubik_int.cs.c ubik_int.xdr.c \
46         ${TOP_INCDIR}/ubik.h \
47         ${TOP_INCDIR}/ubik_int.h
48
49 ${TOP_LIBDIR}/libubik.a: libubik.a
50         ${INSTALL_DATA} $? $@
51
52 ${TOP_INCDIR}/ubik.h: ubik.h
53         ${INSTALL_DATA} $? $@
54
55 ${TOP_INCDIR}/ubik_int.h: ubik_int.h
56         ${INSTALL_DATA} $? $@
57
58 utst_server: utst_server.o utst_int.ss.o utst_int.xdr.o libubik.a 
59         $(AFS_LDRULE) utst_server.o utst_int.ss.o utst_int.xdr.o \
60                 libubik.a $(LIBS) $(LIB_roken)
61
62 utst_client: utst_client.o utst_int.cs.o utst_int.xdr.o libubik.a 
63         $(AFS_LDRULE) utst_client.o utst_int.cs.o utst_int.xdr.o \
64                 libubik.a $(LIBS) $(LIB_roken)
65
66 udebug: udebug.o libubik.a 
67         $(AFS_LDRULE) udebug.o libubik.a $(LIBS) $(LIB_roken)
68
69 ubik_int.cs.c: ubik_int.xg
70         ${RXGEN} -A -x -C -o $@ ${srcdir}/ubik_int.xg
71
72 ubik_int.ss.c: ubik_int.xg
73         ${RXGEN} -A -x -S -o $@ ${srcdir}/ubik_int.xg
74
75 ubik_int.xdr.c: ubik_int.xg
76         ${RXGEN} -A -x -c -o $@ ${srcdir}/ubik_int.xg
77
78 ubik_int.h: ubik_int.xg
79         ${RXGEN} -A -x -h -o $@ ${srcdir}/ubik_int.xg
80
81 ubik_int.cs.c: ubik_int.h
82 ubik_int.ss.c: ubik_int.h
83 ubik_int.xdr.c: ubik_int.h
84
85 Kubik_int.cs.c: ubik_int.xg Kubik_int.h
86         ${RXGEN} -A -x -k -C -o Kubik_int.cs.c ${srcdir}/ubik_int.xg
87
88 Kubik_int.xdr.c: ubik_int.xg
89         ${RXGEN} -A -x -k -c -o Kubik_int.xdr.c ${srcdir}/ubik_int.xg
90
91 Kubik_int.h: ubik_int.xg
92         ${RXGEN} -A -x -k -h -o Kubik_int.h ${srcdir}/ubik_int.xg
93
94 utst_int.ss.o: utst_int.ss.c utst_int.xdr.c
95 utst_int.cs.o: utst_int.cs.c utst_int.xdr.c
96 utst_int.xdr.o: utst_int.xdr.c utst_int.h
97
98 utst_int.cs.c: utst_int.xg
99         ${RXGEN} -A -C -u -o $@ ${srcdir}/utst_int.xg
100
101 utst_int.ss.c: utst_int.xg
102         ${RXGEN} -A -S -o $@ ${srcdir}/utst_int.xg
103
104 utst_int.xdr.c: utst_int.xg
105         ${RXGEN} -A -c -o $@ ${srcdir}/utst_int.xg
106
107 utst_int.h: utst_int.xg
108         ${RXGEN} -A -h -u -o $@ ${srcdir}/utst_int.xg
109
110 utst_int.cs.c: utst_int.h
111 utst_int.ss.c: utst_int.h
112 utst_int.xdr.c: utst_int.h
113
114 utst_server.o: utst_server.c ${INCLS} utst_int.h AFS_component_version_number.c
115 utst_client.o: utst_client.c ${INCLS} utst_int.h AFS_component_version_number.c
116
117 udebug.o: udebug.c ${INCLS} AFS_component_version_number.c
118 uerrors.o: uerrors.c
119
120 ubik.h: uerrors.c
121
122 uerrors.c: uerrors.et ubik.p.h
123         $(RM) -f ubik.h uerrors.c
124         ${COMPILE_ET} -p ${srcdir} uerrors -h ubik
125
126 libubik.a: ${LT_objs}
127         $(LT_LDLIB_lwp) $(LT_objs)
128
129 $(LT_objs): $(INCLS)
130
131 utst_int.ss.o: utst_int.ss.c ${INCLS} utst_int.h
132 utst_int.cs.o: utst_int.cs.c ${INCLS} utst_int.h
133 utst_int.xdr.o: utst_int.xdr.c ${INCLS} utst_int.h 
134
135 liboafs_ubik.la: liboafs_ubik.la.sym $(LT_objs) $(LT_deps)
136         $(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs)
137
138 #
139 # Installation targets
140 #
141 test: all
142
143 install: libubik.a ubik.h ubik_int.h udebug
144         ${INSTALL} -d ${DESTDIR}${libdir}
145         ${INSTALL} -d ${DESTDIR}${includedir}
146         ${INSTALL} -d ${DESTDIR}${bindir}
147         ${INSTALL} -d ${DESTDIR}${afssrvbindir}
148         ${INSTALL_DATA} libubik.a ${DESTDIR}${libdir}/libubik.a
149         $(LT_INSTALL_DATA) liboafs_ubik.la $(DESTDIR)$(libdir)/liboafs_ubik.la
150         ${INSTALL_DATA} ubik.h ${DESTDIR}${includedir}/ubik.h
151         ${INSTALL_DATA} ubik_int.h ${DESTDIR}${includedir}/ubik_int.h
152         ${INSTALL_PROGRAM} udebug ${DESTDIR}${bindir}/udebug
153         ${INSTALL_PROGRAM} udebug ${DESTDIR}${afssrvbindir}/udebug
154
155 dest: libubik.a ubik.h ubik_int.h udebug
156         ${INSTALL} -d ${DEST}/lib
157         ${INSTALL} -d ${DEST}/include
158         ${INSTALL} -d ${DEST}/root.server/usr/afs/bin
159         ${INSTALL_DATA} libubik.a ${DEST}/lib/libubik.a
160         ${INSTALL_DATA} ubik.h ${DEST}/include/ubik.h
161         ${INSTALL_DATA} ubik_int.h ${DEST}/include/ubik_int.h
162         ${INSTALL_PROGRAM} udebug ${DEST}/bin/udebug
163         ${INSTALL_PROGRAM} udebug ${DEST}/root.server/usr/afs/bin/udebug
164
165 #
166 # Misc. targets
167 #
168 clean:
169         $(LT_CLEAN)
170         $(RM) -f *.o utst_server utst_client udebug *.a *.cs.c *.ss.c *.xdr.c
171         $(RM) -f utst_int.h ubik_int.h uerrors.c ubik.h core AFS_component_version_number.c Kubik_int.h
172
173 include ../config/Makefile.version