1 # Copyright 2000, International Business Machines Corporation and others.
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
9 TOP_SRCDIR=@TOP_SRCDIR@
10 TOP_INCDIR=@TOP_INCDIR@
11 TOP_LIBDIR=@TOP_LIBDIR@
12 TOP_JLIBDIR=@TOP_JLIBDIR@
16 exec_prefix=@exec_prefix@
19 libexecdir=@libexecdir@
21 includedir=@includedir@
23 afssrvbindir=@afssrvbindir@
24 afssrvsbindir=@afssrvsbindir@
25 afssrvlibexecdir=@afssrvlibexecdir@
26 COMPILE_ET=${TOP_SRCDIR}/comerr/compile_et
27 RXGEN=${TOP_SRCDIR}/rxgen/rxgen
28 SYS_NAME=@AFS_SYSNAME@
32 SHARED_FLAGS = -shared
33 OBJECT_FLAGS = -fPIC -c
35 ifeq "$(BUILD_TYPE)" "admin"
36 INC := -I${TOP_INCDIR} -I${TOP_INCDIR}/afs/ -I${JAVA_HOME}/include ${JNI_INC}
37 CFLAGS := ${INC} ${OPTMZ} ${DBG} -I${TOP_SRCDIR}/config ${MT_CFLAGS}
39 INC := -I${TOP_SRCDIR}/libuafs -I${TOP_INCDIR} -I${JAVA_HOME}/include ${JNI_INC}
40 CFLAGS := ${INC} ${FSINCLUDES} -D_REENTRANT -DLIBJUAFS ${DBUG} ${MT_CFLAGS}
45 ROOTPACKAGEDIR = ../classes
46 RELPACKAGEDIR = org/openafs/jafs/
47 PACKAGEDIR = ${ROOTPACKAGEDIR}/${RELPACKAGEDIR}
48 JAVADOCSDIR = javadocs/
50 JAVAH = ${JAVA_HOME}/bin/javah -classpath ${ROOTPACKAGEDIR} -jni -d ${LIBJAFSADMDIR}
51 JAVAC = ${JAVA_HOME}/bin/javac -classpath ${ROOTPACKAGEDIR}
53 J_NATIVE_PREFIX = org.openafs.jafs.
54 C_NATIVE_PREFIX = org_openafs_jafs_
57 ${PACKAGEDIR}ACL.class \
58 ${PACKAGEDIR}AFSException.class \
59 ${PACKAGEDIR}AFSFileException.class \
60 ${PACKAGEDIR}AFSSecurityException.class \
61 ${PACKAGEDIR}Cell.class \
62 ${PACKAGEDIR}File.class \
63 ${PACKAGEDIR}FileInputStream.class \
64 ${PACKAGEDIR}FileOutputStream.class \
65 ${PACKAGEDIR}Group.class \
66 ${PACKAGEDIR}Key.class \
67 ${PACKAGEDIR}Partition.class \
68 ${PACKAGEDIR}Process.class \
69 ${PACKAGEDIR}Server.class \
70 ${PACKAGEDIR}Token.class \
71 ${PACKAGEDIR}User.class \
72 ${PACKAGEDIR}Volume.class
75 ${LIBJAFSADMDIR}ACL.o \
76 ${LIBJAFSADMDIR}File.o \
77 ${LIBJAFSADMDIR}FileInputStream.o \
78 ${LIBJAFSADMDIR}FileOutputStream.o \
79 ${LIBJAFSADMDIR}Internal.o \
80 ${LIBJAFSADMDIR}UserToken.o
83 ${LIBJAFSADMDIR}AdminToken.o \
84 ${LIBJAFSADMDIR}Cell.o \
85 ${LIBJAFSADMDIR}Group.o \
86 ${LIBJAFSADMDIR}Internal.o \
87 ${LIBJAFSADMDIR}Key.o \
88 ${LIBJAFSADMDIR}Partition.o \
89 ${LIBJAFSADMDIR}Process.o \
90 ${LIBJAFSADMDIR}Server.o \
91 ${LIBJAFSADMDIR}User.o \
92 ${LIBJAFSADMDIR}Volume.o
94 CORRELATING_SOURCE_FILES =\
95 ${LIBJAFSADMDIR}ACL.c \
96 ${LIBJAFSADMDIR}Cell.c \
97 ${LIBJAFSADMDIR}File.c \
98 ${LIBJAFSADMDIR}FileInputStream.c \
99 ${LIBJAFSADMDIR}FileOutputStream.c \
100 ${LIBJAFSADMDIR}Group.c \
101 ${LIBJAFSADMDIR}Key.c \
102 ${LIBJAFSADMDIR}Partition.c \
103 ${LIBJAFSADMDIR}Process.c \
104 ${LIBJAFSADMDIR}Server.c \
105 ${LIBJAFSADMDIR}User.c \
106 ${LIBJAFSADMDIR}Volume.c
108 JAVA_HEADERS = ${PACKAGE:${PACKAGEDIR}%.class=${C_NATIVE_PREFIX}%.h}
110 BOSADMINLIB = ${TOP_LIBDIR}/libbosadmin.a
111 VOSADMINLIB = ${TOP_LIBDIR}/libvosadmin.a
112 PTSADMINLIB = ${TOP_LIBDIR}/libptsadmin.a
113 KASADMINLIB = ${TOP_LIBDIR}/libkasadmin.a
114 CFGADMINLIB = ${TOP_LIBDIR}/libcfgadmin.a
115 UTILADMINLIB = ${TOP_LIBDIR}/libafsadminutil.a
116 CLIENTADMINLIB = ${TOP_LIBDIR}/libclientadmin.a
119 ${TOP_LIBDIR}/libjuafs.a \
120 ${TOP_LIBDIR}/libdes.a \
132 ${TOP_LIBDIR}/libafsauthent.a \
133 ${TOP_LIBDIR}/libafsrpc.a \
134 ${TOP_LIBDIR}/libcmd.a \
141 include ../../config/Makefile.${SYS_NAME}
143 all: ${TOP_JLIBDIR} libjafs libjafsadm ${PACKAGE} all_jar
145 install: all ${DESTDIR}${libdir}/libjafs.so ${DESTDIR}${libdir}/libjafsadm.so ${PACKAGE} install_jar
146 if [ ! -e /usr/afswsp ]; then \
147 mkdir -p /usr/afswsp/; \
149 if [ ! -e /usr/afswsp/etc ]; then \
150 mkdir -p /usr/afswsp/etc/; \
151 cp ./etc/CacheConfig /usr/afswsp/etc/; \
153 if [ ! -e /usr/afswsp/log ]; then \
154 mkdir -p /usr/afswsp/log/; \
156 if [ ! -e /usr/afswsp/cache ]; then \
157 mkdir -p /usr/afswsp/cache/; \
159 if [ ! -L /usr/vice/etc/CellServDB ]; then \
160 ln -s /usr/vice/etc/CellServDB /usr/afswsp/etc/; \
162 if [ ! -L /usr/vice/etc/ThisCell ]; then \
163 ln -s /usr/vice/etc/ThisCell /usr/afswsp/etc/; \
167 ${RM} -f ${PACKAGEDIR}*.class ${LIBJAFSADMDIR}*.o ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}*.h
170 if [ ! -e ./h ]; then \
171 ln -s /usr/include/sys h; \
179 ############# Shared library ###############################
182 ${RM} -f ${LIBJAFSADMDIR}Internal.o; \
183 export BUILD_TYPE=user; \
184 ${MAKE} ${TOP_LIBDIR}/libjafs.so
187 ${RM} -f ${LIBJAFSADMDIR}Internal.o; \
188 export BUILD_TYPE=admin; \
189 ${MAKE} ${TOP_LIBDIR}/libjafsadm.so
191 ${TOP_LIBDIR}/libjafs.so: ${LIBJAFS_OBJS}
192 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o $@ $^ ${LIBJAFS_LIBS}
194 ${DESTDIR}${libdir}/libjafs.so: ${LIBJAFS_OBJS}
195 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o $@ $^ ${LIBJAFS_LIBS}
197 ${TOP_LIBDIR}/libjafsadm.so: ${LIBJAFSADM_OBJS}
198 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o $@ $^ ${LIBJAFSADM_LIBS}
200 ${DESTDIR}${libdir}/libjafsadm.so: ${LIBJAFSADM_OBJS}
201 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o $@ $^ ${LIBJAFSADM_LIBS}
203 ############## Object files ################################
205 ${LIBJAFSADM_OBJS}: %.o: %.c
206 ${CC} ${CFLAGS} ${OBJECT_FLAGS} -o $@ $<
208 ############## C files #####################################
210 ${CORRELATING_SOURCE_FILES}: ${LIBJAFSADMDIR}%.c: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}%.h ${LIBJAFSADMDIR}Internal.h
212 ${LIBJAFSADMDIR}AdminToken.c: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Token.h ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Cell.h
214 ${LIBJAFSADMDIR}Internal.c: ${LIBJAFSADMDIR}Internal.h
216 ${LIBJAFSADMDIR}UserToken.c: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Token.h
218 ############## Package javac section #########################
220 ${PACKAGEDIR}%.class: ${PACKAGEDIR}%.java
223 ############## Javah section ###############################
225 ${JAVA_HEADERS}: ${C_NATIVE_PREFIX}%.h: ${PACKAGEDIR}%.class
226 ${JAVAH} ${J_NATIVE_PREFIX}$*
228 ############# JAR file #####################################
231 cd ${ROOTPACKAGEDIR}; ${JAVA_HOME}/bin/jar -cMf ${TOP_JLIBDIR}/${JARFILE} *.properties ${RELPACKAGEDIR}*.class
233 install_jar: clean_jar
234 cd ${ROOTPACKAGEDIR}; ${JAVA_HOME}/bin/jar -cMf ${JAVA_HOME}/lib/${JARFILE} *.properties ${RELPACKAGEDIR}*.class
237 ${RM} -f ${TOP_JLIBDIR}/${JARFILE}