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