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

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

Fixing up makefiles to work with recent changes DLConsulting made related to expat (expat now set up like on Linux: it is compiled up rather than obtained from a zip file).

File size: 7.8 KB
RevLine 
[16575]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
[19908]27!IF "$(GSDLHOME)"==""
28GSDLHOME = $(MAKEDIR)
29!ELSE
[16576]30GSDLHOME = $(GSDLHOME)
[19908]31!ENDIF
[16575]32COMMONHOME = $(MAKEDIR)
33GSDL_VC4 = 0
[19527]34DEBUG = 0
[16575]35DLL = 0
36DLLDEBUG = 0
[22090]37USE_GDBM = 1
38USE_JDBM = 1
[18061]39USE_SQLITE = 1
[17476]40USE_MSSQL = 0
[21435]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
[16575]47
48MDEFINES = /f win32.mak
49
50INDEXERSDIR = indexers
51
[22090]52COMPILEDIRS = packages\windows\crypt\crypt \
[22769]53 packages\search4j src\lib
[16575]54
[22769]55INSTALLDIRS = packages\expat
[16575]56
[19527]57# src\getpw
58
[16575]59PACKAGEDIRS =
60
[22766]61EXPAT_DIR = packages\expat\expat-1.95.8
[21871]62SQLITE_DIR = packages\sqlite\sqlite-amalgamation-3.6.23.1
[22090]63JDBM_DIR = packages\jdbm
64JDBMEDIT_DIR = src\jdbmedit
[16575]65
[17502]66MAKECMD = $(MAKE) $(MDEFINES) GSDLHOME="$(GSDLHOME)" BINDIR="$(GSDLHOME)\bin\windows"
[16575]67
68!IF $(GSDL_VC4)
69MAKECMD = $(MAKECMD) GSDL_VC4=1
70!ENDIF
[19527]71!IF $(DEBUG)
72MAKECMD = $(MAKECMD) DEBUG=1
73!ENDIF
[16575]74!IF $(DLL)
75MAKECMD = $(MAKECMD) DLL=1
76!ENDIF
77!IF $(DLLDEBUG)
78MAKECMD = $(MAKECMD) DLLDEBUG=1
79!ENDIF
[22090]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
[21435]113!IF $(USE_SQLITE)
[22090]114SQLITE_DEFINES = -DUSE_SQLITE
[21435]115PACKAGEDIRS = $(PACKAGEDIRS) $(SQLITE_DIR)
116!ELSE
[22090]117SQLITE_DEFINES =
[21327]118MAKECMD = $(MAKECMD) USE_SQLITE=0
[16575]119!ENDIF
[22090]120
[17476]121!IF $(USE_MSSQL)
[22090]122MSSQL_DEFINES = -DUSE_MSSQL
[17476]123MAKECMD = $(MAKECMD) USE_MSSQL=1
[22090]124!ELSE
125MSSQL_DEFINES =
[17476]126!ENDIF
[16575]127
[18177]128MAKECLEANCMD = $(MAKE) $(MDEFINES) GSDLHOME="$(GSDLHOME)" clean
[16575]129
[22090]130all: win32.mak unzip $(INDEXERSDIR) $(PACKAGEDIRS) $(COMPILEDIRS) $(INSTALLDIRS) $(JDBMEDIT_DIR)
[16575]131
132install: win32.mak $(INDEXERSDIR) $(INSTALLDIRS)
133
[18309]134unzip:
135 cd "$(COMMONHOME)"
136 cd packages\windows\crypt
137 if NOT EXIST "crypt" unzip crypt.zip
138 cd "$(COMMONHOME)"
[22766]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
[19909]142 cd "$(COMMONHOME)"
143 cd indexers\packages\windows\iconv
144 if NOT EXIST "iconv" unzip iconv.zip
145 cd "$(COMMONHOME)"
[22090]146
[21327]147!IF "$(USE_SQLITE)" == "1"
[19912]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
[21337]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
[22090]151 cd "$(COMMONHOME)"
[21327]152!ENDIF
[18309]153
[22090]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
[16575]160clean:
[16577]161 cd "$(COMMONHOME)"
[16575]162 cd packages\windows\crypt\crypt
163 $(MAKECLEANCMD)
[22090]164!IF EXIST ("packages\gdbm\gdbm-1.8.3")
[16575]165 cd "$(COMMONHOME)"
[18078]166 cd packages\gdbm\gdbm-1.8.3
[16575]167 $(MAKECLEANCMD)
[22090]168!ENDIF
[16575]169 cd "$(COMMONHOME)"
[22817]170!IF EXIST (packages\expat)
[22766]171 cd packages\expat
[16575]172 $(MAKECLEANCMD)
173 cd "$(COMMONHOME)"
[22817]174!ENDIF
[16575]175 cd src\lib
176 $(MAKECLEANCMD)
[22090]177!IF EXIST ("src\gdbmedit")
[16575]178 cd "$(COMMONHOME)"
179 cd src\gdbmedit\txt2db
180 $(MAKECLEANCMD)
181 cd "$(COMMONHOME)"
182 cd src\gdbmedit\db2txt
183 $(MAKECLEANCMD)
184 cd "$(COMMONHOME)"
[18443]185 cd src\gdbmedit\gdbmget
186 $(MAKECLEANCMD)
187 cd "$(COMMONHOME)"
188 cd src\gdbmedit\gdbmset
189 $(MAKECLEANCMD)
190 cd "$(COMMONHOME)"
191 cd src\gdbmedit\gdbmkeys
192 $(MAKECLEANCMD)
193 cd "$(COMMONHOME)"
194 cd src\gdbmedit\gdbmdel
195 $(MAKECLEANCMD)
[22090]196!ENDIF
[19527]197# cd "$(COMMONHOME)"
198# cd src\getpw
199# $(MAKECLEANCMD)
[18443]200 cd "$(COMMONHOME)"
[16575]201 cd indexers
[21471]202 set DEBUG=$(DEBUG)
203 set ENABLE_MG=$(ENABLE_MG)
204 set ENABLE_MGPP=$(ENABLE_MGPP)
205 set ENABLE_LUCENE=$(ENABLE_LUCENE)
[16575]206 call winMake.bat clean
[21471]207 set DEBUG=
208 set ENABLE_MG=
209 set ENABLE_MGPP=
210 set ENABLE_LUCENE=
[16575]211 cd "$(COMMONHOME)"
[17502]212 cd packages\search4j
[19265]213 $(MAKECLEANCMD)
[21338]214!IF EXIST ("$(SQLITE_DIR)")
[17502]215 cd "$(COMMONHOME)"
[19265]216 cd "$(SQLITE_DIR)"
217 $(MAKECLEANCMD)
[21821]218 if exist "$(COMMONHOME)\packages\sqlite\lib\sqlite3.lib" del "$(COMMONHOME)\packages\sqlite\lib\sqlite3.lib"
[19265]219!ENDIF
[22090]220 cd "$(COMMONHOME)"
[16575]221
222$(COMPILEDIRS): FORCE
[16577]223 cd "$(COMMONHOME)"
[16575]224 cd "$@"
225 $(MAKECMD)
226 cd "$(GSDLHOME)"
227
[22090]228!IF "$(INSTALLDIRS)" != ""
[16575]229$(INSTALLDIRS): FORCE
[16577]230 cd "$(COMMONHOME)"
[16575]231 cd "$@"
232 $(MAKECMD)
233 $(MAKECMD) install
234 cd "$(COMMONHOME)"
[22090]235!ENDIF
[16575]236
[21332]237$(SQLITE_DIR): FORCE
[16577]238 cd "$(COMMONHOME)"
[16575]239 cd "$@"
240 $(MAKECMD)
241 $(MAKECMD) install
242 cd "$(COMMONHOME)"
243
[22090]244$(JDBM_DIR): FORCE
245 cd "$(COMMONHOME)\$(JDBM_DIR)\jdbm-1.0"
246 set DEBUG=$(DEBUG)
247 call winMake.bat all
248 call winMake.bat install
249 set DEBUG=
250
251$(JDBMEDIT_DIR): FORCE
252!IF "$(USE_JDBM)" == "1"
253 cd "$(COMMONHOME)"
254 cd "$@"
255 set DEBUG=$(DEBUG)
256 call winMake.bat all
257 call winMake.bat install
258 set DEBUG=
259!ENDIF
260
[16575]261$(INDEXERSDIR): FORCE
[16577]262 cd "$(COMMONHOME)"
[16575]263 cd "$@"
[19527]264 set DEBUG=$(DEBUG)
[21327]265 set ENABLE_MG=$(ENABLE_MG)
266 set ENABLE_MGPP=$(ENABLE_MGPP)
267 set ENABLE_LUCENE=$(ENABLE_LUCENE)
268
[21435]269!IF $(ENABLE_JNI)
[21365]270 call winMake.bat all with-jni
271 call winMake.bat install with-jni
272!ELSE
273 call winMake.bat all without-jni
274 call winMake.bat install without-jni
275!ENDIF
[19909]276
[19527]277 set DEBUG=
[21327]278 set ENABLE_MG=
279 set ENABLE_MGPP=
280 set ENABLE_LUCENE=
[16575]281 if NOT EXIST "$(GSDLHOME)\bin\windows" mkdir "$(GSDLHOME)\bin\windows"
282 if NOT EXIST "$(GSDLHOME)\bin\java" mkdir "$(GSDLHOME)\bin\java"
283 for %%i in (bin\*.exe) do \
[21337]284 if exist %%i copy %%i "$(GSDLHOME)\bin\windows"
[16577]285 if EXIST "lucene-gs\LuceneWrapper.jar" copy "lucene-gs\LuceneWrapper.jar" "$(GSDLHOME)\bin\java"
[22090]286 @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
[16575]287 cd "$(GSDLHOME)"
288
289FORCE:
290
Note: See TracBrowser for help on using the repository browser.