af383611a9d6f3e631406c9bd1932c52c9a2a07f
[openafs.git] / src / afsweb / Makefile.in
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 DESTDIR=@DESTDIR@
9 SRCDIR=@SRCDIR@
10 TOP_SRCDIR=@TOP_SRCDIR@
11 SYS_NAME=@AFS_SYSNAME@
12
13 SHELL=/bin/sh
14
15
16 include ../config/Makefile.${SYS_NAME}
17
18 UKERNELDIR=../libuafs/
19 COMPILE_ET=${SRCDIR}bin/compile_et
20
21 MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
22
23 UKSRCS=nsafs.h nsafs.c securehash.c
24
25 #
26 # Targets for Apache AFS Web Secure
27 #
28 APACHE_AFS_LIB=libapacheafs.a
29 DCE_ADK_LIB=libadk.a
30 APACHE_AFS_COMMON_LIB=libcommon.a
31
32 BINARIES=weblog weblog_starter
33 SRC_MODULE=afs_module.c
34 ## This module is made compatible with Apache 1.3.1 by including a file called
35 ## ap_compat.h provided by Apache (basically all they do is #define all the old API calls
36 ## as the new ones with ap_ prepended to the old API calls. The makefile takes care of this
37 ## while building afs_module.c and adding the AFS_component_version_number.c file's contents 
38 ## in comments. 
39
40 APACHEAFS_DOC=README
41 APACHE_INSTALL_SCRIPT=afswsApache_config.sh 
42 NETSCAPE_INSTALL_SCRIPT=afswsNetscape_config.sh
43
44
45
46 system noversion apache_afs_web_secure:
47         case "${SYS_NAME}" in \
48                 rs_aix* ) \
49                         echo Clean, make, and install the lib for 1.2 ; \
50                         $(MAKE) libclean ; \
51                         $(MAKE) AUX_CFLAGS=-DAIX $(APACHE_AFS_LIB) ; \
52                         ${INSTALL} ${APACHE_AFS_LIB} ${DESTDIR}root.afsweb/lib/apache_1.2 ; \
53                         echo Make and install source for 1.2 ; \
54                         /bin/rm -f $(SRC_MODULE) ; \
55                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG=-DAPACHE_1_2 ; \
56                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.2 ; \
57                         echo Make and install the lib for 1.3.1 ; \
58                         $(MAKE) libclean ; \
59                         $(MAKE) AUX_CFLAGS=-DAIX $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
60                         ${INSTALL} $(APACHE_AFS_LIB) ${DESTDIR}root.afsweb/lib/apache_1.3.1 ; \
61                         echo Make and install source for 1.3.1 ; \
62                         /bin/rm -f $(SRC_MODULE) ; \
63                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
64                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.3.1 ; \
65                         echo Clean, make, and install the lib for 1.3.6 ; \
66                         $(MAKE) libclean ; \
67                         $(MAKE) AUX_CFLAGS=-DAIX $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6"; \
68                         ${INSTALL} $(APACHE_AFS_LIB) ${DESTDIR}root.afsweb/lib/apache_1.3.6 ; \
69                         /bin/rm -f $(SRC_MODULE) ; \
70                         echo Make and install source for 1.3.1 ; \
71                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
72                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.3.6 ; \
73                         echo Do the binaries ; \
74                         $(MAKE) AUX_CFLAGS=-DAIX $(BINARIES) ;; \
75                 sun*) \
76                         $(MAKE) libclean ; \
77                         $(MAKE) AUX_FLAGS=-DSOLARIS $(APACHE_AFS_LIB) ; \
78                         ${INSTALL} $(APACHE_AFS_LIB) ${DESTDIR}root.afsweb/lib/apache_1.2 ; \
79                         $(MAKE) libclean ; \
80                         $(MAKE) AUX_FLAGS=-DSOLARIS $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
81                         ${INSTALL} $(APACHE_AFS_LIB) ${DESTDIR}root.afsweb/lib/apache_1.3.1 ; \
82                         $(MAKE) libclean ; \
83                         $(MAKE) AUX_FLAGS=-DSOLARIS $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
84                         ${INSTALL} $(APACHE_AFS_LIB) ${DESTDIR}root.afsweb/lib/apache_1.3.6 ; \
85                         /bin/rm -f $(SRC_MODULE) ; \
86                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG=-DAPACHE_1_2 ; \
87                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.2 ; \
88                         /bin/rm -f $(SRC_MODULE) ; \
89                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
90                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.3.1 ; \
91                         /bin/rm -f $(SRC_MODULE) ; \
92                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
93                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.3.6 ; \
94                         $(MAKE) AUX_CFLAGS=-DSOLARIS "XLIBS=-lsocket -lnsl" $(BINARIES) ;; \
95                 *linux*) \
96                         $(MAKE) libclean ; \
97                         $(MAKE) AUX_FLAGS=-DLINUX $(APACHE_AFS_LIB) ; \
98                         ${INSTALL} $(APACHE_AFS_LIB) ${DESTDIR}root.afsweb/lib/apache_1.2 ; \
99                         $(MAKE) libclean ; \
100                         $(MAKE) AUX_FLAGS=-DLINUX $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
101                         ${INSTALL} $(APACHE_AFS_LIB) ${DESTDIR}root.afsweb/lib/apache_1.3.1 ; \
102                         $(MAKE) libclean ; \
103                         $(MAKE) AUX_FLAGS=-DLINUX $(APACHE_AFS_LIB) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
104                         ${INSTALL} $(APACHE_AFS_LIB) ${DESTDIR}root.afsweb/lib/apache_1.3.6 ; \
105                         /bin/rm -f $(SRC_MODULE) ; \
106                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG=-DAPACHE_1_2 ; \
107                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.2 ; \
108                         /bin/rm -f $(SRC_MODULE) ; \
109                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_1" ; \
110                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.3.1 ; \
111                         /bin/rm -f $(SRC_MODULE) ; \
112                         $(MAKE) $(SRC_MODULE) VERSION_CFLAG="-DAPACHE_1_3 -DAPACHE_1_3_6" ; \
113                         ${INSTALL} $(SRC_MODULE) ${DESTDIR}root.afsweb/src/apache_1.3.6 ; \
114                         $(MAKE) AUX_CFLAGS=-DLINUX "XLIBS=-lnsl" $(BINARIES) ;; \
115                 * ) \
116                          echo "NOT BUILT FOR ${SYS_NAME}"; ;; \
117         esac
118         ${INSTALL} ${APACHEAFS_DOC} ${DESTDIR}root.afsweb/doc
119         ${INSTALL} ${APACHE_INSTALL_SCRIPT} ${DESTDIR}root.afsweb/install
120         chmod a+x ${DESTDIR}root.afsweb/install/${APACHE_INSTALL_SCRIPT}
121         chmod a+w ${DESTDIR}root.afsweb/install/${APACHE_INSTALL_SCRIPT}
122         ${INSTALL} $(BINARIES) ${DESTDIR}root.afsweb/bin
123
124 include ../config/Makefile.version
125
126 all:
127
128 install: kinstall ukinstall
129
130 kinstall:
131         @echo No $@ source here.
132
133
134 webinstall:${UKSRCS}
135         set ${UKERNELDIR}afs; $(MKDIR_IF_NEEDED)
136         ${INSTALL} ${UKSRCS} ${UKERNELDIR}afs
137
138 ukinstall:
139         @echo No $@ source here.
140
141 ##
142 ## For Apache Afs Web Secure libraries and binaries
143 ## NOTE: APACHE_INCLUDES should point to the Apache src directory where 
144 ## httpd.h and all it's included files reside which right now is src/afsweb/include
145 ## and we have Apache versions as subdirectories but these are taken care of by the
146 ## code. Be sure to compile with the VERSION_CFLAG=-DAPACHE_1_3 option for Apache 1.3
147 ##
148 APACHE_INCLUDES=-Iapache_includes
149 EXTRA_CFLAGS=-DENABLE_DCE_DLOG -I../dauth/
150 ADKOBJS=../dauth/adkint.cs.o ../dauth/adkint.xdr.o
151
152 XLIBS=
153 DEFINES=-DSTATUS
154 OPTF=
155 DEBUG_FLAG=
156 AUX_CFLAGS=
157 VERSION_CFLAG=
158 AFS_INCL=-I${SRCDIR}include -I.. -I../config
159 CFLAGS=$(OPTF) $(DEFINES) -I. -I.. $(EXTRA_CFLAGS) $(VERSION_CFLAG) $(DEBUG_FLAG)
160 INCLS=${SRCDIR}include/ubik.h \
161              ${SRCDIR}include/lwp.h \
162              ${SRCDIR}include/lock.h  \
163              ${SRCDIR}include/rx/rx.h \
164              ${SRCDIR}include/rx/xdr.h \
165              ${SRCDIR}include/rx/rxkad.h \
166              ${SRCDIR}include/afs/com_err.h \
167              weblog_errors.h $(DCE_DLOG_INCLUDES)
168 deslib=${SRCDIR}lib/libdes.a
169 rxkadlib=${SRCDIR}lib/librxkad.a
170 authlib=${SRCDIR}lib/afs/libauth.a
171 cmdlib=${SRCDIR}lib/afs/libcmd.a
172 utilib=${SRCDIR}lib/afs/util.a
173 auditlib=${SRCDIR}lib/afs/libaudit.a
174 kauthlib=${SRCDIR}lib/afs/libkauth.a
175
176 LIBS = ${kauthlib} ${SRCDIR}lib/libubik.a ${SRCDIR}lib/afs/libprot.a \
177        ${authlib} ${rxkadlib} ${SRCDIR}lib/afs/libsys.a ${SRCDIR}lib/librx.a \
178        ${SRCDIR}lib/afs/libsys.a  \
179        ${SRCDIR}lib/liblwp.a ${deslib} ${cmdlib} \
180        ${SRCDIR}lib/afs/libcom_err.a ${utilib} \
181        $(DBM) $(XLIBS)
182
183 AR=ar
184 ARFLAGS=rv
185 LIBCOMMON_OBJS=apache_afs_utils.o apache_afs_cache.o
186 LIBAPACHE_OBJS=apache_afs_client.o apache_afs_plugin.o
187 LIBOBJS=$(LIBCOMMON_OBJS) $(LIBAPACHE_OBJS)
188 OBJS=$(LIBOBJS) apache_afs_weblog.o weblog.o
189
190 .c.o:
191         $(CC) -c $(CFLAGS) $(AFS_INCL) $(AUX_CFLAGS) $<
192
193
194 weblog: weblog.o $(APACHE_AFS_COMMON_LIB) $(DCE_ADK_LIB)
195         $(CC) -o $@ weblog.o $(APACHE_AFS_COMMON_LIB) $(LIBS) $(DCE_ADK_LIB) $(XLIBS)
196
197 weblog_starter: apache_afs_weblog.o weblog_errors.h 
198         $(CC) -o $@ apache_afs_weblog.o 
199
200 $(DCE_ADK_LIB): 
201         - /bin/rm -f $@ 
202         $(AR) $(ARFLAGS) $@ $(ADKOBJS)          
203
204 $(APACHE_AFS_COMMON_LIB):$(LIBCOMMON_OBJS)
205         - /bin/rm -f $@
206         $(AR) $(ARFLAGS) $@ $(LIBCOMMON_OBJS)
207
208 $(APACHE_AFS_LIB): $(LIBOBJS) AFS_component_version_number.o
209         - /bin/rm -f $@
210         $(AR) $(ARFLAGS) $@ $(LIBOBJS) 
211
212 afs_module.c: apache_afs_module.c 
213         -/bin/rm -f afs_module.c \
214         ; echo "/*" > afs_module.c \
215         ; cat AFS_component_version_number.c >> afs_module.c \
216         ; echo "*/" >> afs_module.c \
217         ; case "${VERSION_CFLAG}" in \
218                 -DAPACHE_1_3*)  echo '#include "ap_compat.h"' >> afs_module.c ;; \
219           esac \
220         ; cat apache_afs_module.c >> afs_module.c
221          
222 ##
223 ##Dependencies
224 ##
225
226 $(OBJS): Makefile
227
228 apache_afs_weblog.o: apache_afs_weblog.c weblog_errors.h AFS_component_version_number.o
229 apache_afs_utils.o: apache_afs_utils.c apache_afs_utils.h
230 apache_afs_cache.o: apache_afs_cache.c apache_afs_cache.h
231 weblog.o: weblog.c weblog_errors.h $(APACHE_AFS_COMMON_LIB)
232 apache_afs_client.o: apache_api.h apache_afs_client.c apache_afs_utils.o apache_afs_cache.o AFS_component_version_number.o
233         $(CC) -c $(CFLAGS) $(AFS_INCL) $(APACHE_INCLUDES) $(AUX_CFLAGS) apache_afs_client.c
234 apache_afs_plugin.o: apache_api.h apache_afs_plugin.c apache_afs_client.o apache_afs_utils.o apache_afs_cache.o
235         $(CC) -c $(CFLAGS) $(APACHE_INCLUDES) $(AUX_CFLAGS) apache_afs_plugin.c
236
237
238 clean:
239         -/bin/rm -f *.o $(BINARIES) $(APACHE_AFS_LIB) $(APACHE_AFS_COMMON_LIB) $(DCE_ADK_LIB)
240
241 libclean:
242         -/bin/rm -f $(APACHE_AFS_LIB) $(LIBOBJS)
243