########################################################################### # # Makefile -- Makefile for packages included with Greenstone runtime # # A component of the Greenstone digital library software # from the New Zealand Digital Library Project at the # University of Waikato, New Zealand. # # Copyright (C) 2000 New Zealand Digital Library Project # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ########################################################################### USE_Z3950=@USE_Z3950@ USE_YAZ=@USE_YAZ@ USE_APACHE_HTTPD=@USE_APACHE_HTTPD@ ifeq ($(USE_Z3950), 1) # make sure USE_YAZ is set USE_YAZ=1 D2M=d2m else D2M= endif ifeq ($(USE_YAZ), 1) # we only compile the src and client dirs for now. YAZ=yaz/yaz-2.1.4/src yaz/yaz-2.1.4/client else YAZ= endif USE_CORBA=@USE_CORBA@ MICO_DIR=@MICO_DIR@ ifeq ($(USE_CORBA), 1) ifeq ($(MICO_DIR), default) CORBA="mico/mico" else CORBA= endif else CORBA= endif GSDLOS = @gsdlos@ ifeq ($(USE_APACHE_HTTPD), 1) HTTPD=apache-httpd/httpd-2.2.11 else HTTPD= endif # PACKAGEDIRS contains the packages that we want to make and install. It # is assumed that each package will have at least four rules: all, install, # clean, and distclean. PACKAGEDIRS = $(YAZ) $(D2M) $(CORBA) $(HTTPD) REPLACELIST = conf/extra/httpd-dav.conf \ conf/extra/httpd-manual.conf \ conf/extra/httpd-autoindex.conf \ conf/extra/httpd-vhosts.conf \ conf/extra/httpd-ssl.conf \ conf/extra/httpd-multilang-errordoc.conf \ conf/original/extra/httpd-dav.conf \ conf/original/extra/httpd-manual.conf \ conf/original/extra/httpd-autoindex.conf \ conf/original/extra/httpd-vhosts.conf \ conf/original/extra/httpd-ssl.conf \ conf/original/extra/httpd-multilang-errordoc.conf \ conf/original/httpd.conf\ lib/apr-util-1/apr_dbd_odbc.la \ lib/apr-util-1/apr_dbd_sqlite3.la \ lib/pkgconfig/apr-util-1.pc \ lib/pkgconfig/apr-1.pc \ lib/libaprutil-1.la \ lib/libapr-1.la \ build/config_vars.mk \ build/config.nice \ build/apr_rules.mk \ bin/apu-1-config \ bin/apr-1-config \ include/ap_config_auto.h \ include/ap_config_layout.h all: for odir in $(PACKAGEDIRS); do \ echo making $@ in $$odir; \ (cd $$odir && $(MAKE) $(MDEFINES) $@) || exit 1; \ done ifeq ($(CORBA), "mico/mico") cd mico/mico; $(MAKE) $(MDEFINES) install mkdir -p ../bin/linux mkdir -p ../lib mkdir -p ../include mkdir -p ../man cp -f mico/bin/* ../bin/linux cp -f mico/lib/* ../lib/ cp -fr mico/include/* ../include cp -fr mico/man ../man endif ifeq ($(USE_YAZ), 1) # need to do make install in include and src dirs to get the header files and # lib file into the right place cd yaz/yaz-2.1.4/include; $(MAKE) $(MDEFINES) install cd yaz/yaz-2.1.4/src; $(MAKE) $(MDEFINES) install endif install: for idir in $(PACKAGEDIRS); do \ echo installing $$idir; \ (cd $$idir && $(MAKE) install) || exit 1; \ done ifeq ($(USE_APACHE_HTTPD), 1) mkdir -p ../../apache-httpd/$(GSDLOS)/conf cp -f apache-httpd/httpd.conf.in ../../apache-httpd/$(GSDLOS)/conf/. mkdir -p ../../etc/logs-gsi @ echo "*************** INFO ***************" @ echo "Run: source setup.bash, to set up the environment for greenstone" @ echo "Type: make configure-admin, to set the admin password" @ echo "Edit: llssite.cfg and glisite.cfg files to change the port number if necessary" @ echo "Type: make configure-web, to configure the included apache webserver" @ echo "EITHER type: make web-start, to launch the webserver from the command-line" @ echo "OR run: gs2-server.sh, to launch the GUI version of the included webserver" @ echo "************************************" endif clean: for subdir in $(PACKAGEDIRS); do \ echo cleaning $@ in $$subdir; \ (cd $$subdir && $(MAKE) clean || exit 0) ; \ done distclean: for subdir in $(PACKAGEDIRS); do \ echo cleaning $@ in $$subdir; \ (cd $$subdir && $(MAKE) distclean || exit 0) ; \ done apache-for-dist: ( httpddir=`cd ./apache-httpd/httpd* ; pwd` ; \ cp $$httpddir/support/apxs.in ../../apache-httpd/$(GSDLOS)/apxs.in ; \ cp apache-httpd/install-bindist.sh ../../apache-httpd/$(GSDLOS)/install-bindist.sh ; \ chmod 755 ../../apache-httpd/$(GSDLOS)/install-bindist.sh ; \ gsdldir=`cd ../.. ; pwd` ; \ pre="$$gsdldir/apache-httpd/$(GSDLOS)" ; \ for one_file in apachectl envvars envvars-std; do \ sed -e "s%$$pre%*\*\APACHE_HOME_OS\*\*%" $$pre/bin/$$one_file > $$pre/bin/$$one_file.tmp ; \ mv $$pre/bin/$$one_file.tmp $$pre/bin/$$one_file ; \ done ; \ for one_file in $(REPLACELIST); do \ sed -e "s%$$pre%*\*\APACHE_HOME_OS\*\*%" "$$pre/$$one_file" > "$$pre/$$one_file.tmp" ; \ mv "$$pre/$$one_file.tmp" "$$pre/$$one_file" ; \ done ; \ cat "$$pre/bin/apr-1-config" \ | sed -e "s%^APR_SOURCE_DIR=.*%APR_SOURCE_DIR=%" \ | sed -e "s%^APR_BUILD_DIR=.*%APR_BUILD_DIR=%" \ > "$$pre/bin/apr-1-config.tmp" ; \ mv "$$pre/bin/apr-1-config.tmp" "$$pre/bin/apr-1-config" ; \ cat "$$pre/bin/apu-1-config" \ | sed -e "s%^APU_SOURCE_DIR=.*%APU_SOURCE_DIR=%" \ | sed -e "s%^APU_BUILD_DIR=.*%APU_BUILD_DIR=%" \ > "$$pre/bin/apu-1-config.tmp" ; \ mv "$$pre/bin/apu-1-config.tmp" "$$pre/bin/apu-1-config" ; \ sed -e "s%^EXTRA_INCLUDES\s*=.*%EXTRA_INCLUDES=%" "$$pre/build/config_vars.mk" > "$$pre/build/config_vars.mk.tmp" ; \ mv "$$pre/build/config_vars.mk.tmp" "$$pre/build/config_vars.mk" ; )