source: main/trunk/greenstone2/common-src/win32.mak@ 22090

Last change on this file since 22090 was 22090, checked in by ak19, 14 years ago

Windows makefiles to work with USE_GDBM and USE_JDBM: 1. Added winMake.bat to both gs-jdbm-1.0.tar.gz and common-src's jdbmedit so that jdbm java files can now get compiled up. 2. These new winMake bat files are then called from the updated windows makefiles in common-src and common-src's src-lib folder. 3. Changed win32.mak files to work with USE_GDBM and USE_JDBM: these set their USE_DBDEFINES flag when on to prevent memory errors due to makefiles' inconsistent setting of USE_DEFINES between folders. Also certain gdbm related lib, includes and dir statements are moved out of the general part of the windows makefiles into the USE_GDBM section of the makefiles.

File size: 7.3 KB
Line 
1###########################################################################
2#
3# win32 makefile -- common code between gsdl runtime and buildtime
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
27!IF "$(GSDLHOME)"==""
28GSDLHOME = $(MAKEDIR)
29!ELSE
30GSDLHOME = $(GSDLHOME)
31!ENDIF
32COMMONHOME = $(MAKEDIR)
33GSDL_VC4 = 0
34DEBUG = 0
35DLL = 0
36DLLDEBUG = 0
37USE_GDBM = 1
38USE_JDBM = 1
39USE_SQLITE = 1
40USE_MSSQL = 0
41# by default, all indexers are enabled
42ENABLE_MG = 1
43ENABLE_MGPP = 1
44ENABLE_LUCENE = 1
45# jni is disabled by default as this is the default for GS2. GS3 will set this explicitly
46ENABLE_JNI = 0
47
48MDEFINES = /f win32.mak
49
50INDEXERSDIR = indexers
51
52COMPILEDIRS = packages\windows\crypt\crypt \
53 packages\windows\expat\expat packages\search4j src\lib
54
55INSTALLDIRS =
56
57# src\getpw
58
59PACKAGEDIRS =
60
61SQLITE_DIR = packages\sqlite\sqlite-amalgamation-3.6.23.1
62JDBM_DIR = packages\jdbm
63JDBMEDIT_DIR = src\jdbmedit
64
65MAKECMD = $(MAKE) $(MDEFINES) GSDLHOME="$(GSDLHOME)" BINDIR="$(GSDLHOME)\bin\windows"
66
67!IF $(GSDL_VC4)
68MAKECMD = $(MAKECMD) GSDL_VC4=1
69!ENDIF
70!IF $(DEBUG)
71MAKECMD = $(MAKECMD) DEBUG=1
72!ENDIF
73!IF $(DLL)
74MAKECMD = $(MAKECMD) DLL=1
75!ENDIF
76!IF $(DLLDEBUG)
77MAKECMD = $(MAKECMD) DLLDEBUG=1
78!ENDIF
79!IF $(ENABLE_JNI)
80MAKECMD = $(MAKECMD) ENABLE_JNI=1
81!ENDIF
82!IF !$(ENABLE_MG)
83MAKECMD = $(MAKECMD) ENABLE_MG=0
84!ENDIF
85!IF !$(ENABLE_MGPP)
86MAKECMD = $(MAKECMD) ENABLE_MGPP=0
87!ENDIF
88!IF !$(ENABLE_LUCENE)
89MAKECMD = $(MAKECMD) ENABLE_LUCENE=0
90!ENDIF
91
92!IF $(USE_GDBM)
93GDBM_DEFINES = -DUSE_GDBM
94COMPILEDIRS = $(COMPILEDIRS) \
95 packages\gdbm\gdbm-1.8.3
96INSTALLDIRS = $(INSTALLDIRS) src\gdbmedit\db2txt src\gdbmedit\txt2db \
97 src\gdbmedit\gdbmset src\gdbmedit\gdbmget \
98 src\gdbmedit\gdbmkeys src\gdbmedit\gdbmdel
99!ELSE
100GDBM_DEFINES =
101MAKECMD = $(MAKECMD) USE_GDBM=0
102!ENDIF
103
104!IF $(USE_JDBM)
105JDBM_DEFINES = -DUSE_JDBM
106PACKAGEDIRS = $(PACKAGEDIRS) $(JDBM_DIR)
107!ELSE
108JDBM_DEFINES =
109MAKECMD = $(MAKECMD) USE_JDBM=0
110!ENDIF
111
112!IF $(USE_SQLITE)
113SQLITE_DEFINES = -DUSE_SQLITE
114PACKAGEDIRS = $(PACKAGEDIRS) $(SQLITE_DIR)
115!ELSE
116SQLITE_DEFINES =
117MAKECMD = $(MAKECMD) USE_SQLITE=0
118!ENDIF
119
120!IF $(USE_MSSQL)
121MSSQL_DEFINES = -DUSE_MSSQL
122MAKECMD = $(MAKECMD) USE_MSSQL=1
123!ELSE
124MSSQL_DEFINES =
125!ENDIF
126
127MAKECLEANCMD = $(MAKE) $(MDEFINES) GSDLHOME="$(GSDLHOME)" clean
128
129all: win32.mak unzip $(INDEXERSDIR) $(PACKAGEDIRS) $(COMPILEDIRS) $(INSTALLDIRS) $(JDBMEDIT_DIR)
130
131install: win32.mak $(INDEXERSDIR) $(INSTALLDIRS)
132
133unzip:
134 cd "$(COMMONHOME)"
135 cd packages\windows\crypt
136 if NOT EXIST "crypt" unzip crypt.zip
137 cd "$(COMMONHOME)"
138 cd packages\windows\expat
139 if NOT EXIST "expat" unzip expat.zip
140 cd "$(COMMONHOME)"
141 cd indexers\packages\windows\iconv
142 if NOT EXIST "iconv" unzip iconv.zip
143 cd "$(COMMONHOME)"
144
145!IF "$(USE_SQLITE)" == "1"
146 IF NOT EXIST $(SQLITE_DIR) IF EXIST "$(GSDLHOME)\bin\windows\gunzip.exe" IF EXIST "$(GSDLHOME)\bin\windows\tar.exe" "$(GSDLHOME)\bin\windows\gunzip.exe" -cd "$(SQLITE_DIR).tar.gz" | "$(GSDLHOME)\bin\windows\tar.exe" xv --directory=./packages/sqlite
147 @IF NOT EXIST $(SQLITE_DIR) echo ****** Couldn't extract archive $(SQLITE_DIR).tar.gz. Extract it manually, or check that gunzip.exe and tar.exe exist in GSDLHOME\bin\windows. ******
148 @IF NOT EXIST $(SQLITE_DIR) exit /b 1
149 cd "$(COMMONHOME)"
150!ENDIF
151
152!IF "$(USE_JDBM)" == "1"
153 IF NOT EXIST $(JDBM_DIR)\jdbm-1.0 IF EXIST "$(GSDLHOME)\bin\windows\gunzip.exe" IF EXIST "$(GSDLHOME)\bin\windows\tar.exe" "$(GSDLHOME)\bin\windows\gunzip.exe" -cd "$(JDBM_DIR)\gs-jdbm-1.0.tar.gz" | "$(GSDLHOME)\bin\windows\tar.exe" xv --directory=./packages/jdbm
154 @IF NOT EXIST $(JDBM_DIR)\jdbm-1.0 echo ****** Couldn't extract archive $(JDBM_DIR)\gs-jdbm-1.0.tar.gz. Extract it manually, or check that gunzip.exe and tar.exe exist in GSDLHOME\bin\windows. ******
155 @IF NOT EXIST $(JDBM_DIR)\jdbm-1.0 exit /b 1
156!ENDIF
157
158clean:
159 cd "$(COMMONHOME)"
160 cd packages\windows\crypt\crypt
161 $(MAKECLEANCMD)
162!IF EXIST ("packages\gdbm\gdbm-1.8.3")
163 cd "$(COMMONHOME)"
164 cd packages\gdbm\gdbm-1.8.3
165 $(MAKECLEANCMD)
166!ENDIF
167 cd "$(COMMONHOME)"
168 cd packages\windows\expat\expat
169 $(MAKECLEANCMD)
170 cd "$(COMMONHOME)"
171 cd src\lib
172 $(MAKECLEANCMD)
173!IF EXIST ("src\gdbmedit")
174 cd "$(COMMONHOME)"
175 cd src\gdbmedit\txt2db
176 $(MAKECLEANCMD)
177 cd "$(COMMONHOME)"
178 cd src\gdbmedit\db2txt
179 $(MAKECLEANCMD)
180 cd "$(COMMONHOME)"
181 cd src\gdbmedit\gdbmget
182 $(MAKECLEANCMD)
183 cd "$(COMMONHOME)"
184 cd src\gdbmedit\gdbmset
185 $(MAKECLEANCMD)
186 cd "$(COMMONHOME)"
187 cd src\gdbmedit\gdbmkeys
188 $(MAKECLEANCMD)
189 cd "$(COMMONHOME)"
190 cd src\gdbmedit\gdbmdel
191 $(MAKECLEANCMD)
192!ENDIF
193# cd "$(COMMONHOME)"
194# cd src\getpw
195# $(MAKECLEANCMD)
196 cd "$(COMMONHOME)"
197 cd indexers
198 set DEBUG=$(DEBUG)
199 set ENABLE_MG=$(ENABLE_MG)
200 set ENABLE_MGPP=$(ENABLE_MGPP)
201 set ENABLE_LUCENE=$(ENABLE_LUCENE)
202 call winMake.bat clean
203 set DEBUG=
204 set ENABLE_MG=
205 set ENABLE_MGPP=
206 set ENABLE_LUCENE=
207 cd "$(COMMONHOME)"
208 cd packages\search4j
209 $(MAKECLEANCMD)
210!IF EXIST ("$(SQLITE_DIR)")
211 cd "$(COMMONHOME)"
212 cd "$(SQLITE_DIR)"
213 $(MAKECLEANCMD)
214 if exist "$(COMMONHOME)\packages\sqlite\lib\sqlite3.lib" del "$(COMMONHOME)\packages\sqlite\lib\sqlite3.lib"
215!ENDIF
216 cd "$(COMMONHOME)"
217
218$(COMPILEDIRS): FORCE
219 cd "$(COMMONHOME)"
220 cd "$@"
221 $(MAKECMD)
222 cd "$(GSDLHOME)"
223
224!IF "$(INSTALLDIRS)" != ""
225$(INSTALLDIRS): FORCE
226 cd "$(COMMONHOME)"
227 cd "$@"
228 $(MAKECMD)
229 $(MAKECMD) install
230 cd "$(COMMONHOME)"
231!ENDIF
232
233$(SQLITE_DIR): FORCE
234 cd "$(COMMONHOME)"
235 cd "$@"
236 $(MAKECMD)
237 $(MAKECMD) install
238 cd "$(COMMONHOME)"
239
240$(JDBM_DIR): FORCE
241 cd "$(COMMONHOME)\$(JDBM_DIR)\jdbm-1.0"
242 set DEBUG=$(DEBUG)
243 call winMake.bat all
244 call winMake.bat install
245 set DEBUG=
246
247$(JDBMEDIT_DIR): FORCE
248!IF "$(USE_JDBM)" == "1"
249 cd "$(COMMONHOME)"
250 cd "$@"
251 set DEBUG=$(DEBUG)
252 call winMake.bat all
253 call winMake.bat install
254 set DEBUG=
255!ENDIF
256
257$(INDEXERSDIR): FORCE
258 cd "$(COMMONHOME)"
259 cd "$@"
260 set DEBUG=$(DEBUG)
261 set ENABLE_MG=$(ENABLE_MG)
262 set ENABLE_MGPP=$(ENABLE_MGPP)
263 set ENABLE_LUCENE=$(ENABLE_LUCENE)
264
265!IF $(ENABLE_JNI)
266 call winMake.bat all with-jni
267 call winMake.bat install with-jni
268!ELSE
269 call winMake.bat all without-jni
270 call winMake.bat install without-jni
271!ENDIF
272
273 set DEBUG=
274 set ENABLE_MG=
275 set ENABLE_MGPP=
276 set ENABLE_LUCENE=
277 if NOT EXIST "$(GSDLHOME)\bin\windows" mkdir "$(GSDLHOME)\bin\windows"
278 if NOT EXIST "$(GSDLHOME)\bin\java" mkdir "$(GSDLHOME)\bin\java"
279 for %%i in (bin\*.exe) do \
280 if exist %%i copy %%i "$(GSDLHOME)\bin\windows"
281 if EXIST "lucene-gs\LuceneWrapper.jar" copy "lucene-gs\LuceneWrapper.jar" "$(GSDLHOME)\bin\java"
282 @if NOT EXIST "lucene-gs\LuceneWrapper.jar" echo Warning: Failed to find lucene-gs\LuceneWrapper.jar. Greenstone will not be able to use Lucene for indexing
283 cd "$(GSDLHOME)"
284
285FORCE:
286
Note: See TracBrowser for help on using the repository browser.