Commit | Line | Data |
---|---|---|
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 | ||
8 | include ../../config/Makefile.config | |
9 | #${SYS_NAME} | |
10 | ||
11 | DEST=@DEST@ | |
12 | TOP_SRCDIR=@TOP_SRCDIR@ | |
13 | TOP_INCDIR=@TOP_INCDIR@ | |
14 | TOP_LIBDIR=@TOP_LIBDIR@ | |
15 | TOP_JLIBDIR=@TOP_SRCDIR@/JAVA/libjafs | |
16 | JNI_INC=-I ${JAVA_HOME}/include -I `dirname ${JAVA_HOME}/include/*/jni_md.h` | |
17 | prefix=@prefix@ | |
18 | exec_prefix=@exec_prefix@ | |
19 | datarootdir=@datarootdir@ | |
20 | bindir=@bindir@ | |
21 | sbindir=@sbindir@ | |
22 | libexecdir=@libexecdir@ | |
23 | libdir=@libdir@ | |
24 | includedir=@includedir@ | |
25 | mandir=@mandir@ | |
26 | afssrvbindir=@afssrvbindir@ | |
27 | afssrvsbindir=@afssrvsbindir@ | |
28 | afssrvlibexecdir=@afssrvlibexecdir@ | |
29 | COMPILE_ET=${TOP_SRCDIR}/comerr/compile_et | |
30 | RXGEN=${TOP_SRCDIR}/rxgen/rxgen | |
31 | SYS_NAME=@AFS_SYSNAME@ | |
32 | ||
33 | ||
34 | CC = ${MT_CC} | |
35 | SHARED_FLAGS = -shared -Xlinker -Bsymbolic | |
36 | OBJECT_FLAGS = -fPIC -c | |
37 | ||
38 | ifeq "$(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} | |
41 | else | |
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} | |
44 | endif | |
45 | ||
46 | ||
47 | LIBJAFSADMDIR = ./ | |
48 | ROOTPACKAGEDIR = ../classes | |
49 | RELPACKAGEDIR = org/openafs/jafs/ | |
50 | PACKAGEDIR = ${ROOTPACKAGEDIR}/${RELPACKAGEDIR} | |
51 | JAVADOCSDIR = javadocs/ | |
52 | ||
53 | JAVAH = ${JAVA_HOME}/bin/javah -classpath ${ROOTPACKAGEDIR} -jni -d ${LIBJAFSADMDIR} | |
54 | JAVAC = ${JAVA_HOME}/bin/javac -source 1.4 -classpath ${ROOTPACKAGEDIR} | |
55 | ||
56 | J_NATIVE_PREFIX = org.openafs.jafs. | |
57 | C_NATIVE_PREFIX = org_openafs_jafs_ | |
58 | ||
59 | PACKAGE =\ | |
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 | ||
78 | ifeq (${SYS_NAME}, ppc64_linux26) | |
79 | LIBJAFS_OBJS = | |
80 | else | |
81 | ifeq (${SYS_NAME}, s390x_linux26) | |
82 | LIBJAFS_OBJS = | |
83 | else | |
84 | LIBJAFS_OBJS =\ | |
85 | ${LIBJAFSADMDIR}GetNativeString.o \ | |
86 | ${LIBJAFSADMDIR}ACL.o | |
87 | endif | |
88 | endif | |
89 | ||
90 | LIBJAFS_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 | ||
99 | ifeq (${SYS_NAME}, ppc64_linux26) | |
100 | LIBJAFSADM_OBJS =\ | |
101 | ${LIBJAFSADMDIR}GetNativeString.o \ | |
102 | ${LIBJAFSADMDIR}ACL.o | |
103 | else | |
104 | ifeq (${SYS_NAME}, s390x_linux26) | |
105 | LIBJAFSADM_OBJS =\ | |
106 | ${LIBJAFSADMDIR}GetNativeString.o \ | |
107 | ${LIBJAFSADMDIR}ACL.o | |
108 | else | |
109 | LIBJAFSADM_OBJS = | |
110 | endif | |
111 | endif | |
112 | ||
113 | LIBJAFSADM_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 | ||
126 | CORRELATING_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 | ||
142 | JAVA_HEADERS = ${PACKAGE:${PACKAGEDIR}%.class=${C_NATIVE_PREFIX}%.h} | |
143 | ||
144 | BOSADMINLIB = ${TOP_LIBDIR}/libbosadmin.a | |
145 | VOSADMINLIB = ${TOP_LIBDIR}/libvosadmin.a | |
146 | PTSADMINLIB = ${TOP_LIBDIR}/libptsadmin.a | |
147 | KASADMINLIB = ${TOP_LIBDIR}/libkasadmin.a | |
148 | CFGADMINLIB = ${TOP_LIBDIR}/libcfgadmin.a | |
149 | UTILADMINLIB = ${TOP_LIBDIR}/libafsadminutil.a | |
150 | CLIENTADMINLIB = ${TOP_LIBDIR}/libclientadmin.a | |
151 | ||
152 | LIBJAFS_LIBS =\ | |
153 | ${TOP_LIBDIR}/libuafs.a \ | |
154 | ${TOP_LIBDIR}/libafsutil.a \ | |
155 | -lresolv \ | |
156 | -lpthread | |
157 | ||
158 | LIBJAFSADM_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 | ||
174 | JARFILE = jafs.jar | |
175 | ||
176 | all: ${TOP_JLIBDIR} libjafs libjafsadm ${PACKAGE} all_jar | |
177 | ||
178 | install: 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 | ||
199 | clean: | |
200 | ${RM} -f ${PACKAGEDIR}*.class ${LIBJAFSADMDIR}*.o ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}*.h | |
201 | ||
202 | setup: FORCE | |
203 | if [ ! -e ./h ]; then \ | |
204 | ln -s /usr/include/sys h; \ | |
205 | fi; | |
206 | ||
207 | ${TOP_JLIBDIR}: | |
208 | mkdir -p $@ | |
209 | ||
210 | FORCE: ; | |
211 | ||
212 | ############# Shared library ############################### | |
213 | ||
214 | libjafs: setup | |
215 | ${RM} -f ${LIBJAFSADMDIR}Internal.o; \ | |
216 | export BUILD_TYPE=user; \ | |
217 | ${MAKE} ${TOP_LIBDIR}/libjafs.so | |
218 | ||
219 | libjafsadm: | |
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 | ||
265 | all_jar: clean_jar | |
266 | cd ${ROOTPACKAGEDIR}; ${JAVA_HOME}/bin/jar -cMf ${TOP_JLIBDIR}/${JARFILE} *.properties ${RELPACKAGEDIR}*.class | |
267 | ||
268 | install_jar: clean_jar | |
269 | cd ${ROOTPACKAGEDIR}; ${JAVA_HOME}/bin/jar -cMf ${JAVA_HOME}/lib/${JARFILE} *.properties ${RELPACKAGEDIR}*.class | |
270 | ||
271 | clean_jar: | |
272 | ${RM} -f ${TOP_JLIBDIR}/${JARFILE} | |
273 | ||
274 | ||
275 |