make-install-support-for-transarc-and-prefix-style-universes-20010907
[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 DEST=@DEST@
9 TOP_INCDIR=@TOP_INCDIR@
10 TOP_LIBDIR=@TOP_LIBDIR@
11 prefix=@prefix@
12 exec_prefix=@exec_prefix@
13 bindir=@bindir@
14 sbindir=@sbindir@
15 libexecdir=@libexecdir@
16 libdir=@libdir@
17 includedir=@includedir@
18 mandir=@mandir@
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@
25
26 SHELL=/bin/sh
27
28
29 include ../config/Makefile.${SYS_NAME}
30
31 UKERNELDIR=../libuafs/
32 COMPILE_ET=${TOP_SRCDIR}/comerr/compile_et
33
34 UKSRCS=nsafs.h nsafs.c securehash.c
35
36 #
37 # Targets for Apache AFS Web Secure
38 #
39 APACHE_AFS_LIB=libapacheafs.a
40 DCE_ADK_LIB=libadk.a
41 APACHE_AFS_COMMON_LIB=libcommon.a
42
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 
49 ## in comments. 
50
51 APACHEAFS_DOC=README
52 APACHE_INSTALL_SCRIPT=afswsApache_config.sh 
53 NETSCAPE_INSTALL_SCRIPT=afswsNetscape_config.sh
54
55 system apache_afs_web_secure:
56         case "${SYS_NAME}" in \
57                 rs_aix* ) \
58                         echo Clean, make, and install the lib for 1.2 ; \
59                         $(MAKE) libclean ; \
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 ; \
67                         $(MAKE) libclean ; \
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 ; \
75                         $(MAKE) libclean ; \
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) ;; \
84                 sun*) \
85                         $(MAKE) libclean ; \
86                         $(MAKE) AUX_FLAGS=-DSOLARIS $(APACHE_AFS_LIB) ; \
87                         ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.2 ; \
88                         $(MAKE) libclean ; \
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 ; \
91                         $(MAKE) libclean ; \
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) ;; \
104                 *linux*) \
105                         $(MAKE) libclean ; \
106                         $(MAKE) AUX_FLAGS=-DLINUX $(APACHE_AFS_LIB) ; \
107                         ${INSTALL} $(APACHE_AFS_LIB) ${DEST}/root.afsweb/lib/apache_1.2 ; \
108                         $(MAKE) libclean ; \
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 ; \
111                         $(MAKE) libclean ; \
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) ;; \
124                 * ) \
125                          echo "NOT BUILT FOR ${SYS_NAME}"; ;; \
126         esac
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
132
133 all: kinstall ukinstall
134
135 install:  
136
137 kinstall:
138         @echo No $@ source here.
139
140
141 webinstall: ${UKERNELDIR}/afs ${UKSRCS}
142         ${INSTALL} ${UKSRCS} ${UKERNELDIR}/afs
143
144 ${UKERNELDIR}/afs:
145         mkdir -p $@
146
147 ukinstall:
148         @echo No $@ source here.
149
150 ##
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
156 ##
157 APACHE_INCLUDES=-Iapache_includes
158 EXTRA_CFLAGS=-DENABLE_DCE_DLOG -I../dauth/
159 ADKOBJS=../dauth/adkint.cs.o ../dauth/adkint.xdr.o
160
161 XLIBS=
162 DEFINES=-DSTATUS
163 OPTF=
164 DEBUG_FLAG=
165 AUX_CFLAGS=
166 VERSION_CFLAG=
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
184
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} \
190        $(DBM) $(XLIBS)
191
192 AR=ar
193 ARFLAGS=rv
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
198
199 .c.o:
200         $(CC) -c $(CFLAGS) $(AFS_INCL) $(AUX_CFLAGS) $<
201
202
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)
205
206 weblog_starter: apache_afs_weblog.o weblog_errors.h 
207         $(CC) -o $@ apache_afs_weblog.o 
208
209 $(DCE_ADK_LIB): 
210         - /bin/rm -f $@ 
211         $(AR) $(ARFLAGS) $@ $(ADKOBJS)          
212
213 $(APACHE_AFS_COMMON_LIB):$(LIBCOMMON_OBJS)
214         - /bin/rm -f $@
215         $(AR) $(ARFLAGS) $@ $(LIBCOMMON_OBJS)
216
217 $(APACHE_AFS_LIB): $(LIBOBJS) AFS_component_version_number.o
218         - /bin/rm -f $@
219         $(AR) $(ARFLAGS) $@ $(LIBOBJS) 
220
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 ;; \
228           esac \
229         ; cat apache_afs_module.c >> afs_module.c
230          
231 ##
232 ##Dependencies
233 ##
234
235 $(OBJS): Makefile
236
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
245
246
247 clean:
248         -/bin/rm -f *.o $(BINARIES) $(APACHE_AFS_LIB) $(APACHE_AFS_COMMON_LIB) $(DCE_ADK_LIB)
249
250 libclean:
251         -/bin/rm -f $(APACHE_AFS_LIB) $(LIBOBJS)
252
253 include ../config/Makefile.version
254
255 dest:  
256