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