########################################################################### # # Makefile -- Makefile for packages shared between Greenstone build and 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_GDBM=@USE_GDBM@ ifeq ($(USE_GDBM), 1) GDBM_DEFINES = -DUSE_GDBM else GDBM_DEFINES = endif USE_JDBM=@USE_JDBM@ ifeq ($(USE_JDBM), 1) JDBM_DIR = jdbm/jdbm-1.0 JDBM_DEFINES = -DUSE_JDBM else JDBM_DIR = JDBM_DEFINES = endif USE_SQLITE=@USE_SQLITE@ ifeq ($(USE_SQLITE), 1) SQLITE_DIR = sqlite/sqlite-amalgamation-3.6.23.1 SQLITE_DEFINES = -DUSE_SQLITE else SQLITE_DIR = SQLITE_DEFINES = endif DEFS = @DEFS@ $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) # COMPILEDIRS 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. # CLEANDIRS is COMPILEDIRS and iconv and expat. Iconv and expat get compiled # up during the configure stage itself. COMPILEDIRS = gdbm $(SQLITE_DIR) $(JDBM_DIR) search4j CLEANDIRS = iconv expat $(COMPILEDIRS) all: for odir in $(COMPILEDIRS); do \ echo making $@ in $$odir; \ (cd $$odir && $(MAKE) $(MDEFINES) $@) || exit 1; \ done ifeq ($(USE_JDBM), 1) # do 'make install' in jdbm directory to get the jar file into the right place cd $(JDBM_DIR) && $(MAKE) $(MDEFINES) install endif ifeq ($(USE_SQLITE), 1) # need to do make install in sqlite to get the header files and library into the right place cd $(SQLITE_DIR) && $(MAKE) $(MDEFINES) install endif install: for idir in $(COMPILEDIRS); do \ echo installing $$idir; \ (cd $$idir && $(MAKE) install) || exit 1; \ done clean: for subdir in $(COMPILEDIRS); do \ echo cleaning $@ in $$subdir; \ (cd $$subdir && $(MAKE) clean || exit 0) ; \ done distclean: for subdir in $(CLEANDIRS); do \ echo cleaning $@ in $$subdir; \ (cd $$subdir && $(MAKE) distclean || exit 0) ; \ done (cd iconv && /bin/rm -rf bin include lib share)