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

Last change on this file since 18612 was 18612, checked in by davidb, 15 years ago

Change of main library cgi-bin program to library.cgi rather than library (for Unix) and library.exe (for Windows)

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