source: gsdl/trunk/runtime-src/src/recpt/win32.mak@ 19820

Last change on this file since 19820 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
RevLine 
[743]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#
[15530]8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
[743]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
[15530]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
36Z3950_DIR = $(RUNTIME_DIR)\src\z3950
[15530]37
[16574]38
[11256]39GSDL_VC4 = 0
[2338]40LOCAL_LIBRARY = 0
[10439]41USE_Z3950 = 0
[19521]42DEBUG = 0
[7060]43DLL = 0
44DLLDEBUG = 0
[12990]45ENABLE_ACCENTFOLD = 1
[18076]46USE_SQLITE = 1
[1000]47
[19521]48!IF $(DEBUG)
49CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
50!ELSE
51CXXFLAGS =
52!ENDIF
[10439]53
[11256]54!IF $(GSDL_VC4)
[19521]55CXXFLAGS = $(CXXFLAGS) -GX
[11256]56!ELSE
[19521]57CXXFLAGS = $(CXXFLAGS) -EHsc
[11256]58!ENDIF
59
[7060]60!IF $(DLL)
[19521]61CXXFLAGS = $(CXXFLAGS) -MD
[7060]62!ELSE
63!IF ($(DLLDEBUG))
[19521]64CXXFLAGS = $(CXXFLAGS) -MDd
[7060]65!ENDIF
66!ENDIF
67
[12990]68!IF $(ENABLE_ACCENTFOLD)
[16908]69ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
[12990]70!ELSE
[15530]71ACCENTFOLD_LIBS =
[12990]72!ENDIF
73
[15785]74!IF $(USE_SQLITE)
[18048]75SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
[15785]76!ELSE
77SQLITE_LIBS =
78!ENDIF
79
[10439]80!IF $(USE_Z3950)
[15545]81Z3950_DEFS = -DUSE_Z3950
82Z3950_INCLUDES = -I$(Z3950_DIR)
[18048]83Z3950_LIBS = $(Z3950_DIR)\gsdlz3950.lib $(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib
[10439]84!ELSE
[15545]85Z3950_DEFS =
86Z3950_INCLUDES =
87Z3950_LIBS =
[10439]88!ENDIF
[2338]89
[15530]90
91AR = lib
92CC = cl
[15785]93DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
94 -DGSDL_NOCACHE $(Z3950_DEFS)
[16574]95INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
[15530]96 -I"$(INDEXERS_DIR)\mg" -I"$(INDEXERS_DIR)\mg\lib" -I"$(INDEXERS_DIR)\mgpp\text" \
[18048]97 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\windows\expat\expat" \
[18077]98 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows" \
99 $(Z3950_INCLUDES)
[15568]100LDFLAGS =
[18048]101LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" \
[18077]102 "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib" $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
[15530]103
104!IF $(GSDL_VC4)
105DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]106INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[15530]107!ENDIF
108!IF $(LOCAL_LIBRARY)
109DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
110!ENDIF
111
112
[19521]113COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[15545]114LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
[743]115
[15530]116
[743]117.SUFFIXES:
118.SUFFIXES: .cpp .obj
119.cpp.obj:
120 $(COMPILE) $<
121
[1000]122
[15530]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 \
[15540]135 configaction.cpp \
[15530]136 converter.cpp \
137 datelistbrowserclass.cpp \
138 depositoraction.cpp \
139 documentaction.cpp \
[15773]140 dynamicclassifieraction.cpp \
[15530]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
[743]167
[15530]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 \
[15540]180 configaction.obj \
[15530]181 converter.obj \
182 datelistbrowserclass.obj \
183 depositoraction.obj \
184 documentaction.obj \
[15773]185 dynamicclassifieraction.obj \
[15530]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
[743]212
[15569]213LIBRARY = gsdlrecpt.lib
214
[15530]215GSDL_LIBS = \
[15538]216 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
217 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
[15535]218 "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
219 "$(INDEXERS_DIR)\mg\lib\libmglib.lib" \
220 "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
[15907]221 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib" \
[16574]222 "$(COMMON_DIR)\src\lib\gsdllib.lib"
[743]223
[15530]224EXECUTABLE_OBJECTS = \
225 $(OBJECTS) \
226 $(GSDL_LIBS)
[743]227
[18612]228EXECUTABLE = library.cgi
[743]229
230
[15569]231# Default target: make gsdlrecpt.lib if LOCAL_LIBRARY is set, otherwise both gsdlrecpt.lib and library.exe
[15542]232!IF $(LOCAL_LIBRARY)
233all: $(LIBRARY)
234!ELSE
[15569]235all: $(LIBRARY) $(EXECUTABLE)
[15542]236!ENDIF
237
[15580]238gsdlrecpt.lib: $(OBJECTS)
239 if EXIST $(LIBRARY) del $(LIBRARY)
240 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
[15542]241
[18612]242library.cgi: $(EXECUTABLE_OBJECTS)
[15530]243 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[743]244
[2338]245!IF $(LOCAL_LIBRARY)
[15569]246install:
[2338]247!ELSE
[15530]248install: $(EXECUTABLE)
[15580]249 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin"
[2338]250!ENDIF
[743]251
[15530]252clean:
253 del *.obj
[15580]254 del $(LIBRARY)
255 del $(EXECUTABLE)
[743]256
[10439]257
[15530]258# Always recompile configaction and statusaction in case GSDL_LOCAL_LIBRARY has changed
[2338]259statusaction.obj: FORCE
[4738]260configaction.obj: FORCE
[743]261
[9129]262FORCE:
Note: See TracBrowser for help on using the repository browser.