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

Last change on this file was 35702, checked in by davidb, 3 years ago

Visual Studio *Major* version now set in build.xml as integer value to make subsequent testing in Windows nmake and bat files

File size: 8.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 = cgi-bin packages\windows\crypt\crypt \
53 packages\search4j src\lib
54
55INSTALLDIRS = cgi-bin packages\expat
56
57# src\getpw
58
59PACKAGEDIRS =
60
61EXPAT_DIR = packages\expat\expat-1.95.8
62SQLITE_DIR = packages\sqlite\sqlite-autoconf-3070602
63JDBM_DIR = packages\jdbm
64JDBMEDIT_DIR = src\jdbmedit
65
66MAKECMD = $(MAKE) $(MDEFINES) GSDLHOME="$(GSDLHOME)" VISUAL_STUDIO_MAJORVERSION="$(VISUAL_STUDIO_MAJORVERSION)" BINDIR="$(GSDLHOME)\bin\windows" LIBDIR="$(GSDLHOME)\lib\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 @ set ICONVZIP=iconv-VS14-PLUS.zip
145 @ if $(VISUAL_STUDIO_MAJORVERSION) LSS 14 set ICONVZIP=iconv-PRE-VS14.zip
146 @ echo Selected iconv to unzip: %ICONVZIP%
147 if NOT EXIST "iconv" unzip "%ICONVZIP%"
148 cd "$(COMMONHOME)"
149
150!IF "$(USE_SQLITE)" == "1"
151 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
152 @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. ******
153 @IF NOT EXIST $(SQLITE_DIR) exit /b 1
154 cd "$(COMMONHOME)"
155!ENDIF
156
157!IF "$(USE_JDBM)" == "1"
158 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
159 @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. ******
160 @IF NOT EXIST $(JDBM_DIR)\jdbm-1.0 exit /b 1
161!ENDIF
162
163clean:
164 cd "$(COMMONHOME)"
165 cd cgi-bin
166 $(MAKECLEANCMD)
167 cd "$(COMMONHOME)"
168!IF EXIST ("packages\windows\crypt\crypt")
169 cd packages\windows\crypt\crypt
170 $(MAKECLEANCMD)
171!ENDIF
172!IF EXIST ("packages\gdbm\gdbm-1.8.3")
173 cd "$(COMMONHOME)"
174 cd packages\gdbm\gdbm-1.8.3
175 $(MAKECLEANCMD)
176!ENDIF
177 cd "$(COMMONHOME)"
178!IF EXIST (packages\expat)
179 cd packages\expat
180 $(MAKECLEANCMD)
181 cd "$(COMMONHOME)"
182!ENDIF
183 cd src\lib
184 $(MAKECLEANCMD)
185!IF EXIST ("src\gdbmedit")
186 cd "$(COMMONHOME)"
187 cd src\gdbmedit\txt2db
188 $(MAKECLEANCMD)
189 cd "$(COMMONHOME)"
190 cd src\gdbmedit\db2txt
191 $(MAKECLEANCMD)
192 cd "$(COMMONHOME)"
193 cd src\gdbmedit\gdbmget
194 $(MAKECLEANCMD)
195 cd "$(COMMONHOME)"
196 cd src\gdbmedit\gdbmset
197 $(MAKECLEANCMD)
198 cd "$(COMMONHOME)"
199 cd src\gdbmedit\gdbmkeys
200 $(MAKECLEANCMD)
201 cd "$(COMMONHOME)"
202 cd src\gdbmedit\gdbmdel
203 $(MAKECLEANCMD)
204!ENDIF
205# cd "$(COMMONHOME)"
206# cd src\getpw
207# $(MAKECLEANCMD)
208 cd "$(COMMONHOME)"
209 cd indexers
210 set DEBUG=$(DEBUG)
211 set VISUAL_STUDIO_MAJORVERSION=$(VISUAL_STUDIO_MAJORVERSION)
212 set ENABLE_MG=$(ENABLE_MG)
213 set ENABLE_MGPP=$(ENABLE_MGPP)
214 set ENABLE_LUCENE=$(ENABLE_LUCENE)
215 call winMake.bat clean
216 set DEBUG=
217 set VISUAL_STUDIO_MAJORVERSION=
218 set ENABLE_MG=
219 set ENABLE_MGPP=
220 set ENABLE_LUCENE=
221 cd "$(COMMONHOME)"
222 cd packages\search4j
223 $(MAKECLEANCMD)
224!IF EXIST ("$(SQLITE_DIR)")
225 cd "$(COMMONHOME)"
226 cd "$(SQLITE_DIR)"
227 $(MAKECLEANCMD)
228 if exist "$(COMMONHOME)\packages\sqlite\lib\sqlite3.lib" del "$(COMMONHOME)\packages\sqlite\lib\sqlite3.lib"
229!ENDIF
230 cd "$(COMMONHOME)"
231
232$(COMPILEDIRS): FORCE
233 cd "$(COMMONHOME)"
234 cd "$@"
235 $(MAKECMD)
236 cd "$(GSDLHOME)"
237
238!IF "$(INSTALLDIRS)" != ""
239$(INSTALLDIRS): FORCE
240 cd "$(COMMONHOME)"
241 cd "$@"
242 $(MAKECMD)
243 $(MAKECMD) install
244 cd "$(COMMONHOME)"
245!ENDIF
246
247$(SQLITE_DIR): FORCE
248 cd "$(COMMONHOME)"
249 cd "$@"
250 $(MAKECMD)
251 $(MAKECMD) install
252 cd "$(COMMONHOME)"
253
254$(JDBM_DIR): FORCE
255 cd "$(COMMONHOME)\$(JDBM_DIR)\jdbm-1.0"
256 set DEBUG=$(DEBUG)
257 call winMake.bat all
258 call winMake.bat install
259 set DEBUG=
260
261$(JDBMEDIT_DIR): FORCE
262!IF "$(USE_JDBM)" == "1"
263 cd "$(COMMONHOME)"
264 cd "$@"
265 set DEBUG=$(DEBUG)
266 call winMake.bat all
267 call winMake.bat install
268 set DEBUG=
269!ENDIF
270
271$(INDEXERSDIR): FORCE
272 cd "$(COMMONHOME)"
273 cd "$@"
274 set DEBUG=$(DEBUG)
275 set VISUAL_STUDIO_MAJORVERSION=$(VISUAL_STUDIO_MAJORVERSION)
276 set ENABLE_MG=$(ENABLE_MG)
277 set ENABLE_MGPP=$(ENABLE_MGPP)
278 set ENABLE_LUCENE=$(ENABLE_LUCENE)
279
280!IF $(ENABLE_JNI)
281 call winMake.bat all with-jni
282 call winMake.bat install with-jni
283!ELSE
284 call winMake.bat all without-jni
285 call winMake.bat install without-jni
286!ENDIF
287
288 set DEBUG=
289 set VISUAL_STUDIO_MAJORVERSION=
290 set ENABLE_MG=
291 set ENABLE_MGPP=
292 set ENABLE_LUCENE=
293 if NOT EXIST "$(GSDLHOME)\bin\windows" mkdir "$(GSDLHOME)\bin\windows"
294 if NOT EXIST "$(GSDLHOME)\bin\java" mkdir "$(GSDLHOME)\bin\java"
295 for %%i in (bin\*.exe) do \
296 if exist %%i copy %%i "$(GSDLHOME)\bin\windows"
297 if EXIST "lucene-gs\LuceneWrapper4.jar" copy "lucene-gs\LuceneWrapper4.jar" "$(GSDLHOME)\bin\java"
298 @if NOT EXIST "lucene-gs\LuceneWrapper4.jar" echo Warning: Failed to find lucene-gs\LuceneWrapper4.jar. Greenstone will not be able to use Lucene for indexing
299 cd "$(GSDLHOME)"
300
301FORCE:
302
Note: See TracBrowser for help on using the repository browser.