# # Copyright 1999-2004 The Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # @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)" ; \ } > $@