60100afdc431705b8f14160d554f0710f5ba478c
[openafs.git] / src / ubik / Makefile
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 SHELL = /bin/sh
9 COMPONENT=ubik
10 include ../config/Makefile.${SYS_NAME}
11 MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
12
13 CFLAGS=${OPTMZ} -I${TOP_SRCDIR}/config -I./ -I${SRCDIR}include ${XCFLAGS}
14 UKERNELDIR=../libuafs/
15 LIBOBJS=disk.o  remote.o beacon.o recovery.o ubik.o  vote.o lock.o phys.o \
16         ubik_int.cs.o ubik_int.ss.o ubik_int.xdr.o ubikcmd.o \
17         ubikclient.o uerrors.o
18 INCLS= ${SRCDIR}include/lwp.h ${SRCDIR}include/lock.h \
19         ${SRCDIR}include/rx/rx.h ${SRCDIR}include/rx/xdr.h \
20         ${SRCDIR}include/lock.h ubik.h ubik_int.h
21 LIBS=${SRCDIR}lib/librx.a ${SRCDIR}lib/liblwp.a \
22      ${SRCDIR}lib/afs/libcom_err.a ${SRCDIR}lib/afs/libcmd.a \
23      ${SRCDIR}lib/afs/util.a ${SRCDIR}lib/afs/libsys.a ${XLIBS}
24 RXGEN=${SRCDIR}bin/rxgen
25 COMPILE_ET = ${SRCDIR}bin/compile_et
26
27 UKSRCS=ubik.h ubikclient.c uerrors.c
28
29 include ../config/Makefile.version
30
31 all: libubik.a test
32
33 test: utst_server utst_client udebug
34         ${INSTALL} udebug ${DESTDIR}bin
35         ${INSTALL} udebug ${DESTDIR}root.server/usr/afs/bin
36
37 clean:
38         rm -f *.o utst_server utst_client udebug *.a *.cs.c *.ss.c *.xdr.c
39         rm -f utst_int.h ubik_int.h uerrors.c ubik.h core AFS_component_version_number.c Kubik_int.h
40
41 system: install
42
43 kinstall:
44         @echo No $@ source here.
45
46 ukinstall webinstall: ${UKSRCS} Kubik_int.h Kubik_int.xdr.c Kubik_int.cs.c
47         set ${UKERNELDIR}afs; $(MKDIR_IF_NEEDED)
48         set ${UKERNELDIR}afsint; $(MKDIR_IF_NEEDED)
49         ${INSTALL} Kubik_int.h ${UKERNELDIR}afsint/ubik_int.h
50         ${INSTALL} Kubik_int.cs.c ${UKERNELDIR}afsint/ubik_int.cs.c
51         ${INSTALL} Kubik_int.xdr.c ${UKERNELDIR}afsint/ubik_int.xdr.c
52         ${INSTALL} ${UKSRCS} ${UKERNELDIR}afs
53
54 beancount:
55         wc *.[ch] *.xg
56
57 install: libubik.a ukinstall
58         ${INSTALL} libubik.a ${DESTDIR}lib
59         ${INSTALL} ubik.h ubik_int.h ${DESTDIR}include
60
61 utst_server: utst_server.o utst_int.ss.o utst_int.xdr.o libubik.a 
62         ${CC} ${CFLAGS} -o utst_server utst_server.o utst_int.ss.o utst_int.xdr.o libubik.a $(LIBS)
63
64 utst_client: utst_client.o utst_int.cs.o utst_int.xdr.o libubik.a 
65         ${CC} ${CFLAGS} -o utst_client utst_client.o utst_int.cs.o utst_int.xdr.o libubik.a $(LIBS)
66
67 udebug: udebug.o libubik.a 
68         ${CC} ${CFLAGS} -o udebug udebug.o libubik.a $(LIBS)
69
70 ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c ubik_int.h: ubik_int.xg
71         ${RXGEN} -x ubik_int.xg
72
73 Kubik_int.cs.c: ubik_int.xg Kubik_int.h
74         ${RXGEN} -x -k -C -o Kubik_int.cs.c ubik_int.xg
75  
76 Kubik_int.xdr.c: ubik_int.xg
77         ${RXGEN} -x -k -c -o Kubik_int.xdr.c ubik_int.xg
78  
79 Kubik_int.h: ubik_int.xg
80         ${RXGEN} -x -k -h -o Kubik_int.h ubik_int.xg
81
82 utst_int.ss.o: utst_int.ss.c utst_int.xdr.c
83 utst_int.cs.o: utst_int.cs.c utst_int.xdr.c
84 utst_int.xdr.o: utst_int.xdr.c utst_int.h
85 utst_int.ss.c utst_int.cs.c utst_int.xdr.c utst_int.h: utst_int.xg
86         ${RXGEN}  utst_int.xg
87
88 utst_server.o: utst_server.c ${INCLS} utst_int.h AFS_component_version_number.c
89 utst_client.o: utst_client.c ${INCLS} utst_int.h AFS_component_version_number.c
90
91 udebug.o: udebug.c ${INCLS} AFS_component_version_number.c
92         ${CC} ${CFLAGS} -g -I. -I${DESTDIR}/include -I${DESTDIR}/include/afs -I${DESTDIR}/ -c udebug.c
93
94 uerrors.o: uerrors.c
95
96 uerrors.c ubik.h: uerrors.et ubik.p.h
97         rm -f ubik.h uerrors.c; ${COMPILE_ET} uerrors -h ubik
98
99 libubik.a: ${LIBOBJS} AFS_component_version_number.o
100         -rm -f $@
101         ar rv $@ ${LIBOBJS} AFS_component_version_number.o
102         $(RANLIB) $@
103
104 disk.o: disk.c ${INCLS}
105 remote.o: remote.c ${INCLS}
106 beacon.o: beacon.c ${INCLS}
107 lock.o: lock.c ${INCLS}
108 recovery.o: recovery.c ${INCLS}
109 ubik.o: ubik.c ${INCLS}
110 phys.o: phys.c ${INCLS}
111 vote.o: vote.c ${INCLS}
112 ubikcmd.o: ubikcmd.c ${INCLS}
113 ubikclient.o: ubikclient.c ${INCLS}
114 ubik_int.ss.o: ubik_int.ss.c ${INCLS}
115 ubik_int.cs.o: ubik_int.cs.c ${INCLS}
116 ubik_int.xdr.o: ubik_int.xdr.c ${INCLS}
117 utst_int.ss.o: utst_int.ss.c ${INCLS} utst_int.h
118 utst_int.cs.o: utst_int.cs.c ${INCLS} utst_int.h
119 utst_int.xdr.o: utst_int.xdr.c ${INCLS} utst_int.h 
120
121
122
123
124