source: main/trunk/greenstone2/runtime-src/src/z3950/win32.mak@ 21324

Last change on this file since 21324 was 21324, checked in by ak19, 14 years ago

Changes to makefiles, configure files, and source code to work with the new configure flags that allow indexers to be individually compiled up by setting each indexer to be enabled or disabled (enable-mg, enable-mgpp, enable-lucene)

  • Property svn:executable set to *
File size: 4.7 KB
Line 
1###########################################################################
2#
3# win32 makefile -- src/z3950
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
36
37
38GSDL_VC4 = 0
39DEBUG = 0
40DLL = 0
41DLLDEBUG = 0
42ENABLE_ACCENTFOLD = 1
43USE_SQLITE = 1
44ENABLE_MG = 1
45ENABLE_MGPP = 1
46ENABLE_LUCENE = 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)" == "0"
75SQLITE_LIBS =
76!ELSE
77SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
78!ENDIF
79
80!IF "$(ENABLE_MG)" == "0"
81MG_LIBS =
82!ELSE
83MG_LIBS = "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
84 "$(INDEXERS_DIR)\mg\lib\libmglib.lib"
85!ENDIF
86
87!IF "$(ENABLE_MGPP)" == "0"
88MGPP_LIBS =
89MGPP_INCLUDES =
90!ELSE
91MGPP_LIBS = "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
92 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib"
93MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text"
94!ENDIF
95
96AR = lib
97CC = cl
98DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE
99# Do NOT add the "recpt" directory here: the z39.50 code should be independent of the receptionist!
100INCLUDES = -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
101 $(MGPP_INCLUDES) -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\include" \
102 -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\client" -I"$(PACKAGES_DIR)\d2m" \
103 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
104LDFLAGS =
105LIBS = "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib" \
106 "$(PACKAGES_DIR)\d2m\libd2m.lib" "$(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib" $(ACCENTFOLD_LIBS) \
107 $(SQLITE_LIBS)
108
109!IF $(GSDL_VC4)
110DEFS=$(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
111INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
112!ENDIF
113
114
115COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
116LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
117
118
119.SUFFIXES:
120.SUFFIXES: .c .obj
121.c.obj:
122 $(COMPILE) $<
123
124.SUFFIXES: .cpp .obj
125.cpp.obj:
126 $(COMPILE) $<
127
128
129LIBRARY_SOURCES = \
130 yaz_zclient.c \
131 z3950proto.cpp \
132 z3950proxy.cpp \
133 zparse.tab.c \
134 zparse.yy.c
135
136LIBRARY_OBJECTS = \
137 yaz_zclient.obj \
138 z3950proto.obj \
139 z3950proxy.obj \
140 zparse.tab.obj \
141 zparse.yy.obj
142
143LIBRARY = gsdlz3950.lib
144
145
146SOURCES = \
147 z3950explain.cpp \
148 z3950parser.cpp \
149 z3950server.cpp \
150 z3950_to_gsdl.cpp
151
152OBJECTS = \
153 z3950explain.obj \
154 z3950parser.obj \
155 z3950server.obj \
156 z3950_to_gsdl.obj
157
158GSDL_LIBS = \
159 gsdlz3950.lib \
160 $(PROTOCOL_DIR)\gsdlprotocol.lib \
161 $(COLSERVR_DIR)\gsdlcolservr.lib \
162 $(MG_LIBS) \
163 $(MGPP_LIBS) \
164 $(COMMON_DIR)\src\lib\gsdllib.lib
165
166EXECUTABLE_OBJECTS = \
167 $(OBJECTS) \
168 $(GSDL_LIBS)
169
170EXECUTABLE = z3950server.exe
171
172
173# Default target: make both gsdlz3950.lib and z3950server.exe
174all: $(LIBRARY) $(EXECUTABLE)
175
176gsdlz3950.lib: $(LIBRARY_OBJECTS)
177 if EXIST $(LIBRARY) del $(LIBRARY)
178 $(AR) -nologo /out:$(LIBRARY) $(LIBRARY_OBJECTS) $(PACKAGES_DIR)/yaz/yaz-2.1.4/win/obj/tabcomplete.obj
179
180z3950server.exe: $(EXECUTABLE_OBJECTS)
181 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
182
183install: $(EXECUTABLE)
184 copy $(EXECUTABLE) "$(GSDL_DIR)\bin\windows"
185
186clean:
187 del *.obj
188 del $(LIBRARY)
189 del $(EXECUTABLE)
Note: See TracBrowser for help on using the repository browser.