source: main/trunk/greenstone2/runtime-src/src/oaiservr/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.

  • Property svn:keywords set to Author Date Id Revision
File size: 5.6 KB
RevLine 
[8239]1###########################################################################
2#
[15531]3# win32 makefile -- src/oaiserver
[8239]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#
[15531]8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
[8239]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
[16574]27GSDL_DIR = ..\..\..
28COMMON_DIR = $(GSDL_DIR)\common-src
29RUNTIME_DIR = $(GSDL_DIR)\runtime-src
[15531]30
[16574]31INDEXERS_DIR = $(COMMON_DIR)\indexers
[18048]32COMMON_PACKAGES_DIR = $(COMMON_DIR)\packages
[16574]33PACKAGES_DIR = $(RUNTIME_DIR)\packages
34COLSERVR_DIR = $(RUNTIME_DIR)\src\colservr
35PROTOCOL_DIR = $(RUNTIME_DIR)\src\protocol
36RECPT_DIR = $(RUNTIME_DIR)\src\recpt
[15531]37
[16574]38
[11256]39GSDL_VC4 = 0
[19521]40DEBUG = 0
[15531]41LOCAL_LIBRARY = 0
[8239]42DLL = 0
43DLLDEBUG = 0
[12990]44ENABLE_ACCENTFOLD = 1
[22090]45USE_GDBM = 1
46USE_JDBM = 1
[18076]47USE_SQLITE = 1
[22090]48USE_MSSQL = 0
[21324]49ENABLE_MG = 1
50ENABLE_MGPP = 1
51ENABLE_LUCENE = 1
[8239]52
[19521]53!IF $(DEBUG)
54CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
55!ELSE
56CXXFLAGS =
57!ENDIF
[8239]58
[11256]59!IF $(GSDL_VC4)
[19521]60CXXFLAGS = $(CXXFLAGS) -GX
[11256]61!ELSE
[19521]62CXXFLAGS = $(CXXFLAGS) -EHsc
[11256]63!ENDIF
64
[8239]65!IF $(DLL)
[19521]66CXXFLAGS = $(CXXFLAGS) -MD
[8239]67!ELSE
68!IF ($(DLLDEBUG))
[19521]69CXXFLAGS = $(CXXFLAGS) -MDd
[8239]70!ENDIF
71!ENDIF
72
[15531]73!IF $(ENABLE_ACCENTFOLD)
[16908]74ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
[15531]75!ELSE
76ACCENTFOLD_LIBS =
77!ENDIF
78
[22090]79!IF $(USE_GDBM)
80GDBM_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" \
81 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
82GDBM_LIBS = "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib"
83GDBM_DEFINES = -DUSE_GDBM
84!ELSE
85GDBM_INCLUDES =
86GDBM_LIBS =
87GDBM_DEFINES =
88!ENDIF
89
90!IF $(USE_JDBM)
91JDBM_DEFINES = -DUSE_JDBM
92!ELSE
93JDBM_DEFINES =
94!ENDIF
95
[21435]96!IF $(USE_SQLITE)
97SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
[22090]98SQLITE_DEFINES = -DUSE_SQLITE
[21435]99!ELSE
[21324]100SQLITE_LIBS =
[22090]101SQLITE_DEFINES =
[21324]102!ENDIF
103
[22090]104!IF $(USE_MSSQL)
105MSSQL_DEFINES = -DUSE_MSSQL
106!ELSE
107MSSQL_DEFINES =
108!ENDIF
109
[21435]110!IF $(ENABLE_MG)
[21945]111MG_DEFS = -DENABLE_MG
[21324]112MG_LIBS = "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
113 "$(INDEXERS_DIR)\mg\lib\libmglib.lib"
[21435]114!ELSE
[21945]115MG_DEFS =
[21435]116MG_LIBS =
[15788]117!ENDIF
[15531]118
[21435]119!IF $(ENABLE_MGPP)
[21945]120MGPP_DEFS = -DENABLE_MGPP
[21324]121MGPP_LIBS = "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
122 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib"
123MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text"
[21435]124!ELSE
[21945]125MGPP_DEFS =
[21435]126MGPP_LIBS =
127MGPP_INCLUDES =
[21324]128!ENDIF
[15788]129
[21945]130!IF $(ENABLE_LUCENE)
131LUCENE_DEFS = -DENABLE_LUCENE
132!ELSE
133LUCENE_DEFS=
134!ENDIF
[21324]135
[21945]136
[15531]137AR = lib
138CC = cl
[15788]139DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
[22090]140 -DGSDL_NOCACHE $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
141 $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
[16574]142INCLUDES = -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" -I"$(RECPT_DIR)" \
[21324]143 $(MGPP_INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" \
[22090]144 $(GDBM_INCLUDES) \
[18077]145 -I"$(COMMON_PACKAGES_DIR)\windows\expat\expat"
[15531]146LDFLAGS =
[18048]147LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" \
[22090]148 $(GDBM_LIBS) $(ACCENTFOLD_LIBS) $(SQLITE_LIBS)
[15531]149
[11257]150!IF $(GSDL_VC4)
[8239]151DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]152INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[8239]153!ENDIF
[15531]154!IF $(LOCAL_LIBRARY)
155DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
[12990]156!ENDIF
157
[8239]158
[19521]159COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[15531]160LINK = $(CC) -nologo -Fe"$@"
[8239]161
[15531]162
[8239]163.SUFFIXES:
164.SUFFIXES: .cpp .obj
165.cpp.obj:
166 $(COMPILE) $<
167
168
[15531]169RECPT_OBJECTS = \
[15539]170 "$(RECPT_DIR)\cgiargs.obj" \
171 "$(RECPT_DIR)\cgiutils.obj" \
[15574]172 "$(RECPT_DIR)\htmlutils.obj"
[8239]173
[15531]174SOURCES = \
175 abstractlistaction.cpp \
176 dublincore.cpp \
[18864]177 qualified_dublincore.cpp \
[15844]178 identifyaction.cpp \
[15531]179 listidsaction.cpp \
180 listrecsaction.cpp \
181 listsetsaction.cpp \
182 metaformat.cpp \
183 metaformatsaction.cpp \
184 oaiaction.cpp \
185 oaiargs.cpp \
186 oaiconfig.cpp \
187 oaidispatcher.cpp \
188 oaimain.cpp \
189 oaitools.cpp \
190 recordaction.cpp \
191 resumptiontoken.cpp \
192 rfc1807.cpp
[8239]193
[15531]194OBJECTS = \
195 abstractlistaction.obj \
196 dublincore.obj \
[18864]197 qualified_dublincore.obj \
[15844]198 identifyaction.obj \
[15531]199 listidsaction.obj \
200 listrecsaction.obj \
201 listsetsaction.obj \
202 metaformat.obj \
203 metaformatsaction.obj \
204 oaiaction.obj \
205 oaiargs.obj \
206 oaiconfig.obj \
207 oaidispatcher.obj \
208 oaimain.obj \
209 oaitools.obj \
210 recordaction.obj \
211 resumptiontoken.obj \
212 rfc1807.obj
[8239]213
[15531]214GSDL_LIBS = \
[15539]215 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
216 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
[21324]217 $(MG_LIBS) \
218 $(MGPP_LIBS) \
[16574]219 "$(COMMON_DIR)\src\lib\gsdllib.lib"
[8239]220
[15531]221EXECUTABLE_OBJECTS = \
222 $(OBJECTS) \
223 $(RECPT_OBJECTS) \
224 $(GSDL_LIBS)
[8239]225
[18613]226EXECUTABLE = oaiserver.cgi
[8239]227
228
[21931]229# Default target: compile up .obj files only if LOCAL_LIBRARY is set, otherwise both obj files and oaiserver.cgi
230!IF $(LOCAL_LIBRARY)
231all: $(EXECUTABLE_OBJECTS)
232!ELSE
[15580]233all: $(EXECUTABLE)
[21931]234!ENDIF
[15580]235
[18613]236oaiserver.cgi: $(EXECUTABLE_OBJECTS)
[15531]237 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[8239]238
[21931]239!IF $(LOCAL_LIBRARY)
240install:
241!ELSE
[15531]242install: $(EXECUTABLE)
[15580]243 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin"
[21931]244!ENDIF
[8239]245
246clean:
247 del *.obj
[15580]248 del $(EXECUTABLE)
Note: See TracBrowser for help on using the repository browser.