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

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

Need to put packages\expat in INSTALLDIRS, not COMPILEDIRS, so the header and library files get installed properly.

File size: 7.7 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\search4j src\lib
54
55INSTALLDIRS = packages\expat
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 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
140 @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. ******
141 @IF NOT EXIST $(EXPAT_DIR) exit /b 1
142 cd "$(COMMONHOME)"
143 cd indexers\packages\windows\iconv
144 if NOT EXIST "iconv" unzip iconv.zip
145 cd "$(COMMONHOME)"
146
147!IF "$(USE_SQLITE)" == "1"
148 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
149 @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. ******
150 @IF NOT EXIST $(SQLITE_DIR) exit /b 1
151 cd "$(COMMONHOME)"
152!ENDIF
153
154!IF "$(USE_JDBM)" == "1"
155 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
156 @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. ******
157 @IF NOT EXIST $(JDBM_DIR)\jdbm-1.0 exit /b 1
158!ENDIF
159
160clean:
161 cd "$(COMMONHOME)"
162 cd packages\windows\crypt\crypt
163 $(MAKECLEANCMD)
164!IF EXIST ("packages\gdbm\gdbm-1.8.3")
165 cd "$(COMMONHOME)"
166 cd packages\gdbm\gdbm-1.8.3
167 $(MAKECLEANCMD)
168!ENDIF
169 cd "$(COMMONHOME)"
170 cd packages\expat
171 $(MAKECLEANCMD)
172 cd "$(COMMONHOME)"
173 cd src\lib
174 $(MAKECLEANCMD)
175!IF EXIST ("src\gdbmedit")
176 cd "$(COMMONHOME)"
177 cd src\gdbmedit\txt2db
178 $(MAKECLEANCMD)
179 cd "$(COMMONHOME)"
180 cd src\gdbmedit\db2txt
181 $(MAKECLEANCMD)
182 cd "$(COMMONHOME)"
183 cd src\gdbmedit\gdbmget
184 $(MAKECLEANCMD)
185 cd "$(COMMONHOME)"
186 cd src\gdbmedit\gdbmset
187 $(MAKECLEANCMD)
188 cd "$(COMMONHOME)"
189 cd src\gdbmedit\gdbmkeys
190 $(MAKECLEANCMD)
191 cd "$(COMMONHOME)"
192 cd src\gdbmedit\gdbmdel
193 $(MAKECLEANCMD)
194!ENDIF
195# cd "$(COMMONHOME)"
196# cd src\getpw
197# $(MAKECLEANCMD)
198 cd "$(COMMONHOME)"
199 cd indexers
200 set DEBUG=$(DEBUG)
201 set ENABLE_MG=$(ENABLE_MG)
202 set ENABLE_MGPP=$(ENABLE_MGPP)
203 set ENABLE_LUCENE=$(ENABLE_LUCENE)
204 call winMake.bat clean
205 set DEBUG=
206 set ENABLE_MG=
207 set ENABLE_MGPP=
208 set ENABLE_LUCENE=
209 cd "$(COMMONHOME)"
210 cd packages\search4j
211 $(MAKECLEANCMD)
212!IF EXIST ("$(SQLITE_DIR)")
213 cd "$(COMMONHOME)"
214 cd "$(SQLITE_DIR)"
215 $(MAKECLEANCMD)
216 if exist "$(COMMONHOME)\packages\sqlite\lib\sqlite3.lib" del "$(COMMONHOME)\packages\sqlite\lib\sqlite3.lib"
217!ENDIF
218 cd "$(COMMONHOME)"
219
220$(COMPILEDIRS): FORCE
221 cd "$(COMMONHOME)"
222 cd "$@"
223 $(MAKECMD)
224 cd "$(GSDLHOME)"
225
226!IF "$(INSTALLDIRS)" != ""
227$(INSTALLDIRS): FORCE
228 cd "$(COMMONHOME)"
229 cd "$@"
230 $(MAKECMD)
231 $(MAKECMD) install
232 cd "$(COMMONHOME)"
233!ENDIF
234
235$(SQLITE_DIR): FORCE
236 cd "$(COMMONHOME)"
237 cd "$@"
238 $(MAKECMD)
239 $(MAKECMD) install
240 cd "$(COMMONHOME)"
241
242$(JDBM_DIR): FORCE
243 cd "$(COMMONHOME)\$(JDBM_DIR)\jdbm-1.0"
244 set DEBUG=$(DEBUG)
245 call winMake.bat all
246 call winMake.bat install
247 set DEBUG=
248
249$(JDBMEDIT_DIR): FORCE
250!IF "$(USE_JDBM)" == "1"
251 cd "$(COMMONHOME)"
252 cd "$@"
253 set DEBUG=$(DEBUG)
254 call winMake.bat all
255 call winMake.bat install
256 set DEBUG=
257!ENDIF
258
259$(INDEXERSDIR): FORCE
260 cd "$(COMMONHOME)"
261 cd "$@"
262 set DEBUG=$(DEBUG)
263 set ENABLE_MG=$(ENABLE_MG)
264 set ENABLE_MGPP=$(ENABLE_MGPP)
265 set ENABLE_LUCENE=$(ENABLE_LUCENE)
266
267!IF $(ENABLE_JNI)
268 call winMake.bat all with-jni
269 call winMake.bat install with-jni
270!ELSE
271 call winMake.bat all without-jni
272 call winMake.bat install without-jni
273!ENDIF
274
275 set DEBUG=
276 set ENABLE_MG=
277 set ENABLE_MGPP=
278 set ENABLE_LUCENE=
279 if NOT EXIST "$(GSDLHOME)\bin\windows" mkdir "$(GSDLHOME)\bin\windows"
280 if NOT EXIST "$(GSDLHOME)\bin\java" mkdir "$(GSDLHOME)\bin\java"
281 for %%i in (bin\*.exe) do \
282 if exist %%i copy %%i "$(GSDLHOME)\bin\windows"
283 if EXIST "lucene-gs\LuceneWrapper.jar" copy "lucene-gs\LuceneWrapper.jar" "$(GSDLHOME)\bin\java"
284 @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
285 cd "$(GSDLHOME)"
286
287FORCE:
288
Note: See TracBrowser for help on using the repository browser.