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
8 include ..
/..
/config
/Makefile.config
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`
18 exec_prefix=@
exec_prefix@
19 datarootdir
=@datarootdir@
22 libexecdir
=@libexecdir@
24 includedir=@
includedir@
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@
35 SHARED_FLAGS
= -shared
-Xlinker
-Bsymbolic
36 OBJECT_FLAGS
= -fPIC
-c
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}
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}
48 ROOTPACKAGEDIR
= ..
/classes
49 RELPACKAGEDIR
= org
/openafs
/jafs
/
50 PACKAGEDIR
= ${ROOTPACKAGEDIR}/${RELPACKAGEDIR}
51 JAVADOCSDIR
= javadocs
/
53 JAVAH
= ${JAVA_HOME}/bin
/javah
-classpath
${ROOTPACKAGEDIR} -jni
-d
${LIBJAFSADMDIR}
54 JAVAC
= ${JAVA_HOME}/bin
/javac
-source
1.4 -classpath
${ROOTPACKAGEDIR}
56 J_NATIVE_PREFIX
= org.openafs.jafs.
57 C_NATIVE_PREFIX
= org_openafs_jafs_
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
78 ifeq (${SYS_NAME}, ppc64_linux26
)
81 ifeq (${SYS_NAME}, s390x_linux26
)
85 ${LIBJAFSADMDIR}GetNativeString.o \
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
99 ifeq (${SYS_NAME}, ppc64_linux26
)
101 ${LIBJAFSADMDIR}GetNativeString.o \
102 ${LIBJAFSADMDIR}ACL.o
104 ifeq (${SYS_NAME}, s390x_linux26
)
106 ${LIBJAFSADMDIR}GetNativeString.o \
107 ${LIBJAFSADMDIR}ACL.o
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
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
142 JAVA_HEADERS
= ${PACKAGE
:${PACKAGEDIR}%.class
=${C_NATIVE_PREFIX}%.h
}
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
153 ${TOP_LIBDIR}/libuafs.a \
154 ${TOP_LIBDIR}/libafsutil.a \
166 ${TOP_LIBDIR}/libafsauthent.a \
167 ${TOP_LIBDIR}/libafsrpc.a \
168 ${TOP_LIBDIR}/libcmd.a \
169 ${TOP_LIBDIR}/util.a \
176 all: ${TOP_JLIBDIR} libjafs libjafsadm
${PACKAGE} all_jar
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
/; \
182 if
[ ! -e
/usr
/afswsp
/etc
]; then \
183 mkdir
-p
/usr
/afswsp
/etc
/; \
184 cp .
/etc
/CacheConfig
/usr
/afswsp
/etc
/; \
186 if
[ ! -e
/usr
/afswsp
/log
]; then \
187 mkdir
-p
/usr
/afswsp
/log
/; \
189 if
[ ! -e
/usr
/afswsp
/cache
]; then \
190 mkdir
-p
/usr
/afswsp
/cache
/; \
192 if
[ ! -L
/usr
/vice
/etc
/CellServDB
]; then \
193 ln
-s
/usr
/vice
/etc
/CellServDB
/usr
/afswsp
/etc
/; \
195 if
[ ! -L
/usr
/vice
/etc
/ThisCell
]; then \
196 ln
-s
/usr
/vice
/etc
/ThisCell
/usr
/afswsp
/etc
/; \
200 ${RM} -f
${PACKAGEDIR}*.class
${LIBJAFSADMDIR}*.o
${LIBJAFSADMDIR}${C_NATIVE_PREFIX}*.h
203 if
[ ! -e .
/h
]; then \
204 ln
-s
/usr
/include/sys h
; \
212 ############# Shared library ###############################
215 ${RM} -f
${LIBJAFSADMDIR}Internal.o
; \
216 export BUILD_TYPE
=user
; \
217 ${MAKE} ${TOP_LIBDIR}/libjafs.so
220 ${RM} -f
${LIBJAFSADMDIR}Internal.o
; \
221 export BUILD_TYPE
=admin
; \
222 ${MAKE} ${TOP_LIBDIR}/libjafsadm.so
224 ${TOP_LIBDIR}/libjafs.so
: ${LIBJAFS_OBJS}
225 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o
$@
$^
${LIBJAFS_LIBS}
227 ${DESTDIR}${libdir}/libjafs.so
: ${LIBJAFS_OBJS}192.168.13.10
228 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o
$@
$^
${LIBJAFS_LIBS}
230 ${TOP_LIBDIR}/libjafsadm.so
: ${LIBJAFSADM_OBJS}
231 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o
$@
$^
${LIBJAFSADM_LIBS}
233 ${DESTDIR}${libdir}/libjafsadm.so
: ${LIBJAFSADM_OBJS}
234 ${CC} ${CFLAGS} ${SHARED_FLAGS} -o
$@
$^
${LIBJAFSADM_LIBS}
236 ############## Object files ################################
238 ${LIBJAFSADM_OBJS}: %.o
: %.c
239 ${CC} ${CFLAGS} ${OBJECT_FLAGS} -o
$@
$<
241 ############## C files #####################################
243 ${CORRELATING_SOURCE_FILES}: ${LIBJAFSADMDIR}%.c
: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}%.h
${LIBJAFSADMDIR}Internal.h
245 ${LIBJAFSADMDIR}AdminToken.c
: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Token.h
${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Cell.h
247 ${LIBJAFSADMDIR}Internal.c
: ${LIBJAFSADMDIR}Internal.h
249 ${LIBJAFSADMDIR}Version2.c
: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}VersionInfo.h
${LIBJAFSADMDIR}JAFS_Version.h
251 ${LIBJAFSADMDIR}UserToken.c
: ${LIBJAFSADMDIR}${C_NATIVE_PREFIX}Token.h
253 ############## Package javac section #########################
255 ${PACKAGEDIR}%.class
: ${PACKAGEDIR}%.java
258 ############## Javah section ###############################
260 ${JAVA_HEADERS}: ${C_NATIVE_PREFIX}%.h
: ${PACKAGEDIR}%.class
261 ${JAVAH} ${J_NATIVE_PREFIX}$*
263 ############# JAR file #####################################
266 cd
${ROOTPACKAGEDIR}; ${JAVA_HOME}/bin
/jar
-cMf
${TOP_JLIBDIR}/${JARFILE} *.properties
${RELPACKAGEDIR}*.class
268 install_jar
: clean_jar
269 cd
${ROOTPACKAGEDIR}; ${JAVA_HOME}/bin
/jar
-cMf
${JAVA_HOME}/lib
/${JARFILE} *.properties
${RELPACKAGEDIR}*.class
272 ${RM} -f
${TOP_JLIBDIR}/${JARFILE}