source: main/trunk/greenstone2/runtime-src/src/recpt/win32.mak@ 20999

Last change on this file since 20999 was 19521, checked in by ak19, 15 years ago

Dr Bainbridge updated the Windows makefiles to 1. Take the DEBUG flag so that we can recompile all of GS2 in the Vis C++ 2005 Express Edition command prompt and then use its Debugger on the C code. 2. Now GS2 make clean command cleans up all object and lib files that its make generates.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 6.2 KB
Line 
1###########################################################################
2#
3# win32 makefile -- src/recpt
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
36Z3950_DIR = $(RUNTIME_DIR)\src\z3950
37
38
39GSDL_VC4 = 0
40LOCAL_LIBRARY = 0
41USE_Z3950 = 0
42DEBUG = 0
43DLL = 0
44DLLDEBUG = 0
45ENABLE_ACCENTFOLD = 1
46USE_SQLITE = 1
47
48!IF $(DEBUG)
49CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
50!ELSE
51CXXFLAGS =
52!ENDIF
53
54!IF $(GSDL_VC4)
55CXXFLAGS = $(CXXFLAGS) -GX
56!ELSE
57CXXFLAGS = $(CXXFLAGS) -EHsc
58!ENDIF
59
60!IF $(DLL)
61CXXFLAGS = $(CXXFLAGS) -MD
62!ELSE
63!IF ($(DLLDEBUG))
64CXXFLAGS = $(CXXFLAGS) -MDd
65!ENDIF
66!ENDIF
67
68!IF $(ENABLE_ACCENTFOLD)
69ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
70!ELSE
71ACCENTFOLD_LIBS =
72!ENDIF
73
74!IF $(USE_SQLITE)
75SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
76!ELSE
77SQLITE_LIBS =
78!ENDIF
79
80!IF $(USE_Z3950)
81Z3950_DEFS = -DUSE_Z3950
82Z3950_INCLUDES = -I$(Z3950_DIR)
83Z3950_LIBS = $(Z3950_DIR)\gsdlz3950.lib $(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib
84!ELSE
85Z3950_DEFS =
86Z3950_INCLUDES =
87Z3950_LIBS =
88!ENDIF
89
90
91AR = lib
92CC = cl
93DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
94 -DGSDL_NOCACHE $(Z3950_DEFS)
95INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
96 -I"$(INDEXERS_DIR)\mg" -I"$(INDEXERS_DIR)\mg\lib" -I"$(INDEXERS_DIR)\mgpp\text" \
97 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\windows\expat\expat" \
98 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows" \
99 $(Z3950_INCLUDES)
100LDFLAGS =
101LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" \
102 "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib" $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
103
104!IF $(GSDL_VC4)
105DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
106INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
107!ENDIF
108!IF $(LOCAL_LIBRARY)
109DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
110!ENDIF
111
112
113COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
114LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
115
116
117.SUFFIXES:
118.SUFFIXES: .cpp .obj
119.cpp.obj:
120 $(COMPILE) $<
121
122
123SOURCES = \
124 action.cpp \
125 argdb.cpp \
126 authenaction.cpp \
127 browseaction.cpp \
128 browseactiontools.cpp \
129 browserclass.cpp \
130 browsetoolsclass.cpp \
131 cgiargs.cpp \
132 cgiutils.cpp \
133 cgiwrapper.cpp \
134 collectoraction.cpp \
135 configaction.cpp \
136 converter.cpp \
137 datelistbrowserclass.cpp \
138 depositoraction.cpp \
139 documentaction.cpp \
140 dynamicclassifieraction.cpp \
141 extlinkaction.cpp \
142 formattools.cpp \
143 gtiaction.cpp \
144 highlighttext.cpp \
145 historydb.cpp \
146 hlistbrowserclass.cpp \
147 htmlbrowserclass.cpp \
148 htmlutils.cpp \
149 invbrowserclass.cpp \
150 librarymain.cpp \
151 maincfg.cpp \
152 pageaction.cpp \
153 pagedbrowserclass.cpp \
154 phindaction.cpp \
155 phindbrowserclass.cpp \
156 pingaction.cpp \
157 queryaction.cpp \
158 querytools.cpp \
159 receptionist.cpp \
160 statusaction.cpp \
161 summarise.cpp \
162 tipaction.cpp \
163 userdb.cpp \
164 usersaction.cpp \
165 vlistbrowserclass.cpp \
166 wizardaction.cpp
167
168OBJECTS = \
169 action.obj \
170 argdb.obj \
171 authenaction.obj \
172 browseaction.obj \
173 browseactiontools.obj \
174 browserclass.obj \
175 browsetoolsclass.obj \
176 cgiargs.obj \
177 cgiutils.obj \
178 cgiwrapper.obj \
179 collectoraction.obj \
180 configaction.obj \
181 converter.obj \
182 datelistbrowserclass.obj \
183 depositoraction.obj \
184 documentaction.obj \
185 dynamicclassifieraction.obj \
186 extlinkaction.obj \
187 formattools.obj \
188 gtiaction.obj \
189 highlighttext.obj \
190 historydb.obj \
191 hlistbrowserclass.obj \
192 htmlbrowserclass.obj \
193 htmlutils.obj \
194 invbrowserclass.obj \
195 librarymain.obj \
196 maincfg.obj \
197 pageaction.obj \
198 pagedbrowserclass.obj \
199 phindaction.obj \
200 phindbrowserclass.obj \
201 pingaction.obj \
202 queryaction.obj \
203 querytools.obj \
204 receptionist.obj \
205 statusaction.obj \
206 summarise.obj \
207 tipaction.obj \
208 userdb.obj \
209 usersaction.obj \
210 vlistbrowserclass.obj \
211 wizardaction.obj
212
213LIBRARY = gsdlrecpt.lib
214
215GSDL_LIBS = \
216 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
217 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
218 "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
219 "$(INDEXERS_DIR)\mg\lib\libmglib.lib" \
220 "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
221 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib" \
222 "$(COMMON_DIR)\src\lib\gsdllib.lib"
223
224EXECUTABLE_OBJECTS = \
225 $(OBJECTS) \
226 $(GSDL_LIBS)
227
228EXECUTABLE = library.cgi
229
230
231# Default target: make gsdlrecpt.lib if LOCAL_LIBRARY is set, otherwise both gsdlrecpt.lib and library.exe
232!IF $(LOCAL_LIBRARY)
233all: $(LIBRARY)
234!ELSE
235all: $(LIBRARY) $(EXECUTABLE)
236!ENDIF
237
238gsdlrecpt.lib: $(OBJECTS)
239 if EXIST $(LIBRARY) del $(LIBRARY)
240 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
241
242library.cgi: $(EXECUTABLE_OBJECTS)
243 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
244
245!IF $(LOCAL_LIBRARY)
246install:
247!ELSE
248install: $(EXECUTABLE)
249 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin"
250!ENDIF
251
252clean:
253 del *.obj
254 del $(LIBRARY)
255 del $(EXECUTABLE)
256
257
258# Always recompile configaction and statusaction in case GSDL_LOCAL_LIBRARY has changed
259statusaction.obj: FORCE
260configaction.obj: FORCE
261
262FORCE:
Note: See TracBrowser for help on using the repository browser.