# ========================================================================= #
# #
# The Apache Software License, Version 1.1 #
# #
# Copyright (c) 1999-2001 The Apache Software Foundation. #
# All rights reserved. #
# #
# ========================================================================= #
# #
# Redistribution and use in source and binary forms, with or without modi- #
# fication, are permitted provided that the following conditions are met: #
# #
# 1. Redistributions of source code must retain the above copyright notice #
# notice, this list of conditions and the following disclaimer. #
# #
# 2. Redistributions in binary form must reproduce the above copyright #
# notice, this list of conditions and the following disclaimer in the #
# documentation and/or other materials provided with the distribution. #
# #
# 3. The end-user documentation included with the redistribution, if any, #
# must include the following acknowlegement: #
# #
# "This product includes software developed by the Apache Software #
# Foundation ." #
# #
# Alternately, this acknowlegement may appear in the software itself, if #
# and wherever such third-party acknowlegements normally appear. #
# #
# 4. The names "The Jakarta Project", "WebApp", and "Apache Software #
# Foundation" must not be used to endorse or promote products derived #
# from this software without prior written permission. For written #
# permission, please contact . #
# #
# 5. Products derived from this software may not be called "Apache" nor may #
# "Apache" appear in their names without prior written permission of the #
# Apache Software Foundation. #
# #
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES #
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY #
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL #
# THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY #
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL #
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS #
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) #
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, #
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN #
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE #
# POSSIBILITY OF SUCH DAMAGE. #
# #
# ========================================================================= #
# #
# This software consists of voluntary contributions made by many indivi- #
# duals on behalf of the Apache Software Foundation. For more information #
# on the Apache Software Foundation, please see . #
# #
# ========================================================================= #
# @author Pier Fumagalli
# @version $Id$
include @TGT_DIR@/Makedefs
# ========================================================================= #
# Generic/global compilation targets #
# ========================================================================= #
all: build
distclean: extra-clean
rm -f $(MODULE)/Makefile
rm -f lib/Makefile
rm -f Makedefs
rm -f Makefile
rm -f DETAILS.txt
rm -fr $(DST_DIR)
build: $(OBJ_DIR) @EXTRA_BUILD@ lib-build $(MODULE)-build $(BLD_DIR)/DETAILS.txt
@echo ""
@cat $(BLD_DIR)/DETAILS.txt
@echo ""
@echo All done...
extra-clean: @EXTRA_CLEAN@ clean
clean: lib-clean $(MODULE)-clean
rm -rf $(OBJ_DIR)
# ========================================================================= #
# Build the MODULE module, and copy the resulting file in the build dir. #
# ========================================================================= #
$(MODULE)-build: $(BLD_DIR)
@$(MAKE) SUBF="$(MAKEFLAGS)" SUBD="$(TGT_DIR)/$(MODULE)" SUBT="build" subdir
@$(INSTALL) $(TGT_DIR)/$(MODULE)/$(MODFILE) $(BLD_DIR)
$(MODULE)-clean:
@$(MAKE) SUBF="$(MAKEFLAGS)" SUBD="$(TGT_DIR)/$(MODULE)" SUBT="clean" subdir
@rm -f $(BLD_DIR)/$(MODFILE)
# ========================================================================= #
# Build all WebApp library files #
# ========================================================================= #
lib-build:
@$(MAKE) SUBF="$(MAKEFLAGS)" SUBD="$(TGT_DIR)/lib" SUBT="build" subdir
lib-clean:
@$(MAKE) SUBF="$(MAKEFLAGS)" SUBD="$(TGT_DIR)/lib" SUBT="clean" subdir
# ========================================================================= #
# Run ANT to generate all stuff it generates (jar,docs,javadocs) #
# ========================================================================= #
ant-build:
$(ANT) -buildfile "$(SRC_DIR)/build.xml" init $(ANT_TARGETS)
ant-clean:
$(ANT) -buildfile "$(SRC_DIR)/build.xml" clean
# ========================================================================= #
# Run PERL to generate our C-API documentation with scandoc #
# ========================================================================= #
capi-build: $(API_DIR)
$(PERL) "$(SRC_DIR)/support/scandoc.pl" \
-i "$(SRC_DIR)/support/template.pl" \
-p "$(API_DIR)/" \
$(SRC_DIR)/include/*.h
capi-clean:
@echo "Cleaning up generated C-API documentation"
@rm -rf "$(API_DIR)/*"
# ========================================================================= #
# Call APR and generate the library when we are building for Apache 1.3 #
# ========================================================================= #
apr-build: $(LIB_DIR)
@$(MAKE) SUBF="$(MAKEFLAGS)" SUBD="$(APR_DIR)" SUBT="all" subdir
$(LIBTOOL) --mode=install \
cp $(APR_DIR)/$(APR_LIBNAME) $(LIB_DIR)/$(APR_LIBNAME)
$(LIBTOOL) --mode=finish $(LIB_DIR)
apr-clean:
@$(MAKE) SUBF="$(MAKEFLAGS)" SUBD="$(APR_DIR)" SUBT="clean" subdir
# ========================================================================= #
# Invoke MAKE into a subdir (nicely notified by some messages) #
# ========================================================================= #
subdir:
@echo ""
@echo "$(MAKE)[$(MAKELEVEL)]: Entering directory \"$(SUBD)\""
@$(MAKE) -C "$(SUBD)" $(SUBF) "$(SUBT)"
@echo "$(MAKE)[$(MAKELEVEL)]: Exiting directory \"$(SUBD)\""
# ========================================================================= #
# Targets to build the directory structure (non-PHONY) #
# ========================================================================= #
$(LIB_DIR): $(BLD_DIR)
@if test ! -d "$(LIB_DIR)" ; then mkdir $(LIB_DIR) ; fi
$(OBJ_DIR): $(BLD_DIR)
@if test ! -d "$(OBJ_DIR)" ; then mkdir $(OBJ_DIR) ; fi
$(DOC_DIR): $(BLD_DIR)
@if test ! -d "$(DOC_DIR)" ; then mkdir $(DOC_DIR) ; fi
$(API_DIR): $(DOC_DIR)
@if test ! -d "$(API_DIR)" ; then mkdir $(API_DIR) ; fi
$(BLD_DIR):
@if test ! -d "$(BLD_DIR)" ; then mkdir $(BLD_DIR) ; fi
$(DST_DIR):
@if test ! -d "$(DST_DIR)" ; then mkdir $(DST_DIR) ; fi
# ========================================================================= #
# Our compilation details file #
# ========================================================================= #
$(BLD_DIR)/DETAILS.txt: $(BLD_DIR)
@echo "Storing build details" ; { \
echo "Coonfiguration details:" ; \
echo "" ; \
echo "module version: $(WEBAPP_VERSION)" ; \
echo "httpd version: $(APACHE_VERSION)" ; \
echo "host machine/os: $(HOST)" ; \
echo "cration date: $(DATE)" ; \
} > $@