Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / JAVA / libjafs / Makefile.in
CommitLineData
805e021f
CE
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
8include ../../config/Makefile.config
9#${SYS_NAME}
10
11DEST=@DEST@
12TOP_SRCDIR=@TOP_SRCDIR@
13TOP_INCDIR=@TOP_INCDIR@
14TOP_LIBDIR=@TOP_LIBDIR@
15TOP_JLIBDIR=@TOP_SRCDIR@/JAVA/libjafs
16JNI_INC=-I ${JAVA_HOME}/include -I `dirname ${JAVA_HOME}/include/*/jni_md.h`
17prefix=@prefix@
18exec_prefix=@exec_prefix@
19datarootdir=@datarootdir@
20bindir=@bindir@
21sbindir=@sbindir@
22libexecdir=@libexecdir@
23libdir=@libdir@
24includedir=@includedir@
25mandir=@mandir@
26afssrvbindir=@afssrvbindir@
27afssrvsbindir=@afssrvsbindir@
28afssrvlibexecdir=@afssrvlibexecdir@
29COMPILE_ET=${TOP_SRCDIR}/comerr/compile_et
30RXGEN=${TOP_SRCDIR}/rxgen/rxgen
31SYS_NAME=@AFS_SYSNAME@
32
33
34CC = ${MT_CC}
35SHARED_FLAGS = -shared -Xlinker -Bsymbolic
36OBJECT_FLAGS = -fPIC -c
37
38ifeq "$(BUILD_TYPE)" "admin"
39 INC := -I${TOP_SRCDIR}/config -I${TOP_INCDIR} -I${TOP_INCDIR}/afs/ ${JNI_INC}
40 CFLAGS := ${INC} ${DBG} ${OPTMZ} -I${TOP_SRCDIR}/config ${MT_CFLAGS}
41else
42 INC := -I${TOP_SRCDIR}/config -I${TOP_SRCDIR}/libuafs -I${TOP_INCDIR} ${JNI_INC}
43 CFLAGS := ${INC} ${DBG} ${OPTMZ} ${FSINCLUDES} -D_REENTRANT -DLIBJUAFS ${MT_CFLAGS}
44endif
45
46
47LIBJAFSADMDIR = ./
48ROOTPACKAGEDIR = ../classes
49RELPACKAGEDIR = org/openafs/jafs/
50PACKAGEDIR = ${ROOTPACKAGEDIR}/${RELPACKAGEDIR}
51JAVADOCSDIR = javadocs/
52
53JAVAH = ${JAVA_HOME}/bin/javah -classpath ${ROOTPACKAGEDIR} -jni -d ${LIBJAFSADMDIR}
54JAVAC = ${JAVA_HOME}/bin/javac -source 1.4 -classpath ${ROOTPACKAGEDIR}
55
56J_NATIVE_PREFIX = org.openafs.jafs.
57C_NATIVE_PREFIX = org_openafs_jafs_
58
59PACKAGE =\
60 ${PACKAGEDIR}ACL.class \
61 ${PACKAGEDIR}AFSException.class \
62 ${PACKAGEDIR}AFSFileException.class \
63 ${PACKAGEDIR}AFSSecurityException.class \
64 ${PACKAGEDIR}Cell.class \
65 ${PACKAGEDIR}File.class \
66 ${PACKAGEDIR}FileInputStream.class \
67 ${PACKAGEDIR}FileOutputStream.class \
68 ${PACKAGEDIR}Group.class \
69 ${PACKAGEDIR}Key.class \
70 ${PACKAGEDIR}Partition.class \
71 ${PACKAGEDIR}Process.class \
72 ${PACKAGEDIR}Server.class \
73 ${PACKAGEDIR}Token.class \
74 ${PACKAGEDIR}User.class \
75 ${PACKAGEDIR}Volume.class \
76 ${PACKAGEDIR}VersionInfo.class
77
78ifeq (${SYS_NAME}, ppc64_linux26)
79LIBJAFS_OBJS =
80else
81ifeq (${SYS_NAME}, s390x_linux26)
82LIBJAFS_OBJS =
83else
84LIBJAFS_OBJS =\
85 ${LIBJAFSADMDIR}GetNativeString.o \
86 ${LIBJAFSADMDIR}ACL.o
87endif
88endif
89
90LIBJAFS_OBJS +=\
91 ${LIBJAFSADMDIR}File.o \
92 ${LIBJAFSADMDIR}FileInputStream.o \
93 ${LIBJAFSADMDIR}FileOutputStream.o \
94 ${LIBJAFSADMDIR}Internal.o \
95 ${LIBJAFSADMDIR}UserToken.o \
96 ${LIBJAFSADMDIR}VersionInfo.o \
97 ${TOP_SRCDIR}/libuafs/UAFS/xdr_int32.o
98
99ifeq (${SYS_NAME}, ppc64_linux26)
100LIBJAFSADM_OBJS =\
101 ${LIBJAFSADMDIR}GetNativeString.o \
102 ${LIBJAFSADMDIR}ACL.o
103else
104ifeq (${SYS_NAME}, s390x_linux26)
105LIBJAFSADM_OBJS =\
106 ${LIBJAFSADMDIR}GetNativeString.o \
107 ${LIBJAFSADMDIR}ACL.o
108else
109LIBJAFSADM_OBJS =
110endif
111endif
112
113LIBJAFSADM_OBJS +=\
114 ${LIBJAFSADMDIR}AdminToken.o \
115 ${LIBJAFSADMDIR}Cell.o \
116 ${LIBJAFSADMDIR}Group.o \
117 ${LIBJAFSADMDIR}Internal.o \
118 ${LIBJAFSADMDIR}Key.o \
119 ${LIBJAFSADMDIR}Partition.o \
120 ${LIBJAFSADMDIR}Process.o \
121 ${LIBJAFSADMDIR}Server.o \
122 ${LIBJAFSADMDIR}User.o \
123 ${LIBJAFSADMDIR}Version2.o \
124 ${LIBJAFSADMDIR}Volume.o
125
126CORRELATING_SOURCE_FILES =\
127 ${LIBJAFSADMDIR}ACL.c \
128 ${LIBJAFSADMDIR}Cell.c \
129 ${LIBJAFSADMDIR}File.c \
130 ${LIBJAFSADMDIR}FileInputStream.c \
131 ${LIBJAFSADMDIR}FileOutputStream.c \
132 ${LIBJAFSADMDIR}Group.c \
133 ${LIBJAFSADMDIR}Key.c \
134 ${LIBJAFSADMDIR}Partition.c \
135 ${LIBJAFSADMDIR}Process.c \
136 ${LIBJAFSADMDIR}Server.c \
137 ${LIBJAFSADMDIR}User.c \
138 ${LIBJAFSADMDIR}Volume.c \
139 ${LIBJAFSADMDIR}VersionInfo.c
140
141
142JAVA_HEADERS = ${PACKAGE:${PACKAGEDIR}%.class=${C_NATIVE_PREFIX}%.h}
143
144BOSADMINLIB = ${TOP_LIBDIR}/libbosadmin.a
145VOSADMINLIB = ${TOP_LIBDIR}/libvosadmin.a
146PTSADMINLIB = ${TOP_LIBDIR}/libptsadmin.a
147KASADMINLIB = ${TOP_LIBDIR}/libkasadmin.a
148CFGADMINLIB = ${TOP_LIBDIR}/libcfgadmin.a
149UTILADMINLIB = ${TOP_LIBDIR}/libafsadminutil.a
150CLIENTADMINLIB = ${TOP_LIBDIR}/libclientadmin.a
151
152LIBJAFS_LIBS =\
153 ${TOP_LIBDIR}/libuafs.a \
154 ${TOP_LIBDIR}/libafsutil.a \
155 -lresolv \
156 -lpthread
157
158LIBJAFSADM_LIBS =\
159 ${CLIENTADMINLIB} \
160 ${VOSADMINLIB} \
161 ${BOSADMINLIB} \
162 ${PTSADMINLIB} \
163 ${KASADMINLIB} \
164 ${CFGADMINLIB} \
165 ${UTILADMINLIB} \
166 ${TOP_LIBDIR}/libafsauthent.a \
167 ${TOP_LIBDIR}/libafsrpc.a \
168 ${TOP_LIBDIR}/libcmd.a \
169 ${TOP_LIBDIR}/util.a \
170 -lresolv \
171 -lpthread
172
173
174JARFILE = jafs.jar
175
176all: ${TOP_JLIBDIR} libjafs libjafsadm ${PACKAGE} all_jar
177
178install: all ${DESTDIR}${libdir}/libjafs.so ${DESTDIR}${libdir}/libjafsadm.so ${PACKAGE} install_jar
179 if [ ! -e /usr/afswsp ]; then \
180 mkdir -p /usr/afswsp/; \
181 fi; \
182 if [ ! -e /usr/afswsp/etc ]; then \
183 mkdir -p /usr/afswsp/etc/; \
184 cp ./etc/CacheConfig /usr/afswsp/etc/; \
185 fi; \
186 if [ ! -e /usr/afswsp/log ]; then \
187 mkdir -p /usr/afswsp/log/; \
188 fi; \
189 if [ ! -e /usr/afswsp/cache ]; then \
190 mkdir -p /usr/afswsp/cache/; \
191 fi; \
192 if [ ! -L /usr/vice/etc/CellServDB ]; then \
193 ln -s /usr/vice/etc/CellServDB /usr/afswsp/etc/; \
194 fi; \
195 if [ ! -L /usr/vice/etc/ThisCell ]; then \
196 ln -s /usr/vice/etc/ThisCell /usr/afswsp/etc/; \
197 fi
198
199clean:
200 ${RM} -f ${PACKAGEDIR}*.class ${LIBJAFSADMDIR}*.o ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}*.h
201
202setup: FORCE
203 if [ ! -e ./h ]; then \
204 ln -s /usr/include/sys h; \
205 fi;
206
207${TOP_JLIBDIR}:
208 mkdir -p $@
209
210FORCE: ;
211
212############# Shared library ###############################
213
214libjafs: setup
215 ${RM} -f ${LIBJAFSADMDIR}Internal.o; \
216 export BUILD_TYPE=user; \
217 ${MAKE} ${TOP_LIBDIR}/libjafs.so
218
219libjafsadm:
220 ${RM} -f ${LIBJAFSADMDIR}Internal.o; \
221 export BUILD_TYPE=admin; \
222 ${MAKE} ${TOP_LIBDIR}/libjafsadm.so
223
224${TOP_LIBDIR}/libjafs.so: ${LIBJAFS_OBJS}
225 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o $@ $^ ${LIBJAFS_LIBS}
226
227${DESTDIR}${libdir}/libjafs.so: ${LIBJAFS_OBJS}192.168.13.10
228 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o $@ $^ ${LIBJAFS_LIBS}
229
230${TOP_LIBDIR}/libjafsadm.so: ${LIBJAFSADM_OBJS}
231 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o $@ $^ ${LIBJAFSADM_LIBS}
232
233${DESTDIR}${libdir}/libjafsadm.so: ${LIBJAFSADM_OBJS}
234 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o $@ $^ ${LIBJAFSADM_LIBS}
235
236############## Object files ################################
237
238${LIBJAFSADM_OBJS}: %.o: %.c
239 ${CC} ${CFLAGS} ${OBJECT_FLAGS} -o $@ $<
240
241############## C files #####################################
242
243${CORRELATING_SOURCE_FILES}: ${LIBJAFSADMDIR}%.c: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}%.h ${LIBJAFSADMDIR}Internal.h
244
245${LIBJAFSADMDIR}AdminToken.c: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Token.h ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Cell.h
246
247${LIBJAFSADMDIR}Internal.c: ${LIBJAFSADMDIR}Internal.h
248
249${LIBJAFSADMDIR}Version2.c: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}VersionInfo.h ${LIBJAFSADMDIR}JAFS_Version.h
250
251${LIBJAFSADMDIR}UserToken.c: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Token.h
252
253############## Package javac section #########################
254
255${PACKAGEDIR}%.class: ${PACKAGEDIR}%.java
256 ${JAVAC} $<
257
258############## Javah section ###############################
259
260${JAVA_HEADERS}: ${C_NATIVE_PREFIX}%.h: ${PACKAGEDIR}%.class
261 ${JAVAH} ${J_NATIVE_PREFIX}$*
262
263############# JAR file #####################################
264
265all_jar: clean_jar
266 cd ${ROOTPACKAGEDIR}; ${JAVA_HOME}/bin/jar -cMf ${TOP_JLIBDIR}/${JARFILE} *.properties ${RELPACKAGEDIR}*.class
267
268install_jar: clean_jar
269 cd ${ROOTPACKAGEDIR}; ${JAVA_HOME}/bin/jar -cMf ${JAVA_HOME}/lib/${JARFILE} *.properties ${RELPACKAGEDIR}*.class
270
271clean_jar:
272 ${RM} -f ${TOP_JLIBDIR}/${JARFILE}
273
274
275