1 | ###########################################################################
|
---|
2 | #
|
---|
3 | # Makefile -- gsdl
|
---|
4 | # A component of the Greenstone digital library software
|
---|
5 | # from the New Zealand Digital Library Project at the
|
---|
6 | # University of Waikato, New Zealand.
|
---|
7 | #
|
---|
8 | # Copyright (C) 1999 The New Zealand Digital Library Project
|
---|
9 | #
|
---|
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 | srcdir = @srcdir@
|
---|
27 |
|
---|
28 | PACKAGE = @PACKAGE@
|
---|
29 | VERSION = @VERSION@
|
---|
30 |
|
---|
31 | @SET_MAKE@
|
---|
32 | CC = @CC@
|
---|
33 | CXX = @CXX@
|
---|
34 | CFLAGS = @CFLAGS@
|
---|
35 | CXXFLAGS = @CXXFLAGS@
|
---|
36 | LIBS = @LIBS@
|
---|
37 | MDEFINES =
|
---|
38 |
|
---|
39 | GSDLOS = @gsdlos@
|
---|
40 |
|
---|
41 | COMPILE = $(CC) -c
|
---|
42 |
|
---|
43 | SOURCES =
|
---|
44 |
|
---|
45 | OBJECTS =
|
---|
46 |
|
---|
47 | ALLFILES = $(OBJECTS)
|
---|
48 |
|
---|
49 |
|
---|
50 | COMPILEDIRS = common-src build-src runtime-src
|
---|
51 |
|
---|
52 | INSTALLDIRS = common-src build-src runtime-src
|
---|
53 |
|
---|
54 | MODULEDIRS = @MODULEDIRS@
|
---|
55 |
|
---|
56 |
|
---|
57 | # we don't want to compile the jni stuff in indexers for gs2
|
---|
58 | all:
|
---|
59 | for odir in $(COMPILEDIRS) $(MODULEDIRS); do \
|
---|
60 | echo making $@ in $$odir; \
|
---|
61 | (cd $$odir && $(MAKE) $(MDEFINES) $@) || exit 1; \
|
---|
62 | done
|
---|
63 |
|
---|
64 | install: all
|
---|
65 | for idir in $(INSTALLDIRS); do \
|
---|
66 | echo installing $$idir; \
|
---|
67 | (cd $$idir && $(MAKE) install) || exit 1; \
|
---|
68 | done
|
---|
69 |
|
---|
70 |
|
---|
71 |
|
---|
72 | test-gsdlhome:
|
---|
73 | @ if test -z "$(GSDLHOME)" ; then \
|
---|
74 | echo "" ; \
|
---|
75 | echo "Environment variable GSDLHOME not set." ; \
|
---|
76 | echo " This needs to be set to run this Makefile target." ; \
|
---|
77 | echo " Have you run 'source setup.bash'?" ; \
|
---|
78 | echo "" ; \
|
---|
79 | exit 1; \
|
---|
80 | else \
|
---|
81 | echo "Using: " ; \
|
---|
82 | echo " GSDLHOME = ${GSDLHOME}" ; \
|
---|
83 | echo " GSDLOS = ${GSDLOS}" ; \
|
---|
84 | fi
|
---|
85 |
|
---|
86 | configure-cgi: test-gsdlhome
|
---|
87 | @ echo "Configuring cgi-bin/gsdlsite.cfg" ;
|
---|
88 | sed "s@\*\*GSDLHOME\*\*@$(GSDLHOME)@g" cgi-bin/gsdlsite.cfg.in > cgi-bin/gsdlsite.cfg ;
|
---|
89 |
|
---|
90 |
|
---|
91 |
|
---|
92 | configure-admin: test-gsdlhome
|
---|
93 | @echo "" ;
|
---|
94 | @echo "Configuring admin user password:" ;
|
---|
95 | encrypted_password=`getpw` ;
|
---|
96 | if [ $$? = "0" ] ; then \
|
---|
97 | echo -e "[admin]\n<enabled>true\n<groups>administrator,colbuilder,all-collections-editor\n<password>$$encrypted_password\n<username>admin" \
|
---|
98 | | txt2db -append "${GSDLHOME}/etc/users.db" ; \
|
---|
99 | fi
|
---|
100 | @echo ""
|
---|
101 |
|
---|
102 | configure-port: test-gsdlhome
|
---|
103 | @ echo "Enter port number to use:"
|
---|
104 | @ ( read port ; \
|
---|
105 | if test ! -z $$port ; then \
|
---|
106 | echo "Stopping web server (if running)" ; \
|
---|
107 | make web-stop-tested ; \
|
---|
108 | echo "Setting config file to use port $$port"; \
|
---|
109 | cat "${GSDLHOME}/apache-httpd/conf/httpd.conf" \
|
---|
110 | | sed "s/^Listen [0-9]\+/Listen $$port/" \
|
---|
111 | > "${GSDLHOME}/apache-httpd/conf/httpd.conf.new" ; \
|
---|
112 | echo "Type 'make web-start' to start the web server running on port $$port" ; \
|
---|
113 | fi ; \
|
---|
114 | echo "Done" ; )
|
---|
115 |
|
---|
116 | MONITOR_SUCCESS="MAKE SUCCESSFUL"
|
---|
117 | MONITOR_FAILED="MAKE FAILED"
|
---|
118 | MONITOR_FINISHED="MAKE DONE"
|
---|
119 |
|
---|
120 | web-status: test-gsdlhome
|
---|
121 | ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl status
|
---|
122 |
|
---|
123 | web-start: test-gsdlhome
|
---|
124 | ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl start
|
---|
125 | @ echo $(MONITOR_SUCCESS)
|
---|
126 | @ echo $(MONITOR_FINISHED)
|
---|
127 |
|
---|
128 | web-restart: test-gsdlhome
|
---|
129 | ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl restart
|
---|
130 | @ echo $(MONITOR_SUCCESS)
|
---|
131 | @ echo $(MONITOR_FINISHED)
|
---|
132 |
|
---|
133 | web-graceful: test-gsdlhome
|
---|
134 | ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl graceful
|
---|
135 | @ echo $(MONITOR_SUCCESS)
|
---|
136 | @ echo $(MONITOR_FINISHED)
|
---|
137 |
|
---|
138 | web-stop-tested:
|
---|
139 | @# This version runs without testing for GSDLHOME
|
---|
140 | @# Useful to be run as a target when we know test-gsdlhome has already
|
---|
141 | @# been done. This avoids a unnecessary repetition of printing
|
---|
142 | @# out the values of GSDLHOME and GSDLOS
|
---|
143 | ${GSDLHOME}/apache-httpd/${GSDLOS}/bin/apachectl stop
|
---|
144 | @ echo $(MONITOR_SUCCESS)
|
---|
145 | @ echo $(MONITOR_FINISHED)
|
---|
146 |
|
---|
147 | web-stop: test-gsdlhome web-stop-tested
|
---|
148 |
|
---|
149 |
|
---|
150 | distclean: clean
|
---|
151 | rm -f Makefile config.cache config.h config.log stamp-h config.status
|
---|
152 | for subdir in $(COMPILEDIRS); do \
|
---|
153 | echo cleaning $@ in $$subdir; \
|
---|
154 | (cd $$subdir && $(MAKE) distclean) || exit 1; \
|
---|
155 | done
|
---|
156 |
|
---|
157 | clean:
|
---|
158 | for subdir in $(COMPILEDIRS); do \
|
---|
159 | echo cleaning $@ in $$subdir; \
|
---|
160 | (cd $$subdir && $(MAKE) clean) || exit 1; \
|
---|
161 | done
|
---|
162 |
|
---|
163 | # commented out - jrm21 Dec 2004 - can get confused by cvs timestamps
|
---|
164 | # (and might run the wrong version of autoconf)
|
---|
165 | #
|
---|
166 | ## For an explanation of the following Makefile rules, see node
|
---|
167 | ## `Automatic Remaking' in GNU Autoconf documentation.
|
---|
168 | #Makefile: Makefile.in config.status
|
---|
169 | # CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
|
---|
170 | #config.status: configure
|
---|
171 | # ./config.status --recheck
|
---|
172 | #configure: configure.in aclocal.m4
|
---|
173 | # cd $(srcdir) && autoconf
|
---|
174 | #
|
---|
175 | #config.h: stamp-h
|
---|
176 | #stamp-h: config.h.in config.status
|
---|
177 | # CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
|
---|
178 | #config.h.in: stamp-h.in
|
---|
179 | #stamp-h.in: configure.in aclocal.m4 acconfig.h
|
---|
180 | # cd $(srcdir) && autoheader
|
---|
181 | # $(TOUCH) $(srcdir)/stamp-h.in
|
---|
182 |
|
---|
183 |
|
---|
184 |
|
---|