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

Last change on this file since 22766 was 22766, checked in by mdewsnip, 14 years ago

Instead of having two copies of expat in Greenstone (one for Linux and one for Windows), added Windows makefiles into the version in common-src/packages/expat. This means we can remove the Windows-only version in common-src/packages/windows/expat, and also means that expat now works the same as SQLite.

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