source: main/trunk/greenstone2/runtime-src/src/oaiservr/win32.mak@ 27220

Last change on this file since 27220 was 25178, checked in by sjm84, 12 years ago

Fixed two Windows makefiles

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