source: main/trunk/greenstone2/runtime-src/src/w32server/win32.mak@ 27061

Last change on this file since 27061 was 22766, checked in by mdewsnip, 14 years ago

Instead of having two copies of expat in Greenstone (one for Linux and one for Windows), added Windows makefiles into the version in common-src/packages/expat. This means we can remove the Windows-only version in common-src/packages/windows/expat, and also means that expat now works the same as SQLite.

  • Property svn:keywords set to Author Date Id Revision
File size: 6.1 KB
RevLine 
[1237]1###########################################################################
2#
3# win32 makefile -- src/w32server
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 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
[16574]27GSDL_DIR = ..\..\..
28COMMON_DIR = $(GSDL_DIR)\common-src
29RUNTIME_DIR = $(GSDL_DIR)\runtime-src
[15541]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
[16577]35PROTOCOL_DIR = $(RUNTIME_DIR)\src\protocol
[16574]36RECPT_DIR = $(RUNTIME_DIR)\src\recpt
[15541]37
[16574]38
[11256]39GSDL_VC4 = 0
[19521]40DEBUG = 0
[12998]41ENABLE_ACCENTFOLD = 1
[22090]42USE_GDBM = 1
43USE_JDBM = 1
[18076]44USE_SQLITE = 1
[22090]45USE_MSSQL = 0
[21324]46ENABLE_MG = 1
47ENABLE_MGPP = 1
48ENABLE_LUCENE = 1
[1237]49
[19521]50!IF $(DEBUG)
51CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
52LDFLAGS = -DEBUG -Z7 /errorReport:prompt
53!ELSE
54CXXFLAGS =
55LDFLAGS =
56!ENDIF
[11256]57
[19521]58
[11256]59!IF $(GSDL_VC4)
[19521]60CXXFLAGS = $(CXXFLAGS) -GX
[11256]61!ELSE
[19521]62CXXFLAGS = $(CXXFLAGS) -EHsc
[11256]63!ENDIF
64
[12998]65!IF $(ENABLE_ACCENTFOLD)
[16908]66ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
[12998]67!ELSE
[15541]68ACCENTFOLD_LIBS =
[12998]69!ENDIF
70
[22090]71!IF $(USE_GDBM)
72GDBM_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" \
73 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
74GDBM_LIBS = "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib"
75GDBM_DEFINES = -DUSE_GDBM
76!ELSE
77GDBM_INCLUDES =
78GDBM_LIBS =
79GDBM_DEFINES =
80!ENDIF
81
82!IF $(USE_JDBM)
83JDBM_DEFINES = -DUSE_JDBM
84!ELSE
85JDBM_DEFINES =
86!ENDIF
87
[21435]88!IF $(USE_SQLITE)
89SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
[22090]90SQLITE_DEFINES = -DUSE_SQLITE
[21435]91!ELSE
[21324]92SQLITE_LIBS =
[22090]93SQLITE_DEFINES =
[21324]94!ENDIF
95
[22090]96!IF $(USE_MSSQL)
97MSSQL_DEFINES = -DUSE_MSSQL
98!ELSE
99MSSQL_DEFINES =
100!ENDIF
101
[21435]102!IF $(ENABLE_MG)
[21945]103MG_DEFS = -DENABLE_MG
[21324]104MG_LIBS = "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
105 "$(INDEXERS_DIR)\mg\lib\libmglib.lib"
106MG_INCLUDES = -I"$(INDEXERS_DIR)\mg" -I"$(INDEXERS_DIR)\mg\lib" -I"$(INDEXERS_DIR)\mg\src\text"
[21435]107!ELSE
[21945]108MG_DEFS =
[21435]109MG_LIBS =
110MG_INCLUDES =
[15790]111!ENDIF
[1237]112
[21435]113!IF $(ENABLE_MGPP)
[21324]114MGPP_DEFS = -DENABLE_MGPP
115MGPP_LIBS = "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
116 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib"
117MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\lib" -I"$(INDEXERS_DIR)\mgpp\text"
[21435]118!ELSE
119MGPP_DEFS =
120MGPP_LIBS =
121MGPP_INCLUDES =
[21324]122!ENDIF
[15790]123
[21945]124!IF $(ENABLE_LUCENE)
125LUCENE_DEFS = -DENABLE_LUCENE
126!ELSE
127LUCENE_DEFS=
128!ENDIF
129
[15541]130AR = lib
131CC = cl
[21945]132DEFS = -D__WIN32__ -DHAVE_CONFIG_H -D_LITTLE_ENDIAN -DPARADOCNUM -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
[22090]133 $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
[21945]134 $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
[16574]135INCLUDES = -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" -I"$(RECPT_DIR)" \
[22090]136 $(GDBM_INCLUDES) \
[21324]137 -I"$(COLSERVR_DIR)" \
138 $(MG_INCLUDES) \
139 $(MGPP_INCLUDES)
[19521]140
[22766]141LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\expat\lib\libexpat.lib" \
[22090]142 $(GDBM_LIBS) $(ACCENTFOLD_LIBS) $(SQLITE_LIBS)
[15541]143RSC = rc
[2508]144WINLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
145 comdlg32.lib advapi32.lib shell32.lib ole32.lib \
[3056]146 oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
147#wsock32.lib
[2508]148
[15541]149
150!IF $(GSDL_VC4)
151DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]152INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[15541]153!ENDIF
154
155
[19521]156COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[11255]157LINK = $(CC) -nologo $(LDFLAGS) -Fe"$@"
[1237]158
[15541]159
[1237]160.SUFFIXES:
161.SUFFIXES: .cpp .obj
162.cpp.obj:
163 $(COMPILE) $<
164
165
[15541]166SOURCES = \
167 cgiwrapper.cpp \
168 conftools.cpp \
169 d_winsock.cpp \
170 fnord.cpp \
171 httpreq.cpp \
172 httpsend.cpp \
173 httpsrv.cpp \
174 locate.cpp \
175 netio.cpp \
176 parse.cpp \
177 settings.cpp \
178 startbrowser.cpp \
179 wincgiutils.cpp
[1237]180
[15541]181OBJECTS = \
182 cgiwrapper.obj \
183 conftools.obj \
184 d_winsock.obj \
185 fnord.obj \
186 httpreq.obj \
187 httpsend.obj \
188 httpsrv.obj \
189 locate.obj \
190 netio.obj \
191 parse.obj \
192 settings.obj \
193 startbrowser.obj \
194 wincgiutils.obj
[1237]195
[15627]196RESOURCES = \
197 server.res
198
[15541]199GSDL_LIBS = \
200 "$(RECPT_DIR)\gsdlrecpt.lib" \
201 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
202 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
[21324]203 $(MG_LIBS) \
204 $(MGPP_LIBS) \
[16574]205 "$(COMMON_DIR)\src\lib\gsdllib.lib"
[1237]206
[15541]207EXECUTABLE_OBJECTS = \
208 $(OBJECTS) \
[15627]209 $(RESOURCES) \
[15541]210 $(GSDL_LIBS)
[1237]211
[15541]212EXECUTABLE = server.exe
[1237]213
[15541]214
[15580]215# Default target: make the local library executable
216all: $(EXECUTABLE)
217
[15541]218server.exe: $(EXECUTABLE_OBJECTS)
219 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS) $(WINLIBS)
[1237]220install:
[15541]221 copy $(EXECUTABLE) "$(GSDL_DIR)"
[1237]222
[15541]223clean:
224 del *.obj
225 del $(EXECUTABLE)
[19521]226 if exist *.pdb del *.pdb
[1237]227
[15627]228# Resources stuff
[16574]229SOURCE = "$(RUNTIME_DIR)\src\w32server\newgsdl.bmp"
230SOURCE = "$(RUNTIME_DIR)\src\w32server\resource.h"
231SOURCE = "$(RUNTIME_DIR)\src\w32server\server.ico"
232SOURCE = "$(RUNTIME_DIR)\src\w32server\gsdlcol.bmp"
233SOURCE = "$(RUNTIME_DIR)\src\w32server\server.rc"
[1237]234DEP_RSC_SERVE=\
[16574]235 "$(RUNTIME_DIR)\src\w32server\gsdlcol.bmp"\
236 "$(RUNTIME_DIR)\src\w32server\newgsdl.bmp"\
237 "$(RUNTIME_DIR)\src\w32server\server.ico"
[1237]238
[16574]239server.res : $(SOURCE) $(DEP_RSC_SERVE) "$(RUNTIME_DIR)\src\w32server"
240 $(RSC) /l 0x409 /fo"$(RUNTIME_DIR)\src\w32server\server.res" /i "$(RUNTIME_DIR)\src\w32server" \
[16889]241 /i "$(VCINSTALLDIR)/include/mfc" /d "NDEBUG" $(SOURCE)
[1237]242
[16574]243"$(RUNTIME_DIR)\src\w32server\server.res" : $(SOURCE) $(DEP_RSC_SERVE) "$(RUNTIME_DIR)\src\w32server"
244 $(RSC) /l 0x409 /fo"$(RUNTIME_DIR)\src\w32server\server.res" /i "$(RUNTIME_DIR)\src\w32server" \
[1237]245 /d "NDEBUG" $(SOURCE)
Note: See TracBrowser for help on using the repository browser.