root/gsdl/trunk/runtime-src/packages/Makefile.in @ 18815

Revision 18815, 4.3 KB (checked in by ak19, 11 years ago)

Making the apache webserver relocatable for the release-kit. 1. Modified the configure file so that it configures the apache webserver using the with-layout flag set to BinaryDistribution?. With this flag set, it generates shell scripts of apachectl and the rest instead of binaries, so that absolute location paths can be replaced. 2. Added new target apache-for-dist to Makefile.in that can be run for the release kit after make install to prepare the compiled up web server for relocation at a later time on a different machine (at that point the installer will call the install-bindist.sh script in the apache-httpd webserver folder upon reloaction)

Line 
1###########################################################################
2#
3# Makefile -- Makefile for packages included with Greenstone runtime
4#
5# A component of the Greenstone digital library software
6# from the New Zealand Digital Library Project at the
7# University of Waikato, New Zealand.
8#
9# Copyright (C) 2000 New Zealand Digital Library Project
10#
11# This program is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# This program is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with this program; if not, write to the Free Software
23# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24#
25###########################################################################
26
27
28USE_Z3950=@USE_Z3950@
29USE_YAZ=@USE_YAZ@
30USE_APACHE_HTTPD=@USE_APACHE_HTTPD@
31
32ifeq ($(USE_Z3950), 1)
33# make sure USE_YAZ is set
34USE_YAZ=1
35D2M=d2m
36else
37D2M=
38endif
39
40ifeq ($(USE_YAZ), 1)
41# we only compile the src and client dirs for now.
42YAZ=yaz/yaz-2.1.4/src yaz/yaz-2.1.4/client
43else
44YAZ=
45endif
46
47
48USE_CORBA=@USE_CORBA@
49MICO_DIR=@MICO_DIR@
50ifeq ($(USE_CORBA), 1)
51ifeq ($(MICO_DIR), default)
52CORBA="mico/mico"
53else
54CORBA=
55endif
56else
57CORBA=
58endif
59
60GSDLOS = @gsdlos@
61
62ifeq ($(USE_APACHE_HTTPD), 1)
63HTTPD=apache-httpd/httpd-2.2.11
64else
65HTTPD=
66endif
67
68
69# PACKAGEDIRS contains the packages that we want to make and install.  It
70# is assumed that each package will have at least four rules: all, install,
71# clean, and distclean.
72PACKAGEDIRS =   $(YAZ) $(D2M) $(CORBA)  $(HTTPD)
73
74
75all:
76    for odir in $(PACKAGEDIRS); do \
77          echo making $@ in $$odir; \
78          (cd $$odir && $(MAKE) $(MDEFINES) $@) || exit 1; \
79        done
80ifeq ($(CORBA), "mico/mico")
81    cd mico/mico; $(MAKE)  $(MDEFINES) install
82    mkdir -p ../bin/linux
83    mkdir -p ../lib
84    mkdir -p ../include
85    mkdir -p ../man
86    cp -f mico/bin/* ../bin/linux
87    cp -f mico/lib/* ../lib/
88    cp -fr mico/include/* ../include
89    cp -fr mico/man ../man
90endif
91ifeq ($(USE_YAZ), 1)
92# need to do make install in include and src dirs to get the header files and
93# lib file into the right place
94    cd yaz/yaz-2.1.4/include; $(MAKE)  $(MDEFINES) install
95    cd yaz/yaz-2.1.4/src; $(MAKE)  $(MDEFINES) install
96endif
97
98install:
99    for idir in $(PACKAGEDIRS); do \
100          echo installing $$idir; \
101          (cd $$idir && $(MAKE) install) || exit 1; \
102        done
103ifeq ($(USE_APACHE_HTTPD), 1)
104    mkdir -p ../../apache-httpd/${GSDLOS}/conf
105    cp -f apache-httpd/httpd.conf.in ../../apache-httpd/${GSDLOS}/conf/.
106    mkdir -p ../../etc/logs-gsi
107    cp -f ../../lib/java/build.properties.in ../../lib/java/build.properties
108    @ echo "*************** INFO ***************"
109    @ echo "Run: source setup.bash, to set up the environment for greenstone"
110    @ echo "Type: make configure-admin, to set the admin password"
111    @ echo "Edit the build.properties file to change the port number if necessary"
112    @ echo "Type: make configure-web, to configure the included apache webserver"
113    @ echo "EITHER type: make web-start, to launch the webserver from the command-line"
114    @ echo "OR run: gs2-server.sh, to launch the GUI version of the included webserver"
115    @ echo "************************************"
116endif
117
118clean:
119    for subdir in $(PACKAGEDIRS); do \
120          echo cleaning $@ in $$subdir; \
121          (cd $$subdir && $(MAKE) clean || exit 0) ; \
122        done
123
124distclean:
125    for subdir in $(PACKAGEDIRS); do \
126          echo cleaning $@ in $$subdir; \
127          (cd $$subdir && $(MAKE) distclean || exit 0) ; \
128        done
129
130apache-for-dist:
131    cp apache-httpd/apxs.in ${GSDLHOME}/apache-httpd/${GSDLOS}/apxs.in
132    cp apache-httpd/install-bindist.sh ${GSDLHOME}/apache-httpd/${GSDLOS}/install-bindist.sh
133    chmod 755 ${GSDLHOME}/apache-httpd/${GSDLOS}/install-bindist.sh
134    for one_file in apachectl envvars envvars-std; do \
135      sed -e "s%${GSDLHOME}/apache-httpd/${GSDLOS}%*\*\APACHE_HOME_OS\*\*%" ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/$$one_file > ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/$$one_file.tmp ; \
136      mv ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/$$one_file.tmp ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/$$one_file ; \
137    done
Note: See TracBrowser for help on using the browser.