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_INCDIR=@TOP_INCDIR@
10 TOP_LIBDIR=@TOP_LIBDIR@
12 exec_prefix=@exec_prefix@
15 libexecdir=@libexecdir@
17 includedir=@includedir@
19 afssrvbindir=@afssrvbindir@
20 afssrvsbindir=@afssrvsbindir@
21 afssrvlibexecdir=@afssrvlibexecdir@
22 RXGEN=${TOP_SRCDIR}/rxgen/rxgen
23 TOP_SRCDIR=@TOP_SRCDIR@
24 SYS_NAME=@AFS_SYSNAME@
29 include ../config/Makefile.${SYS_NAME}
31 UKERNELDIR=../libuafs/
32 COMPILE_ET=${TOP_SRCDIR}/comerr/compile_et
34 UKSRCS=nsafs.h nsafs.c securehash.c
37 # Targets for Apache AFS Web Secure
39 APACHE_AFS_LIB=libapacheafs.a
41 APACHE_AFS_COMMON_LIB=libcommon.a
43 BINARIES=weblog weblog_starter
44 SRC_MODULE=afs_module.c
45 ## This module is made compatible with Apache 1.3.1 by including a file called
46 ## ap_compat.h provided by Apache (basically all they do is #define all the old API calls
47 ## as the new ones with ap_ prepended to the old API calls. The makefile takes care of this
48 ## while building afs_module.c and adding the AFS_component_version_number.c file's contents
52 APACHE_INSTALL_SCRIPT=afswsApache_config.sh
53 NETSCAPE_INSTALL_SCRIPT=afswsNetscape_config.sh
55 system apache_afs_web_secure:
56 case "${SYS_NAME}" in \
58 echo Clean, make, and install the lib for 1.2 ; \
60 $(MAKE) AUX_CFLAGS=-DAIX $(APACHE_AFS_LIB) ; \
61 ${INSTALL} ${APACHE_AFS_LIB} ${DEST}/root.afsweb/lib/apache_1.2 ; \
62 echo Make and install source for 1.2 ; \
63 /bin/rm -f $(SRC_MODULE) ; \
64 $(MAKE) $(SRC_MODULE) VERSION_CFLAG=-DAPACHE_1_2 ; \
65 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.2 ; \
66 echo Make and install the lib for 1.3.1 ; \
68 $(MAKE) AUX_CFLAGS=-DAIX $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
69 ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.3.1 ; \
70 echo Make and install source for 1.3.1 ; \
71 /bin/rm -f $(SRC_MODULE) ; \
72 $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
73 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.3.1 ; \
74 echo Clean, make, and install the lib for 1.3.6 ; \
76 $(MAKE) AUX_CFLAGS=-DAIX $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6"; \
77 ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.3.6 ; \
78 /bin/rm -f $(SRC_MODULE) ; \
79 echo Make and install source for 1.3.1 ; \
80 $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
81 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.3.6 ; \
82 echo Do the binaries ; \
83 $(MAKE) AUX_CFLAGS=-DAIX $(BINARIES) ;; \
86 $(MAKE) AUX_FLAGS=-DSOLARIS $(APACHE_AFS_LIB) ; \
87 ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.2 ; \
89 $(MAKE) AUX_FLAGS=-DSOLARIS $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
90 ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.3.1 ; \
92 $(MAKE) AUX_FLAGS=-DSOLARIS $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
93 ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.3.6 ; \
94 /bin/rm -f $(SRC_MODULE) ; \
95 $(MAKE) $(SRC_MODULE) VERSION_CFLAG=-DAPACHE_1_2 ; \
96 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.2 ; \
97 /bin/rm -f $(SRC_MODULE) ; \
98 $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
99 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.3.1 ; \
100 /bin/rm -f $(SRC_MODULE) ; \
101 $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
102 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.3.6 ; \
103 $(MAKE) AUX_CFLAGS=-DSOLARIS "XLIBS=-lsocket -lnsl" $(BINARIES) ;; \
106 $(MAKE) AUX_FLAGS=-DLINUX $(APACHE_AFS_LIB) ; \
107 ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.2 ; \
109 $(MAKE) AUX_FLAGS=-DLINUX $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
110 ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.3.1 ; \
112 $(MAKE) AUX_FLAGS=-DLINUX $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
113 ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.3.6 ; \
114 /bin/rm -f $(SRC_MODULE) ; \
115 $(MAKE) $(SRC_MODULE) VERSION_CFLAG=-DAPACHE_1_2 ; \
116 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.2 ; \
117 /bin/rm -f $(SRC_MODULE) ; \
118 $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
119 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.3.1 ; \
120 /bin/rm -f $(SRC_MODULE) ; \
121 $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
122 ${INSTALL} $(SRC_MODULE) ${DEST}/root.afsweb/src/apache_1.3.6 ; \
123 $(MAKE) AUX_CFLAGS=-DLINUX "XLIBS=-lnsl" $(BINARIES) ;; \
125 echo "NOT BUILT FOR ${SYS_NAME}"; ;; \
127 ${INSTALL} ${APACHEAFS_DOC} ${DEST}/root.afsweb/doc
128 ${INSTALL} ${APACHE_INSTALL_SCRIPT} ${DEST}/root.afsweb/install
129 chmod a+x ${DEST}/root.afsweb/install/${APACHE_INSTALL_SCRIPT}
130 chmod a+w ${DEST}/root.afsweb/install/${APACHE_INSTALL_SCRIPT}
131 ${INSTALL} $(BINARIES) ${DEST}/root.afsweb/bin
133 all: kinstall ukinstall
138 @echo No $@ source here.
141 webinstall: ${UKERNELDIR}/afs ${UKSRCS}
142 ${INSTALL} ${UKSRCS} ${UKERNELDIR}/afs
148 @echo No $@ source here.
151 ## For Apache Afs Web Secure libraries and binaries
152 ## NOTE: APACHE_INCLUDES should point to the Apache src directory where
153 ## httpd.h and all it's included files reside which right now is src/afsweb/include
154 ## and we have Apache versions as subdirectories but these are taken care of by the
155 ## code. Be sure to compile with the VERSION_CFLAG=-DAPACHE_1_3 option for Apache 1.3
157 APACHE_INCLUDES=-Iapache_includes
158 EXTRA_CFLAGS=-DENABLE_DCE_DLOG -I../dauth/
159 ADKOBJS=../dauth/adkint.cs.o ../dauth/adkint.xdr.o
167 AFS_INCL=-I${TOP_INCDIR} -I.. -I../config
168 CFLAGS=$(OPTF) $(DEFINES) -I. -I.. $(EXTRA_CFLAGS) $(VERSION_CFLAG) $(DEBUG_FLAG)
169 INCLS=${TOP_INCDIR}/ubik.h \
170 ${TOP_INCDIR}/lwp.h \
171 ${TOP_INCDIR}/lock.h \
172 ${TOP_INCDIR}/rx/rx.h \
173 ${TOP_INCDIR}/rx/xdr.h \
174 ${TOP_INCDIR}/rx/rxkad.h \
175 ${TOP_INCDIR}/afs/com_err.h \
176 weblog_errors.h $(DCE_DLOG_INCLUDES)
177 deslib=${TOP_LIBDIR}/libdes.a
178 rxkadlib=${TOP_LIBDIR}/librxkad.a
179 authlib=${TOP_LIBDIR}/libauth.a
180 cmdlib=${TOP_LIBDIR}/libcmd.a
181 utilib=${TOP_LIBDIR}/util.a
182 auditlib=${TOP_LIBDIR}/libaudit.a
183 kauthlib=${TOP_LIBDIR}/libkauth.a
185 LIBS=${kauthlib} ${TOP_LIBDIR}/libubik.a ${TOP_LIBDIR}/libprot.a \
186 ${authlib} ${rxkadlib} ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/librx.a \
187 ${TOP_LIBDIR}/libsys.a \
188 ${TOP_LIBDIR}/liblwp.a ${deslib} ${cmdlib} \
189 ${TOP_LIBDIR}/libcom_err.a ${utilib} \
194 LIBCOMMON_OBJS=apache_afs_utils.o apache_afs_cache.o
195 LIBAPACHE_OBJS=apache_afs_client.o apache_afs_plugin.o
196 LIBOBJS=$(LIBCOMMON_OBJS) $(LIBAPACHE_OBJS)
197 OBJS=$(LIBOBJS) apache_afs_weblog.o weblog.o
200 $(CC) -c $(CFLAGS) $(AFS_INCL) $(AUX_CFLAGS) $<
203 weblog: weblog.o $(APACHE_AFS_COMMON_LIB) $(DCE_ADK_LIB)
204 $(CC) -o $@ weblog.o $(APACHE_AFS_COMMON_LIB) $(LIBS) $(DCE_ADK_LIB) $(XLIBS)
206 weblog_starter: apache_afs_weblog.o weblog_errors.h
207 $(CC) -o $@ apache_afs_weblog.o
211 $(AR) $(ARFLAGS) $@ $(ADKOBJS)
213 $(APACHE_AFS_COMMON_LIB):$(LIBCOMMON_OBJS)
215 $(AR) $(ARFLAGS) $@ $(LIBCOMMON_OBJS)
217 $(APACHE_AFS_LIB): $(LIBOBJS) AFS_component_version_number.o
219 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
221 afs_module.c: apache_afs_module.c
222 -/bin/rm -f afs_module.c \
223 ; echo "/*" > afs_module.c \
224 ; cat AFS_component_version_number.c >> afs_module.c \
225 ; echo "*/" >> afs_module.c \
226 ; case "${VERSION_CFLAG}" in \
227 -DAPACHE_1_3*) echo '#include "ap_compat.h"' >> afs_module.c ;; \
229 ; cat apache_afs_module.c >> afs_module.c
237 apache_afs_weblog.o: apache_afs_weblog.c weblog_errors.h AFS_component_version_number.o
238 apache_afs_utils.o: apache_afs_utils.c apache_afs_utils.h
239 apache_afs_cache.o: apache_afs_cache.c apache_afs_cache.h
240 weblog.o: weblog.c weblog_errors.h $(APACHE_AFS_COMMON_LIB)
241 apache_afs_client.o: apache_api.h apache_afs_client.c apache_afs_utils.o apache_afs_cache.o AFS_component_version_number.o
242 $(CC) -c $(CFLAGS) $(AFS_INCL) $(APACHE_INCLUDES) $(AUX_CFLAGS) apache_afs_client.c
243 apache_afs_plugin.o: apache_api.h apache_afs_plugin.c apache_afs_client.o apache_afs_utils.o apache_afs_cache.o
244 $(CC) -c $(CFLAGS) $(APACHE_INCLUDES) $(AUX_CFLAGS) apache_afs_plugin.c
248 -/bin/rm -f *.o $(BINARIES) $(APACHE_AFS_LIB) $(APACHE_AFS_COMMON_LIB) $(DCE_ADK_LIB)
251 -/bin/rm -f $(APACHE_AFS_LIB) $(LIBOBJS)
253 include ../config/Makefile.version